xen_drm_front_gem.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* SPDX-License-Identifier: GPL-2.0 OR MIT */
  2. /*
  3. * Xen para-virtual DRM device
  4. *
  5. * Copyright (C) 2016-2018 EPAM Systems Inc.
  6. *
  7. * Author: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  8. */
  9. #ifndef __XEN_DRM_FRONT_GEM_H
  10. #define __XEN_DRM_FRONT_GEM_H
  11. #include <drm/drmP.h>
  12. struct drm_gem_object *xen_drm_front_gem_create(struct drm_device *dev,
  13. size_t size);
  14. struct drm_gem_object *
  15. xen_drm_front_gem_import_sg_table(struct drm_device *dev,
  16. struct dma_buf_attachment *attach,
  17. struct sg_table *sgt);
  18. struct sg_table *xen_drm_front_gem_get_sg_table(struct drm_gem_object *gem_obj);
  19. struct page **xen_drm_front_gem_get_pages(struct drm_gem_object *obj);
  20. void xen_drm_front_gem_free_object_unlocked(struct drm_gem_object *gem_obj);
  21. int xen_drm_front_gem_mmap(struct file *filp, struct vm_area_struct *vma);
  22. void *xen_drm_front_gem_prime_vmap(struct drm_gem_object *gem_obj);
  23. void xen_drm_front_gem_prime_vunmap(struct drm_gem_object *gem_obj,
  24. void *vaddr);
  25. int xen_drm_front_gem_prime_mmap(struct drm_gem_object *gem_obj,
  26. struct vm_area_struct *vma);
  27. #endif /* __XEN_DRM_FRONT_GEM_H */