summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2018-05-25 13:43:01 -0400
committerTejal Kudav <tkudav@nvidia.com>2018-06-14 09:44:07 -0400
commitd4dfa63e6c324430ad2cac4fabb73a95858b2573 (patch)
tree1a4816e148827901ac1d23a6fbdf2729d1633469 /drivers/gpu/nvgpu/gp10b
parent27694ca572c4d7698b107c6713f0f0604b41c186 (diff)
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 <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1730897 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b')
-rw-r--r--drivers/gpu/nvgpu/gp10b/hal_gp10b.c2
-rw-r--r--drivers/gpu/nvgpu/gp10b/mm_gp10b.c31
-rw-r--r--drivers/gpu/nvgpu/gp10b/mm_gp10b.h1
3 files changed, 1 insertions, 33 deletions
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 = {
549 .get_iommu_bit = gp10b_mm_get_iommu_bit, 549 .get_iommu_bit = gp10b_mm_get_iommu_bit,
550 .get_mmu_levels = gp10b_mm_get_mmu_levels, 550 .get_mmu_levels = gp10b_mm_get_mmu_levels,
551 .init_pdb = gp10b_mm_init_pdb, 551 .init_pdb = gp10b_mm_init_pdb,
552 .init_mm_setup_hw = gp10b_init_mm_setup_hw, 552 .init_mm_setup_hw = gk20a_init_mm_setup_hw,
553 .is_bar1_supported = gm20b_mm_is_bar1_supported, 553 .is_bar1_supported = gm20b_mm_is_bar1_supported,
554 .alloc_inst_block = gk20a_alloc_inst_block, 554 .alloc_inst_block = gk20a_alloc_inst_block,
555 .init_inst_block = gk20a_init_inst_block, 555 .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)
46 return 36; 46 return 36;
47} 47}
48 48
49int gp10b_init_mm_setup_hw(struct gk20a *g)
50{
51 struct mm_gk20a *mm = &g->mm;
52 struct nvgpu_mem *inst_block = &mm->bar1.inst_block;
53 int err = 0;
54
55 nvgpu_log_fn(g, " ");
56
57 g->ops.fb.set_mmu_page_size(g);
58
59 gk20a_writel(g, fb_niso_flush_sysmem_addr_r(),
60 nvgpu_mem_get_addr(g, &g->mm.sysmem_flush) >> 8ULL);
61
62 g->ops.bus.bar1_bind(g, inst_block);
63
64 if (g->ops.bus.bar2_bind) {
65 err = g->ops.bus.bar2_bind(g, &g->mm.bar2.inst_block);
66 if (err)
67 return err;
68 }
69
70 if (gk20a_mm_fb_flush(g) || gk20a_mm_fb_flush(g))
71 return -EBUSY;
72
73 err = gp10b_replayable_pagefault_buffer_init(g);
74
75 nvgpu_log_fn(g, "done");
76 return err;
77
78}
79
80int gp10b_init_bar2_vm(struct gk20a *g) 49int gp10b_init_bar2_vm(struct gk20a *g)
81{ 50{
82 int err; 51 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;
30 30
31u32 gp10b_mm_get_default_big_page_size(void); 31u32 gp10b_mm_get_default_big_page_size(void);
32u32 gp10b_mm_get_iommu_bit(struct gk20a *g); 32u32 gp10b_mm_get_iommu_bit(struct gk20a *g);
33int gp10b_init_mm_setup_hw(struct gk20a *g);
34int gp10b_init_bar2_vm(struct gk20a *g); 33int gp10b_init_bar2_vm(struct gk20a *g);
35const struct gk20a_mmu_level *gp10b_mm_get_mmu_levels(struct gk20a *g, 34const struct gk20a_mmu_level *gp10b_mm_get_mmu_levels(struct gk20a *g,
36 u32 big_page_size); 35 u32 big_page_size);