From 35e3018be12b56ecfa8487ba479cb2df38c6fbf3 Mon Sep 17 00:00:00 2001 From: Seshendra Gadagottu Date: Thu, 8 Oct 2015 10:12:46 -0700 Subject: gpu: nvgpu: gp10b: support to remove bar2 vm Implement function to support bar2 vm clean-up. Signed-off-by: Seshendra Gadagottu Reviewed-on: http://git-master/r/814573 Change-Id: If5d884e4e1ed87bec6284719d90e9e1963c69bed Signed-off-by: Seshendra Gadagottu Reviewed-on: http://git-master/r/815428 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gp10b/mm_gp10b.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'drivers') 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) ram_in_page_dir_base_hi_f(pdb_addr_hi)); } +static void gp10b_remove_bar2_vm(struct gk20a *g) +{ + struct mm_gk20a *mm = &g->mm; + + gp10b_replayable_pagefault_buffer_deinit(g); + gk20a_remove_vm(&mm->bar2.vm, &mm->bar2.inst_block); +} + + void gp10b_init_mm(struct gpu_ops *gops) { gm20b_init_mm(gops); @@ -378,4 +387,5 @@ void gp10b_init_mm(struct gpu_ops *gops) gops->mm.get_iova_addr = gp10b_mm_iova_addr; gops->mm.get_mmu_levels = gp10b_mm_get_mmu_levels; gops->mm.init_pdb = gp10b_mm_init_pdb; + gops->mm.remove_bar2_vm = gp10b_remove_bar2_vm; } -- cgit v1.2.2