diff options
author | Seshendra Gadagottu <sgadagottu@nvidia.com> | 2015-10-08 13:09:37 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-10-12 21:22:12 -0400 |
commit | 5b7b59714a6f6ea34295e4827eca68f496f5df18 (patch) | |
tree | abcd49abe842589e214b44c467a3baed181bf387 /drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |
parent | 1cf6539990dccd4c7a94154cd75d4c257ed39f37 (diff) |
gpu: nvgpu: add support to remove bar2 mm
Adding support to remove bar2 mm on gpu module
remove.
Change-Id: Id5f680b1abf7056da9871d5460d9fbc40422673e
Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: http://git-master/r/814571
(cherry picked from commit e7c6c87dd6b0893d26a9a3b4568121a691e1eb3c)
Reviewed-on: http://git-master/r/815429
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 6 |
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 | ||
328 | static void gk20a_remove_vm(struct vm_gk20a *vm, struct mem_desc *inst_block) | 328 | void 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 | ||
338 | static void gk20a_remove_mm_support(struct mm_gk20a *mm) | 338 | static 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); |