1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 #ifndef __XEN_DRM_FRONT_GEM_H
  12 #define __XEN_DRM_FRONT_GEM_H
  13 
  14 struct dma_buf_attachment;
  15 struct drm_device;
  16 struct drm_gem_object;
  17 struct file;
  18 struct sg_table;
  19 struct vm_area_struct;
  20 
  21 struct drm_gem_object *xen_drm_front_gem_create(struct drm_device *dev,
  22                                                 size_t size);
  23 
  24 struct drm_gem_object *
  25 xen_drm_front_gem_import_sg_table(struct drm_device *dev,
  26                                   struct dma_buf_attachment *attach,
  27                                   struct sg_table *sgt);
  28 
  29 struct sg_table *xen_drm_front_gem_get_sg_table(struct drm_gem_object *gem_obj);
  30 
  31 struct page **xen_drm_front_gem_get_pages(struct drm_gem_object *obj);
  32 
  33 void xen_drm_front_gem_free_object_unlocked(struct drm_gem_object *gem_obj);
  34 
  35 int xen_drm_front_gem_mmap(struct file *filp, struct vm_area_struct *vma);
  36 
  37 void *xen_drm_front_gem_prime_vmap(struct drm_gem_object *gem_obj);
  38 
  39 void xen_drm_front_gem_prime_vunmap(struct drm_gem_object *gem_obj,
  40                                     void *vaddr);
  41 
  42 int xen_drm_front_gem_prime_mmap(struct drm_gem_object *gem_obj,
  43                                  struct vm_area_struct *vma);
  44 
  45 #endif