diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/driver_common.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/mm/mm.c | 12 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 2 |
5 files changed, 15 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/driver_common.c b/drivers/gpu/nvgpu/common/linux/driver_common.c index 51ae18a3..4de0658b 100644 --- a/drivers/gpu/nvgpu/common/linux/driver_common.c +++ b/drivers/gpu/nvgpu/common/linux/driver_common.c | |||
@@ -145,6 +145,7 @@ static void nvgpu_init_pm_vars(struct gk20a *g) | |||
145 | g->aggressive_sync_destroy = platform->aggressive_sync_destroy; | 145 | g->aggressive_sync_destroy = platform->aggressive_sync_destroy; |
146 | g->aggressive_sync_destroy_thresh = platform->aggressive_sync_destroy_thresh; | 146 | g->aggressive_sync_destroy_thresh = platform->aggressive_sync_destroy_thresh; |
147 | g->has_syncpoints = platform->has_syncpoints; | 147 | g->has_syncpoints = platform->has_syncpoints; |
148 | g->has_cde = platform->has_cde; | ||
148 | g->ptimer_src_freq = platform->ptimer_src_freq; | 149 | g->ptimer_src_freq = platform->ptimer_src_freq; |
149 | g->support_pmu = support_gk20a_pmu(dev_from_gk20a(g)); | 150 | g->support_pmu = support_gk20a_pmu(dev_from_gk20a(g)); |
150 | g->can_railgate = platform->can_railgate_init; | 151 | g->can_railgate = platform->can_railgate_init; |
diff --git a/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c b/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c index 0eb39406..78461b5d 100644 --- a/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c +++ b/drivers/gpu/nvgpu/common/linux/platform_gv11b_tegra.c | |||
@@ -188,6 +188,9 @@ static int gv11b_tegra_suspend(struct device *dev) | |||
188 | struct gk20a_platform t19x_gpu_tegra_platform = { | 188 | struct gk20a_platform t19x_gpu_tegra_platform = { |
189 | .has_syncpoints = true, | 189 | .has_syncpoints = true, |
190 | 190 | ||
191 | /* no cde. use sysmem compression */ | ||
192 | .has_cde = false, | ||
193 | |||
191 | /* power management configuration */ | 194 | /* power management configuration */ |
192 | 195 | ||
193 | /* ptimer src frequency in hz*/ | 196 | /* ptimer src frequency in hz*/ |
diff --git a/drivers/gpu/nvgpu/common/mm/mm.c b/drivers/gpu/nvgpu/common/mm/mm.c index db87c4c4..54bc17dd 100644 --- a/drivers/gpu/nvgpu/common/mm/mm.c +++ b/drivers/gpu/nvgpu/common/mm/mm.c | |||
@@ -163,7 +163,9 @@ static void nvgpu_remove_mm_support(struct mm_gk20a *mm) | |||
163 | nvgpu_free_inst_block(g, &mm->pmu.inst_block); | 163 | nvgpu_free_inst_block(g, &mm->pmu.inst_block); |
164 | nvgpu_free_inst_block(g, &mm->hwpm.inst_block); | 164 | nvgpu_free_inst_block(g, &mm->hwpm.inst_block); |
165 | nvgpu_vm_put(mm->pmu.vm); | 165 | nvgpu_vm_put(mm->pmu.vm); |
166 | nvgpu_vm_put(mm->cde.vm); | 166 | |
167 | if (g->has_cde) | ||
168 | nvgpu_vm_put(mm->cde.vm); | ||
167 | 169 | ||
168 | nvgpu_semaphore_sea_destroy(g); | 170 | nvgpu_semaphore_sea_destroy(g); |
169 | nvgpu_vidmem_destroy(g); | 171 | nvgpu_vidmem_destroy(g); |
@@ -389,9 +391,11 @@ static int nvgpu_init_mm_setup_sw(struct gk20a *g) | |||
389 | if (err) | 391 | if (err) |
390 | return err; | 392 | return err; |
391 | 393 | ||
392 | err = nvgpu_init_cde_vm(mm); | 394 | if (g->has_cde) { |
393 | if (err) | 395 | err = nvgpu_init_cde_vm(mm); |
394 | return err; | 396 | if (err) |
397 | return err; | ||
398 | } | ||
395 | 399 | ||
396 | err = nvgpu_init_ce_vm(mm); | 400 | err = nvgpu_init_ce_vm(mm); |
397 | if (err) | 401 | if (err) |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index f1dc2f03..ebe29bc3 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -1208,6 +1208,8 @@ struct gk20a { | |||
1208 | 1208 | ||
1209 | bool is_virtual; | 1209 | bool is_virtual; |
1210 | 1210 | ||
1211 | bool has_cde; | ||
1212 | |||
1211 | u32 emc3d_ratio; | 1213 | u32 emc3d_ratio; |
1212 | 1214 | ||
1213 | struct nvgpu_spinlock ltc_enabled_lock; | 1215 | struct nvgpu_spinlock ltc_enabled_lock; |
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index 193f6e83..83bd7612 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -302,7 +302,7 @@ static const struct gpu_ops gv11b_ops = { | |||
302 | .wait_empty = gr_gv11b_wait_empty, | 302 | .wait_empty = gr_gv11b_wait_empty, |
303 | .init_cyclestats = gr_gm20b_init_cyclestats, | 303 | .init_cyclestats = gr_gm20b_init_cyclestats, |
304 | .set_sm_debug_mode = gv11b_gr_set_sm_debug_mode, | 304 | .set_sm_debug_mode = gv11b_gr_set_sm_debug_mode, |
305 | .enable_cde_in_fecs = gr_gm20b_enable_cde_in_fecs, | 305 | .enable_cde_in_fecs = NULL, |
306 | .bpt_reg_info = gv11b_gr_bpt_reg_info, | 306 | .bpt_reg_info = gv11b_gr_bpt_reg_info, |
307 | .get_access_map = gr_gv11b_get_access_map, | 307 | .get_access_map = gr_gv11b_get_access_map, |
308 | .handle_fecs_error = gr_gv11b_handle_fecs_error, | 308 | .handle_fecs_error = gr_gv11b_handle_fecs_error, |