drm/rockchip: gem: Convert sg to page

This make cpu can dump fb data allocated by ION.

Change-Id: I639e7cbbe6957d2bb02e4577805343cdbf5f5bf7
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
This commit is contained in:
Andy Yan
2020-12-16 19:05:17 +08:00
committed by Tao Huang
parent 6a44f0d785
commit a612c861dd

View File

@@ -877,6 +877,21 @@ rockchip_gem_prime_import_sg_table(struct drm_device *drm,
goto err_free_rk_obj; goto err_free_rk_obj;
} }
rk_obj->num_pages = rk_obj->base.size >> PAGE_SHIFT;
rk_obj->pages = drm_calloc_large(rk_obj->num_pages, sizeof(*rk_obj->pages));
if (!rk_obj->pages) {
DRM_ERROR("failed to allocate pages.\n");
ret = -ENOMEM;
goto err_free_rk_obj;
}
ret = drm_prime_sg_to_page_addr_arrays(sg, rk_obj->pages, NULL, rk_obj->num_pages);
if (ret < 0) {
DRM_ERROR("invalid sgtable.\n");
drm_free_large(rk_obj->pages);
goto err_free_rk_obj;
}
return &rk_obj->base; return &rk_obj->base;
err_free_rk_obj: err_free_rk_obj: