From b8105eeb84ff98147cf3643750ad4ffee737acf0 Mon Sep 17 00:00:00 2001 From: Jianqun Xu Date: Fri, 22 Jul 2022 15:43:46 +0800 Subject: [PATCH] drm/rockchip: gem: partial sync use sg_phys instead of sg_dma_address The sg_phys() always return the physical address of a scattergather, but the sg_dma_address() return the iova address, for a device without iommu that is a bad address. Signed-off-by: Jianqun Xu Change-Id: I83641c6af324bbaca3d27ea14de41cfca729e258 --- drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c index 2504482220bf..5e71093c9a2e 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c @@ -1005,7 +1005,7 @@ static int rockchip_gem_prime_sgl_sync_range(struct device *dev, if (len <= offset) continue; - sg_dma_addr = sg_dma_address(sg); + sg_dma_addr = sg_phys(sg); sg_left = len - offset; sg_offset = sg->length - sg_left;