summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 7e4adc5b..673aafda 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -2804,10 +2804,11 @@ void gk20a_free_sgtable(struct sg_table **sgt)
2804 2804
2805u64 gk20a_mm_smmu_vaddr_translate(struct gk20a *g, dma_addr_t iova) 2805u64 gk20a_mm_smmu_vaddr_translate(struct gk20a *g, dma_addr_t iova)
2806{ 2806{
2807 if (!device_is_iommuable(dev_from_gk20a(g)) || !g->mm.has_physical_mode) 2807 if (device_is_iommuable(dev_from_gk20a(g)) &&
2808 return iova; 2808 g->ops.mm.get_physical_addr_bits)
2809 else
2810 return iova | 1ULL << g->ops.mm.get_physical_addr_bits(g); 2809 return iova | 1ULL << g->ops.mm.get_physical_addr_bits(g);
2810
2811 return iova;
2811} 2812}
2812 2813
2813u64 gk20a_mm_iova_addr(struct gk20a *g, struct scatterlist *sgl, 2814u64 gk20a_mm_iova_addr(struct gk20a *g, struct scatterlist *sgl,