|
@@ -23,8 +23,12 @@
|
|
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
|
|
struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
|
|
{
|
|
{
|
|
struct msm_gem_object *msm_obj = to_msm_bo(obj);
|
|
struct msm_gem_object *msm_obj = to_msm_bo(obj);
|
|
- BUG_ON(!msm_obj->sgt); /* should have already pinned! */
|
|
|
|
- return msm_obj->sgt;
|
|
|
|
|
|
+ int npages = obj->size >> PAGE_SHIFT;
|
|
|
|
+
|
|
|
|
+ if (WARN_ON(!msm_obj->pages)) /* should have already pinned! */
|
|
|
|
+ return NULL;
|
|
|
|
+
|
|
|
|
+ return drm_prime_pages_to_sg(msm_obj->pages, npages);
|
|
}
|
|
}
|
|
|
|
|
|
void *msm_gem_prime_vmap(struct drm_gem_object *obj)
|
|
void *msm_gem_prime_vmap(struct drm_gem_object *obj)
|