From 39e8bff2fc02b4037dc925076e5f42f6519101eb Mon Sep 17 00:00:00 2001 From: Aingara Paramakuru Date: Thu, 27 Aug 2015 13:53:47 -0400 Subject: gpu: nvgpu: vgpu: T18x support Add vgpu framework and build for T18x. Bug 1677153 JIRA VFND-693 Change-Id: Icf9fd8e0b5769228aee59c54f9b000b992e5fcca Signed-off-by: Aingara Paramakuru Reviewed-on: http://git-master/r/792559 Reviewed-on: http://git-master/r/806178 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/vgpu/mm_vgpu.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/vgpu/mm_vgpu.c') diff --git a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c index 2b23c4e6..b5846043 100644 --- a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c @@ -53,9 +53,18 @@ static int vgpu_init_mm_setup_sw(struct gk20a *g) int vgpu_init_mm_support(struct gk20a *g) { + int err; + gk20a_dbg_fn(""); - return vgpu_init_mm_setup_sw(g); + err = vgpu_init_mm_setup_sw(g); + if (err) + return err; + + if (g->ops.mm.init_mm_setup_hw) + err = g->ops.mm.init_mm_setup_hw(g); + + return err; } static u64 vgpu_locked_gmmu_map(struct vm_gk20a *vm, @@ -275,7 +284,7 @@ static int vgpu_vm_alloc_share(struct gk20a_as_share *as_share, for (i = 0; i < gmmu_nr_page_sizes; i++) vm->gmmu_page_sizes[i] = gmmu_page_sizes[i]; - vm->big_pages = true; + vm->big_pages = !mm->disable_bigpage; vm->big_page_size = big_page_size; vm->va_start = big_page_size << 10; /* create a one pde hole */ @@ -450,4 +459,5 @@ void vgpu_init_mm_ops(struct gpu_ops *gops) gops->mm.tlb_invalidate = vgpu_mm_tlb_invalidate; gops->mm.get_physical_addr_bits = gk20a_mm_get_physical_addr_bits; gops->mm.get_iova_addr = gk20a_mm_iova_addr; + gops->mm.init_mm_setup_hw = NULL; } -- cgit v1.2.2