summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2015-10-08 13:12:46 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:09 -0500
commit35e3018be12b56ecfa8487ba479cb2df38c6fbf3 (patch)
tree67b58b8e370d418dea56c2aa231cb9c03e73b728 /drivers
parent242623a0a8115a823cb386b0a04b9be2e253bf0a (diff)
gpu: nvgpu: gp10b: support to remove bar2 vm
Implement function to support bar2 vm clean-up. Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/814573 Change-Id: If5d884e4e1ed87bec6284719d90e9e1963c69bed Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/815428 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gp10b/mm_gp10b.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/mm_gp10b.c b/drivers/gpu/nvgpu/gp10b/mm_gp10b.c
index ae9c5c7e..d3297e31 100644
--- a/drivers/gpu/nvgpu/gp10b/mm_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/mm_gp10b.c
@@ -368,6 +368,15 @@ static void gp10b_mm_init_pdb(struct gk20a *g, void *inst_ptr, u64 pdb_addr)
368 ram_in_page_dir_base_hi_f(pdb_addr_hi)); 368 ram_in_page_dir_base_hi_f(pdb_addr_hi));
369} 369}
370 370
371static void gp10b_remove_bar2_vm(struct gk20a *g)
372{
373 struct mm_gk20a *mm = &g->mm;
374
375 gp10b_replayable_pagefault_buffer_deinit(g);
376 gk20a_remove_vm(&mm->bar2.vm, &mm->bar2.inst_block);
377}
378
379
371void gp10b_init_mm(struct gpu_ops *gops) 380void gp10b_init_mm(struct gpu_ops *gops)
372{ 381{
373 gm20b_init_mm(gops); 382 gm20b_init_mm(gops);
@@ -378,4 +387,5 @@ void gp10b_init_mm(struct gpu_ops *gops)
378 gops->mm.get_iova_addr = gp10b_mm_iova_addr; 387 gops->mm.get_iova_addr = gp10b_mm_iova_addr;
379 gops->mm.get_mmu_levels = gp10b_mm_get_mmu_levels; 388 gops->mm.get_mmu_levels = gp10b_mm_get_mmu_levels;
380 gops->mm.init_pdb = gp10b_mm_init_pdb; 389 gops->mm.init_pdb = gp10b_mm_init_pdb;
390 gops->mm.remove_bar2_vm = gp10b_remove_bar2_vm;
381} 391}