summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
authorAlex Waterman <alexw@nvidia.com>2017-06-07 20:32:56 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-08-04 17:54:32 -0400
commit1da69dd8b2c60a11e112844dd4e9636a913a99a0 (patch)
tree56e6912518e205b1e999881cb02f7fa504878846 /drivers/gpu/nvgpu/gk20a/gr_gk20a.c
parent192cf8c1f8d1005ab08619c9152d514dec3a34ef (diff)
gpu: nvgpu: Remove mm.get_iova_addr
Remove the mm.get_iova_addr() HAL and replace it with a new HAL called mm.gpu_phys_addr(). This new HAL provides the real phys address that should be passed to the GPU from a physical address obtained from a scatter list. It also provides a mechanism by which the HAL code can add extra bits to a GPU physical address based on the attributes passed in. This is necessary during GMMU page table programming. Also remove the flags argument from the various address functions. This flag was used for adding an IO coherence bit to the GPU physical address which is not supported. JIRA NVGPU-30 Change-Id: I69af5b1c6bd905c4077c26c098fac101c6b41a33 Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1530864 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 1fc57a56..497e7ee2 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -4443,7 +4443,7 @@ static int gk20a_init_gr_setup_hw(struct gk20a *g)
4443 gk20a_dbg_fn(""); 4443 gk20a_dbg_fn("");
4444 4444
4445 /* init mmu debug buffer */ 4445 /* init mmu debug buffer */
4446 addr = g->ops.mm.get_iova_addr(g, gr->mmu_wr_mem.priv.sgt->sgl, 0); 4446 addr = nvgpu_mem_get_addr(g, &gr->mmu_wr_mem);
4447 addr >>= fb_mmu_debug_wr_addr_alignment_v(); 4447 addr >>= fb_mmu_debug_wr_addr_alignment_v();
4448 4448
4449 gk20a_writel(g, fb_mmu_debug_wr_r(), 4449 gk20a_writel(g, fb_mmu_debug_wr_r(),
@@ -4453,7 +4453,7 @@ static int gk20a_init_gr_setup_hw(struct gk20a *g)
4453 fb_mmu_debug_wr_vol_false_f() | 4453 fb_mmu_debug_wr_vol_false_f() |
4454 fb_mmu_debug_wr_addr_f(addr)); 4454 fb_mmu_debug_wr_addr_f(addr));
4455 4455
4456 addr = g->ops.mm.get_iova_addr(g, gr->mmu_rd_mem.priv.sgt->sgl, 0); 4456 addr = nvgpu_mem_get_addr(g, &gr->mmu_rd_mem);
4457 addr >>= fb_mmu_debug_rd_addr_alignment_v(); 4457 addr >>= fb_mmu_debug_rd_addr_alignment_v();
4458 4458
4459 gk20a_writel(g, fb_mmu_debug_rd_r(), 4459 gk20a_writel(g, fb_mmu_debug_rd_r(),