drm_gem_ttm_helper.h 861 B

123456789101112131415161718192021222324252627282930
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. #ifndef DRM_GEM_TTM_HELPER_H
  3. #define DRM_GEM_TTM_HELPER_H
  4. #include <linux/container_of.h>
  5. #include <drm/drm_device.h>
  6. #include <drm/drm_gem.h>
  7. #include <drm/ttm/ttm_bo_api.h>
  8. #include <drm/ttm/ttm_bo_driver.h>
  9. struct iosys_map;
  10. #define drm_gem_ttm_of_gem(gem_obj) \
  11. container_of(gem_obj, struct ttm_buffer_object, base)
  12. void drm_gem_ttm_print_info(struct drm_printer *p, unsigned int indent,
  13. const struct drm_gem_object *gem);
  14. int drm_gem_ttm_vmap(struct drm_gem_object *gem,
  15. struct iosys_map *map);
  16. void drm_gem_ttm_vunmap(struct drm_gem_object *gem,
  17. struct iosys_map *map);
  18. int drm_gem_ttm_mmap(struct drm_gem_object *gem,
  19. struct vm_area_struct *vma);
  20. int drm_gem_ttm_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
  21. uint32_t handle, uint64_t *offset);
  22. #endif