diff options
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hal_gp106.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hal_gp10b.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/mm_gp10b.c | 31 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/mm_gp10b.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/mm_gv11b.c | 10 |
5 files changed, 3 insertions, 43 deletions
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 = { | |||
578 | .gpu_phys_addr = gm20b_gpu_phys_addr, | 578 | .gpu_phys_addr = gm20b_gpu_phys_addr, |
579 | .get_mmu_levels = gp10b_mm_get_mmu_levels, | 579 | .get_mmu_levels = gp10b_mm_get_mmu_levels, |
580 | .init_pdb = gp10b_mm_init_pdb, | 580 | .init_pdb = gp10b_mm_init_pdb, |
581 | .init_mm_setup_hw = gp10b_init_mm_setup_hw, | 581 | .init_mm_setup_hw = gk20a_init_mm_setup_hw, |
582 | .is_bar1_supported = gm20b_mm_is_bar1_supported, | 582 | .is_bar1_supported = gm20b_mm_is_bar1_supported, |
583 | .alloc_inst_block = gk20a_alloc_inst_block, | 583 | .alloc_inst_block = gk20a_alloc_inst_block, |
584 | .init_inst_block = gk20a_init_inst_block, | 584 | .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 = { | |||
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 | ||
49 | int 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 | |||
80 | int gp10b_init_bar2_vm(struct gk20a *g) | 49 | int 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 | ||
31 | u32 gp10b_mm_get_default_big_page_size(void); | 31 | u32 gp10b_mm_get_default_big_page_size(void); |
32 | u32 gp10b_mm_get_iommu_bit(struct gk20a *g); | 32 | u32 gp10b_mm_get_iommu_bit(struct gk20a *g); |
33 | int gp10b_init_mm_setup_hw(struct gk20a *g); | ||
34 | int gp10b_init_bar2_vm(struct gk20a *g); | 33 | int gp10b_init_bar2_vm(struct gk20a *g); |
35 | const struct gk20a_mmu_level *gp10b_mm_get_mmu_levels(struct gk20a *g, | 34 | const struct gk20a_mmu_level *gp10b_mm_get_mmu_levels(struct gk20a *g, |
36 | u32 big_page_size); | 35 | 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) | |||
232 | 232 | ||
233 | nvgpu_log_fn(g, " "); | 233 | nvgpu_log_fn(g, " "); |
234 | 234 | ||
235 | g->ops.fb.set_mmu_page_size(g); | 235 | err = gk20a_init_mm_setup_hw(g); |
236 | g->ops.fb.init_hw(g); | ||
237 | |||
238 | err = g->ops.bus.bar2_bind(g, &g->mm.bar2.inst_block); | ||
239 | if (err) | ||
240 | return err; | ||
241 | |||
242 | if (gk20a_mm_fb_flush(g) || gk20a_mm_fb_flush(g)) | ||
243 | return -EBUSY; | ||
244 | 236 | ||
245 | err = gv11b_mm_mmu_fault_setup_sw(g); | 237 | err = gv11b_mm_mmu_fault_setup_sw(g); |
246 | if (!err) | 238 | if (!err) |