summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/common/linux/dma.c4
-rw-r--r--drivers/gpu/nvgpu/common/linux/nvgpu_mem.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/dma.c b/drivers/gpu/nvgpu/common/linux/dma.c
index d0b6c8a8..786065dd 100644
--- a/drivers/gpu/nvgpu/common/linux/dma.c
+++ b/drivers/gpu/nvgpu/common/linux/dma.c
@@ -634,7 +634,11 @@ void nvgpu_free_sgtable(struct gk20a *g, struct sg_table **sgt)
634 634
635bool nvgpu_iommuable(struct gk20a *g) 635bool nvgpu_iommuable(struct gk20a *g)
636{ 636{
637#ifdef CONFIG_TEGRA_GK20A
637 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); 638 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
638 639
639 return device_is_iommuable(l->dev); 640 return device_is_iommuable(l->dev);
641#else
642 return true;
643#endif
640} 644}
diff --git a/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c b/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c
index eb64ecd3..79098eca 100644
--- a/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c
+++ b/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c
@@ -313,9 +313,7 @@ void nvgpu_memset(struct gk20a *g, struct nvgpu_mem *mem, u32 offset,
313 */ 313 */
314u64 nvgpu_mem_get_addr_sgl(struct gk20a *g, struct scatterlist *sgl) 314u64 nvgpu_mem_get_addr_sgl(struct gk20a *g, struct scatterlist *sgl)
315{ 315{
316 struct nvgpu_os_linux *l = container_of(g, struct nvgpu_os_linux, g); 316 if (!nvgpu_iommuable(g))
317
318 if (!device_is_iommuable(l->dev))
319 return g->ops.mm.gpu_phys_addr(g, NULL, sg_phys(sgl)); 317 return g->ops.mm.gpu_phys_addr(g, NULL, sg_phys(sgl));
320 318
321 if (sg_dma_address(sgl) == 0) 319 if (sg_dma_address(sgl) == 0)