Thomas Zimmermann <tzimmerm...@suse.de> writes:

> Use the mmap callback in struct drm_gem_object_funcs to set the
> VM flags. Replace a number of mmap helpers in omapdrm with their
> GEM helper counterparts. Generate DRM's file-operations instance
> with GEM's DEFINE_DRM_GEM_FOPS.
>
> Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
> Cc: Tomi Valkeinen <tomi.valkei...@ideasonboard.com>
> ---

> +static int omap_gem_object_mmap(struct drm_gem_object *obj, struct 
> vm_area_struct *vma)
>  {
>       struct omap_gem_object *omap_obj = to_omap_bo(obj);
>  
> -     vm_flags_mod(vma, VM_MIXEDMAP, VM_PFNMAP);
> +     vm_flags_set(vma, VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP | VM_IO | 
> VM_MIXEDMAP);
>  
>       if (omap_obj->flags & OMAP_BO_WC) {
>               vma->vm_page_prot = 
> pgprot_writecombine(vm_get_page_prot(vma->vm_flags));
> @@ -563,12 +548,14 @@ int omap_gem_mmap_obj(struct drm_gem_object *obj,
>                * address_space (so unmap_mapping_range does what we want,
>                * in particular in the case of mmap'd dmabufs)
>                */
> -             vma->vm_pgoff = 0;
> +             vma->vm_pgoff -= drm_vma_node_start(&obj->vma_node);
>               vma_set_file(vma, obj->filp);
>  
>               vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
>       }
>  
> +     vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
> +
>       return 0;
>  }
>

I think this rework deserves a more elaborated commit message.

Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat

Reply via email to