summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 4b06ff3c..859e46fc 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -325,7 +325,7 @@ static int gk20a_init_mm_reset_enable_hw(struct gk20a *g)
325 return 0; 325 return 0;
326} 326}
327 327
328static void gk20a_remove_vm(struct vm_gk20a *vm, struct mem_desc *inst_block) 328void gk20a_remove_vm(struct vm_gk20a *vm, struct mem_desc *inst_block)
329{ 329{
330 struct gk20a *g = vm->mm->g; 330 struct gk20a *g = vm->mm->g;
331 331
@@ -337,6 +337,10 @@ static void gk20a_remove_vm(struct vm_gk20a *vm, struct mem_desc *inst_block)
337 337
338static void gk20a_remove_mm_support(struct mm_gk20a *mm) 338static void gk20a_remove_mm_support(struct mm_gk20a *mm)
339{ 339{
340 struct gk20a *g = gk20a_from_mm(mm);
341
342 if (g->ops.mm.remove_bar2_vm)
343 g->ops.mm.remove_bar2_vm(g);
340 gk20a_remove_vm(&mm->bar1.vm, &mm->bar1.inst_block); 344 gk20a_remove_vm(&mm->bar1.vm, &mm->bar1.inst_block);
341 gk20a_remove_vm(&mm->pmu.vm, &mm->pmu.inst_block); 345 gk20a_remove_vm(&mm->pmu.vm, &mm->pmu.inst_block);
342 gk20a_free_inst_block(gk20a_from_mm(mm), &mm->hwpm.inst_block); 346 gk20a_free_inst_block(gk20a_from_mm(mm), &mm->hwpm.inst_block);