rknpu: gem: fix error sg_dma_addr for iommu case

Fixes: 9a93c881e9 ("driver: rknpu: Add rknpu driver for rk356x, version: 0.4.2")

Change-Id: I33a85f5eea54912113575d307977961424e28c0e
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
This commit is contained in:
Jianqun Xu
2021-08-06 15:02:41 +08:00
committed by Tao Huang
parent b6707ded53
commit ce93adb4e4

View File

@@ -937,7 +937,6 @@ int rknpu_gem_sync_ioctl(struct drm_device *dev, void *data,
} else {
length = args->size;
offset = args->offset;
sg_dma_addr = rknpu_obj->dma_addr;
for_each_sg(rknpu_obj->sgt->sgl, sg, rknpu_obj->sgt->nents,
i) {
@@ -945,6 +944,7 @@ int rknpu_gem_sync_ioctl(struct drm_device *dev, void *data,
if (len <= offset)
continue;
sg_dma_addr = sg_dma_address(sg);
sg_left = len - offset;
sg_offset = sg->length - sg_left;
size = (length < sg_left) ? length : sg_left;
@@ -964,7 +964,6 @@ int rknpu_gem_sync_ioctl(struct drm_device *dev, void *data,
offset += size;
length -= size;
sg_dma_addr += sg->length;
if (length == 0)
break;