diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 7 |
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 | ||
2805 | u64 gk20a_mm_smmu_vaddr_translate(struct gk20a *g, dma_addr_t iova) | 2805 | u64 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 | ||
2813 | u64 gk20a_mm_iova_addr(struct gk20a *g, struct scatterlist *sgl, | 2814 | u64 gk20a_mm_iova_addr(struct gk20a *g, struct scatterlist *sgl, |