Re: [PATCH v3.18-rc3] drm: msm: Allow exported dma-bufs to be mapped

Rob Clark
2014-11-10T17:36:46Z

On Mon, Nov 10, 2014 at 12:16 PM, Daniel Thompson
<daniel.thompson@linaro.org> wrote:
> diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
> index ad772fe36115..4e4fa5828d5d 100644
> --- a/drivers/gpu/drm/msm/msm_gem_prime.c
> +++ b/drivers/gpu/drm/msm/msm_gem_prime.c
> @@ -20,6 +20,14 @@
>
> #include <linux/dma-buf.h>
>
> +struct dma_buf *msm_gem_prime_export(struct drm_device *dev,
> + struct drm_gem_object *obj, int flags)
> +{
> + /* we want to be able to write in mmapped buffer */
> + flags |= O_RDWR;
> + return drm_gem_prime_export(dev, obj, flags);
> +}
> +

seems like this probably should be done more centrally.. and in fact,
might be better to have something like this in
drm_prime_handle_to_fd_ioctl:

/* check flags are valid */
- if (args->flags & ~DRM_CLOEXEC)
+ if (args->flags & ~(DRM_CLOEXEC | O_RDWR))
return -EINVAL;

so exporter can specify whether to allow mmap or not..

BR,
-R