|
@@ -264,7 +264,6 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj,
|
|
|
* VM_PFNMAP flag that was set by drm_gem_mmap_obj()/drm_gem_mmap().
|
|
|
*/
|
|
|
vma->vm_flags &= ~VM_PFNMAP;
|
|
|
- vma->vm_pgoff = 0;
|
|
|
|
|
|
if (rk_obj->pages)
|
|
|
ret = rockchip_drm_gem_object_mmap_iommu(obj, vma);
|
|
@@ -299,6 +298,12 @@ int rockchip_gem_mmap(struct file *filp, struct vm_area_struct *vma)
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
+ /*
|
|
|
+ * Set vm_pgoff (used as a fake buffer offset by DRM) to 0 and map the
|
|
|
+ * whole buffer from the start.
|
|
|
+ */
|
|
|
+ vma->vm_pgoff = 0;
|
|
|
+
|
|
|
obj = vma->vm_private_data;
|
|
|
|
|
|
return rockchip_drm_gem_object_mmap(obj, vma);
|