RE: [PATCH v4 3/3] drm/radeon: fix scatter-gather mapping with user pages

From: Ruhl, Michael J
Date: Wed Mar 25 2020 - 10:19:51 EST


>-----Original Message-----
>From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of
>Shane Francis
>Sent: Wednesday, March 25, 2020 5:08 AM
>To: dri-devel@xxxxxxxxxxxxxxxxxxxxx
>Cc: airlied@xxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; bigbeeshane@xxxxxxxxx;
>amd-gfx-request@xxxxxxxxxxxxxxxxxxxxx; alexander.deucher@xxxxxxx;
>christian.koenig@xxxxxxx
>Subject: [PATCH v4 3/3] drm/radeon: fix scatter-gather mapping with user
>pages
>
>Calls to dma_map_sg may return segments / entries than requested

"may return less segment..." ?
^^^

>if they fall on page bounderies. The old implementation did not
>support this use case.
>
>Signed-off-by: Shane Francis <bigbeeshane@xxxxxxxxx>
>---
> drivers/gpu/drm/radeon/radeon_ttm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c
>b/drivers/gpu/drm/radeon/radeon_ttm.c
>index 3b92311d30b9..b3380ffab4c2 100644
>--- a/drivers/gpu/drm/radeon/radeon_ttm.c
>+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
>@@ -528,7 +528,7 @@ static int radeon_ttm_tt_pin_userptr(struct ttm_tt
>*ttm)
>
> r = -ENOMEM;
> nents = dma_map_sg(rdev->dev, ttm->sg->sgl, ttm->sg->nents,
>direction);
>- if (nents != ttm->sg->nents)
>+ if (nents == 0)
> goto release_sg;

This looks correct to me.

Reviewed-by: Michael J. Ruhl <michael.j.ruhl@xxxxxxxxx>

M
> drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages,
>--
>2.26.0
>
>_______________________________________________
>dri-devel mailing list
>dri-devel@xxxxxxxxxxxxxxxxxxxxx
>https://lists.freedesktop.org/mailman/listinfo/dri-devel