[PATCH v7 18/36] drm: rockchip: use common helper for a scatterlist contiguity check
Marek Szyprowski
m.szyprowski at samsung.com
Tue Jul 7 09:45:36 EDT 2020
Hi
On 19.06.2020 12:36, Marek Szyprowski wrote:
> Use common helper for checking the contiguity of the imported dma-buf.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
May I ask for a review/ack/comment for this and the next patch? I want
to get this patchset merged via drm-misc and I need to get some more
acks/reviews.
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 19 +------------------
> 1 file changed, 1 insertion(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
> index b9275ba7c5a5..2970e534e2bb 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
> @@ -460,23 +460,6 @@ struct sg_table *rockchip_gem_prime_get_sg_table(struct drm_gem_object *obj)
> return sgt;
> }
>
> -static unsigned long rockchip_sg_get_contiguous_size(struct sg_table *sgt,
> - int count)
> -{
> - struct scatterlist *s;
> - dma_addr_t expected = sg_dma_address(sgt->sgl);
> - unsigned int i;
> - unsigned long size = 0;
> -
> - for_each_sg(sgt->sgl, s, count, i) {
> - if (sg_dma_address(s) != expected)
> - break;
> - expected = sg_dma_address(s) + sg_dma_len(s);
> - size += sg_dma_len(s);
> - }
> - return size;
> -}
> -
> static int
> rockchip_gem_iommu_map_sg(struct drm_device *drm,
> struct dma_buf_attachment *attach,
> @@ -498,7 +481,7 @@ rockchip_gem_dma_map_sg(struct drm_device *drm,
> if (!count)
> return -EINVAL;
>
> - if (rockchip_sg_get_contiguous_size(sg, count) < attach->dmabuf->size) {
> + if (drm_prime_get_contiguous_size(sg) < attach->dmabuf->size) {
> DRM_ERROR("failed to map sg_table to contiguous linear address.\n");
> dma_unmap_sg(drm->dev, sg->sgl, sg->nents,
> DMA_BIDIRECTIONAL);
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
More information about the Linux-rockchip
mailing list