Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: add mmap function to prime helpers

This adds to call low-level mmap() from prime helpers.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by

Joonyoung Shim and committed by
Dave Airlie
7c397cd9 f9d8a129

+9 -1
+7 -1
drivers/gpu/drm/drm_prime.c
··· 245 245 static int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, 246 246 struct vm_area_struct *vma) 247 247 { 248 - return -EINVAL; 248 + struct drm_gem_object *obj = dma_buf->priv; 249 + struct drm_device *dev = obj->dev; 250 + 251 + if (!dev->driver->gem_prime_mmap) 252 + return -ENOSYS; 253 + 254 + return dev->driver->gem_prime_mmap(obj, vma); 249 255 } 250 256 251 257 static const struct dma_buf_ops drm_gem_prime_dmabuf_ops = {
+2
include/drm/drmP.h
··· 937 937 struct sg_table *sgt); 938 938 void *(*gem_prime_vmap)(struct drm_gem_object *obj); 939 939 void (*gem_prime_vunmap)(struct drm_gem_object *obj, void *vaddr); 940 + int (*gem_prime_mmap)(struct drm_gem_object *obj, 941 + struct vm_area_struct *vma); 940 942 941 943 /* vga arb irq handler */ 942 944 void (*vgaarb_irq)(struct drm_device *dev, bool state);