drm: mediatek: use common helper for extracting pages array
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 8 May 2020 09:02:47 +0000 (11:02 +0200)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 10 Sep 2020 06:18:35 +0000 (08:18 +0200)
Use common helper for converting a sg_table object into struct
page pointer array.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_gem.c

index 3654ec7..0583e55 100644 (file)
@@ -233,9 +233,7 @@ void *mtk_drm_gem_prime_vmap(struct drm_gem_object *obj)
 {
        struct mtk_drm_gem_obj *mtk_gem = to_mtk_gem_obj(obj);
        struct sg_table *sgt;
-       struct sg_page_iter iter;
        unsigned int npages;
-       unsigned int i = 0;
 
        if (mtk_gem->kvaddr)
                return mtk_gem->kvaddr;
@@ -249,11 +247,8 @@ void *mtk_drm_gem_prime_vmap(struct drm_gem_object *obj)
        if (!mtk_gem->pages)
                goto out;
 
-       for_each_sg_page(sgt->sgl, &iter, sgt->orig_nents, 0) {
-               mtk_gem->pages[i++] = sg_page_iter_page(&iter);
-               if (i > npages)
-                       break;
-       }
+       drm_prime_sg_to_page_addr_arrays(sgt, mtk_gem->pages, NULL, npages);
+
        mtk_gem->kvaddr = vmap(mtk_gem->pages, npages, VM_MAP,
                               pgprot_writecombine(PAGE_KERNEL));