diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index 09948a25a..b01efd419 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c @@ -1709,7 +1709,10 @@ void gk20a_free_sgtable(struct sg_table **sgt) u64 gk20a_mm_smmu_vaddr_translate(struct gk20a *g, dma_addr_t iova) { - return iova | 1ULL << g->ops.mm.get_physical_addr_bits(g); + if (!device_is_iommuable(dev_from_gk20a(g))) + return iova; + else + return iova | 1ULL << g->ops.mm.get_physical_addr_bits(g); } u64 gk20a_mm_iova_addr(struct gk20a *g, struct scatterlist *sgl)