diff options
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu')
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/mm_vgpu.c | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c index 520771a7..f1ae2f1f 100644 --- a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | |||
@@ -308,8 +308,8 @@ static int vgpu_init_fifo_setup_sw(struct gk20a *g) | |||
308 | 308 | ||
309 | for (chid = 0; chid < f->num_channels; chid++) { | 309 | for (chid = 0; chid < f->num_channels; chid++) { |
310 | f->channel[chid].userd_iova = | 310 | f->channel[chid].userd_iova = |
311 | g->ops.mm.get_iova_addr(g, f->userd.priv.sgt->sgl, 0) | 311 | nvgpu_mem_get_addr(g, &f->userd) + |
312 | + chid * f->userd_entry_size; | 312 | chid * f->userd_entry_size; |
313 | f->channel[chid].userd_gpu_va = | 313 | f->channel[chid].userd_gpu_va = |
314 | f->userd.gpu_va + chid * f->userd_entry_size; | 314 | f->userd.gpu_va + chid * f->userd_entry_size; |
315 | 315 | ||
diff --git a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c index a4ffc7e8..ef9e00c8 100644 --- a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c | |||
@@ -23,8 +23,11 @@ | |||
23 | 23 | ||
24 | #include <nvgpu/vgpu/vm.h> | 24 | #include <nvgpu/vgpu/vm.h> |
25 | 25 | ||
26 | #include <nvgpu/linux/nvgpu_mem.h> | ||
27 | |||
26 | #include "vgpu/vgpu.h" | 28 | #include "vgpu/vgpu.h" |
27 | #include "gk20a/mm_gk20a.h" | 29 | #include "gk20a/mm_gk20a.h" |
30 | #include "gm20b/mm_gm20b.h" | ||
28 | 31 | ||
29 | #include "common/linux/vm_priv.h" | 32 | #include "common/linux/vm_priv.h" |
30 | 33 | ||
@@ -95,7 +98,7 @@ static u64 vgpu_locked_gmmu_map(struct vm_gk20a *vm, | |||
95 | struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(d); | 98 | struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(d); |
96 | struct tegra_vgpu_cmd_msg msg; | 99 | struct tegra_vgpu_cmd_msg msg; |
97 | struct tegra_vgpu_as_map_params *p = &msg.params.as_map; | 100 | struct tegra_vgpu_as_map_params *p = &msg.params.as_map; |
98 | u64 addr = g->ops.mm.get_iova_addr(g, sgt->sgl, flags); | 101 | u64 addr = nvgpu_mem_get_addr_sgl(g, sgt->sgl); |
99 | u8 prot; | 102 | u8 prot; |
100 | 103 | ||
101 | gk20a_dbg_fn(""); | 104 | gk20a_dbg_fn(""); |
@@ -243,7 +246,7 @@ u64 vgpu_bar1_map(struct gk20a *g, struct sg_table **sgt, u64 size) | |||
243 | { | 246 | { |
244 | struct dma_iommu_mapping *mapping = | 247 | struct dma_iommu_mapping *mapping = |
245 | to_dma_iommu_mapping(dev_from_gk20a(g)); | 248 | to_dma_iommu_mapping(dev_from_gk20a(g)); |
246 | u64 addr = g->ops.mm.get_iova_addr(g, (*sgt)->sgl, 0); | 249 | u64 addr = nvgpu_mem_get_addr_sgl(g, (*sgt)->sgl); |
247 | struct tegra_vgpu_cmd_msg msg; | 250 | struct tegra_vgpu_cmd_msg msg; |
248 | struct tegra_vgpu_as_map_params *p = &msg.params.as_map; | 251 | struct tegra_vgpu_as_map_params *p = &msg.params.as_map; |
249 | int err; | 252 | int err; |
@@ -368,6 +371,6 @@ void vgpu_init_mm_ops(struct gpu_ops *gops) | |||
368 | gops->mm.l2_flush = vgpu_mm_l2_flush; | 371 | gops->mm.l2_flush = vgpu_mm_l2_flush; |
369 | gops->fb.tlb_invalidate = vgpu_mm_tlb_invalidate; | 372 | gops->fb.tlb_invalidate = vgpu_mm_tlb_invalidate; |
370 | gops->mm.get_physical_addr_bits = gk20a_mm_get_physical_addr_bits; | 373 | gops->mm.get_physical_addr_bits = gk20a_mm_get_physical_addr_bits; |
371 | gops->mm.get_iova_addr = gk20a_mm_iova_addr; | 374 | gops->mm.gpu_phys_addr = gm20b_gpu_phys_addr; |
372 | gops->mm.init_mm_setup_hw = NULL; | 375 | gops->mm.init_mm_setup_hw = NULL; |
373 | } | 376 | } |