aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2013-06-10 18:14:21 -0400
committerDave Airlie <airlied@redhat.com>2013-06-10 18:14:21 -0400
commitedee06b6f6b55c81c4cb78d0776d8ca01b05380d (patch)
treeb2ed77452d8375d53a57012c0ff16affb7aef717 /include/drm
parentd20d3174806ef6589cb912a488657d21fcd7ece2 (diff)
parent71d7282a0f1abb488e5be4d154893579624bc683 (diff)
Merge branch 'drm/next' of git://linuxtv.org/pinchartl/fbdev into drm-next
GEM CMA PRIME support from Laurent. * 'drm/next' of git://linuxtv.org/pinchartl/fbdev: drm: GEM CMA: Add DRM PRIME support drm: GEM CMA: Split object mapping into GEM mapping and CMA mapping drm: GEM CMA: Split object creation into object alloc and DMA memory alloc drm/omap: Use drm_gem_mmap_obj() to implement dma-buf mmap drm/gem: Split drm_gem_mmap() into object search and object mapping
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drmP.h2
-rw-r--r--include/drm/drm_gem_cma_helper.h9
2 files changed, 11 insertions, 0 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index e4f765c80fb0..82670ac0d774 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1616,6 +1616,8 @@ int drm_gem_private_object_init(struct drm_device *dev,
1616void drm_gem_object_handle_free(struct drm_gem_object *obj); 1616void drm_gem_object_handle_free(struct drm_gem_object *obj);
1617void drm_gem_vm_open(struct vm_area_struct *vma); 1617void drm_gem_vm_open(struct vm_area_struct *vma);
1618void drm_gem_vm_close(struct vm_area_struct *vma); 1618void drm_gem_vm_close(struct vm_area_struct *vma);
1619int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size,
1620 struct vm_area_struct *vma);
1619int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma); 1621int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma);
1620 1622
1621#include <drm/drm_global.h> 1623#include <drm/drm_global.h>
diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
index 63397ced9254..6e17251e9b28 100644
--- a/include/drm/drm_gem_cma_helper.h
+++ b/include/drm/drm_gem_cma_helper.h
@@ -4,6 +4,9 @@
4struct drm_gem_cma_object { 4struct drm_gem_cma_object {
5 struct drm_gem_object base; 5 struct drm_gem_object base;
6 dma_addr_t paddr; 6 dma_addr_t paddr;
7 struct sg_table *sgt;
8
9 /* For objects with DMA memory allocated by GEM CMA */
7 void *vaddr; 10 void *vaddr;
8}; 11};
9 12
@@ -45,4 +48,10 @@ extern const struct vm_operations_struct drm_gem_cma_vm_ops;
45void drm_gem_cma_describe(struct drm_gem_cma_object *obj, struct seq_file *m); 48void drm_gem_cma_describe(struct drm_gem_cma_object *obj, struct seq_file *m);
46#endif 49#endif
47 50
51struct dma_buf *drm_gem_cma_dmabuf_export(struct drm_device *drm_dev,
52 struct drm_gem_object *obj,
53 int flags);
54struct drm_gem_object *drm_gem_cma_dmabuf_import(struct drm_device *drm_dev,
55 struct dma_buf *dma_buf);
56
48#endif /* __DRM_GEM_CMA_HELPER_H__ */ 57#endif /* __DRM_GEM_CMA_HELPER_H__ */