diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fb_gk20a.c | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/fb_gm20b.c | 6 |
4 files changed, 15 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fb_gk20a.c b/drivers/gpu/nvgpu/gk20a/fb_gk20a.c index b73be02a..35551939 100644 --- a/drivers/gpu/nvgpu/gk20a/fb_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fb_gk20a.c | |||
@@ -55,11 +55,17 @@ static int gk20a_fb_compression_page_size(struct gk20a *g) | |||
55 | return SZ_128K; | 55 | return SZ_128K; |
56 | } | 56 | } |
57 | 57 | ||
58 | static int gk20a_fb_compressible_page_size(struct gk20a *g) | ||
59 | { | ||
60 | return SZ_64K; | ||
61 | } | ||
62 | |||
58 | void gk20a_init_fb(struct gpu_ops *gops) | 63 | void gk20a_init_fb(struct gpu_ops *gops) |
59 | { | 64 | { |
60 | gops->fb.reset = fb_gk20a_reset; | 65 | gops->fb.reset = fb_gk20a_reset; |
61 | gops->fb.set_mmu_page_size = gk20a_fb_set_mmu_page_size; | 66 | gops->fb.set_mmu_page_size = gk20a_fb_set_mmu_page_size; |
62 | gops->fb.compression_page_size = gk20a_fb_compression_page_size; | 67 | gops->fb.compression_page_size = gk20a_fb_compression_page_size; |
68 | gops->fb.compressible_page_size = gk20a_fb_compressible_page_size; | ||
63 | gk20a_init_uncompressed_kind_map(); | 69 | gk20a_init_uncompressed_kind_map(); |
64 | gk20a_init_kind_attr(); | 70 | gk20a_init_kind_attr(); |
65 | } | 71 | } |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 19c9e786..2b905dcc 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -182,6 +182,7 @@ struct gpu_ops { | |||
182 | void (*init_kind_attr)(struct gk20a *g); | 182 | void (*init_kind_attr)(struct gk20a *g); |
183 | void (*set_mmu_page_size)(struct gk20a *g); | 183 | void (*set_mmu_page_size)(struct gk20a *g); |
184 | int (*compression_page_size)(struct gk20a *g); | 184 | int (*compression_page_size)(struct gk20a *g); |
185 | int (*compressible_page_size)(struct gk20a *g); | ||
185 | void (*dump_vpr_wpr_info)(struct gk20a *g); | 186 | void (*dump_vpr_wpr_info)(struct gk20a *g); |
186 | } fb; | 187 | } fb; |
187 | struct { | 188 | struct { |
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index 8ed9d0aa..d8dacad8 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |||
@@ -1001,8 +1001,8 @@ static int setup_buffer_kind_and_compression(struct vm_gk20a *vm, | |||
1001 | } | 1001 | } |
1002 | } | 1002 | } |
1003 | /* comptags only supported for suitable kinds, 128KB pagesize */ | 1003 | /* comptags only supported for suitable kinds, 128KB pagesize */ |
1004 | if (unlikely(kind_compressible && | 1004 | if (kind_compressible && |
1005 | (vm->gmmu_page_sizes[pgsz_idx] != vm->big_page_size))) { | 1005 | vm->gmmu_page_sizes[pgsz_idx] < g->ops.fb.compressible_page_size(g)) { |
1006 | /* | 1006 | /* |
1007 | gk20a_warn(d, "comptags specified" | 1007 | gk20a_warn(d, "comptags specified" |
1008 | " but pagesize being used doesn't support it");*/ | 1008 | " but pagesize being used doesn't support it");*/ |
diff --git a/drivers/gpu/nvgpu/gm20b/fb_gm20b.c b/drivers/gpu/nvgpu/gm20b/fb_gm20b.c index 666d27e9..746ed42f 100644 --- a/drivers/gpu/nvgpu/gm20b/fb_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/fb_gm20b.c | |||
@@ -95,6 +95,11 @@ static int gm20b_fb_compression_page_size(struct gk20a *g) | |||
95 | return SZ_128K; | 95 | return SZ_128K; |
96 | } | 96 | } |
97 | 97 | ||
98 | static int gm20b_fb_compressible_page_size(struct gk20a *g) | ||
99 | { | ||
100 | return SZ_64K; | ||
101 | } | ||
102 | |||
98 | static void gm20b_fb_dump_vpr_wpr_info(struct gk20a *g) | 103 | static void gm20b_fb_dump_vpr_wpr_info(struct gk20a *g) |
99 | { | 104 | { |
100 | u32 val; | 105 | u32 val; |
@@ -129,6 +134,7 @@ void gm20b_init_fb(struct gpu_ops *gops) | |||
129 | gops->fb.init_fs_state = fb_gm20b_init_fs_state; | 134 | gops->fb.init_fs_state = fb_gm20b_init_fs_state; |
130 | gops->fb.set_mmu_page_size = gm20b_fb_set_mmu_page_size; | 135 | gops->fb.set_mmu_page_size = gm20b_fb_set_mmu_page_size; |
131 | gops->fb.compression_page_size = gm20b_fb_compression_page_size; | 136 | gops->fb.compression_page_size = gm20b_fb_compression_page_size; |
137 | gops->fb.compressible_page_size = gm20b_fb_compressible_page_size; | ||
132 | gops->fb.dump_vpr_wpr_info = gm20b_fb_dump_vpr_wpr_info; | 138 | gops->fb.dump_vpr_wpr_info = gm20b_fb_dump_vpr_wpr_info; |
133 | gm20b_init_uncompressed_kind_map(); | 139 | gm20b_init_uncompressed_kind_map(); |
134 | gm20b_init_kind_attr(); | 140 | gm20b_init_kind_attr(); |