The value of the 'iova' variable is the base GPU virtual address that is
going to be mapped, its value won't get updated when etnaviv_context_map()
is running under the "for_each_sgtable_dma_sg(sgt, sg, i) {}" loop.

Replace it with the 'da' variable, reflect the actual status that GPUVA
is being mapped.

Signed-off-by: Sui Jingfeng <sui.jingf...@linux.dev>
---
 drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c 
b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
index ddb536d84c58..05021848126e 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
@@ -86,7 +86,7 @@ static int etnaviv_iommu_map(struct etnaviv_iommu_context 
*context,
                unsigned int da_len = sg_dma_len(sg);
                unsigned int bytes = min_t(unsigned int, da_len, va_len);
 
-               VERB("map[%d]: %08x %pap(%x)", i, iova, &pa, bytes);
+               VERB("map[%d]: %08x %pap(%x)", i, da, &pa, bytes);
 
                ret = etnaviv_context_map(context, da, pa, bytes, prot);
                if (ret)
-- 
2.34.1

Reply via email to