summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu')
-rw-r--r--drivers/gpu/nvgpu/vgpu/fifo_vgpu.c4
-rw-r--r--drivers/gpu/nvgpu/vgpu/mm_vgpu.c9
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}