From d4dfa63e6c324430ad2cac4fabb73a95858b2573 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Fri, 25 May 2018 10:43:01 -0700 Subject: gpu: nvgpu: Combine variants of init_mm_setup_hw gp10b and gk20a variants of init_mm_setup_hw were essentially the same. Delete the gp10b version and use gk20a variant instead. gv11b variant now also inherits gk20a variant. JIRA NVGPU-588 Change-Id: I842516a1c0be68562ad0ece6e1837a1416d24957 Signed-off-by: Terje Bergstrom Reviewed-on: https://git-master.nvidia.com/r/1730897 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gp106/hal_gp106.c | 2 +- drivers/gpu/nvgpu/gp10b/hal_gp10b.c | 2 +- drivers/gpu/nvgpu/gp10b/mm_gp10b.c | 31 ------------------------------- drivers/gpu/nvgpu/gp10b/mm_gp10b.h | 1 - drivers/gpu/nvgpu/gv11b/mm_gv11b.c | 10 +--------- 5 files changed, 3 insertions(+), 43 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c index f35abac7..67a7968a 100644 --- a/drivers/gpu/nvgpu/gp106/hal_gp106.c +++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c @@ -578,7 +578,7 @@ static const struct gpu_ops gp106_ops = { .gpu_phys_addr = gm20b_gpu_phys_addr, .get_mmu_levels = gp10b_mm_get_mmu_levels, .init_pdb = gp10b_mm_init_pdb, - .init_mm_setup_hw = gp10b_init_mm_setup_hw, + .init_mm_setup_hw = gk20a_init_mm_setup_hw, .is_bar1_supported = gm20b_mm_is_bar1_supported, .alloc_inst_block = gk20a_alloc_inst_block, .init_inst_block = gk20a_init_inst_block, diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c index 8cd2a582..d966f49a 100644 --- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c @@ -549,7 +549,7 @@ static const struct gpu_ops gp10b_ops = { .get_iommu_bit = gp10b_mm_get_iommu_bit, .get_mmu_levels = gp10b_mm_get_mmu_levels, .init_pdb = gp10b_mm_init_pdb, - .init_mm_setup_hw = gp10b_init_mm_setup_hw, + .init_mm_setup_hw = gk20a_init_mm_setup_hw, .is_bar1_supported = gm20b_mm_is_bar1_supported, .alloc_inst_block = gk20a_alloc_inst_block, .init_inst_block = gk20a_init_inst_block, diff --git a/drivers/gpu/nvgpu/gp10b/mm_gp10b.c b/drivers/gpu/nvgpu/gp10b/mm_gp10b.c index 50c96f36..54772d42 100644 --- a/drivers/gpu/nvgpu/gp10b/mm_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/mm_gp10b.c @@ -46,37 +46,6 @@ u32 gp10b_mm_get_iommu_bit(struct gk20a *g) return 36; } -int gp10b_init_mm_setup_hw(struct gk20a *g) -{ - struct mm_gk20a *mm = &g->mm; - struct nvgpu_mem *inst_block = &mm->bar1.inst_block; - int err = 0; - - nvgpu_log_fn(g, " "); - - g->ops.fb.set_mmu_page_size(g); - - gk20a_writel(g, fb_niso_flush_sysmem_addr_r(), - nvgpu_mem_get_addr(g, &g->mm.sysmem_flush) >> 8ULL); - - g->ops.bus.bar1_bind(g, inst_block); - - if (g->ops.bus.bar2_bind) { - err = g->ops.bus.bar2_bind(g, &g->mm.bar2.inst_block); - if (err) - return err; - } - - if (gk20a_mm_fb_flush(g) || gk20a_mm_fb_flush(g)) - return -EBUSY; - - err = gp10b_replayable_pagefault_buffer_init(g); - - nvgpu_log_fn(g, "done"); - return err; - -} - int gp10b_init_bar2_vm(struct gk20a *g) { int err; diff --git a/drivers/gpu/nvgpu/gp10b/mm_gp10b.h b/drivers/gpu/nvgpu/gp10b/mm_gp10b.h index 4f37aae6..cf84f7cf 100644 --- a/drivers/gpu/nvgpu/gp10b/mm_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/mm_gp10b.h @@ -30,7 +30,6 @@ struct vm_gk20a; u32 gp10b_mm_get_default_big_page_size(void); u32 gp10b_mm_get_iommu_bit(struct gk20a *g); -int gp10b_init_mm_setup_hw(struct gk20a *g); int gp10b_init_bar2_vm(struct gk20a *g); const struct gk20a_mmu_level *gp10b_mm_get_mmu_levels(struct gk20a *g, u32 big_page_size); diff --git a/drivers/gpu/nvgpu/gv11b/mm_gv11b.c b/drivers/gpu/nvgpu/gv11b/mm_gv11b.c index 6c38365c..e1d90829 100644 --- a/drivers/gpu/nvgpu/gv11b/mm_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/mm_gv11b.c @@ -232,15 +232,7 @@ int gv11b_init_mm_setup_hw(struct gk20a *g) nvgpu_log_fn(g, " "); - g->ops.fb.set_mmu_page_size(g); - g->ops.fb.init_hw(g); - - err = g->ops.bus.bar2_bind(g, &g->mm.bar2.inst_block); - if (err) - return err; - - if (gk20a_mm_fb_flush(g) || gk20a_mm_fb_flush(g)) - return -EBUSY; + err = gk20a_init_mm_setup_hw(g); err = gv11b_mm_mmu_fault_setup_sw(g); if (!err) -- cgit v1.2.2