0001
0002
0003 #ifndef DRM_GEM_TTM_HELPER_H
0004 #define DRM_GEM_TTM_HELPER_H
0005
0006 #include <linux/container_of.h>
0007
0008 #include <drm/drm_device.h>
0009 #include <drm/drm_gem.h>
0010 #include <drm/ttm/ttm_bo_api.h>
0011 #include <drm/ttm/ttm_bo_driver.h>
0012
0013 struct iosys_map;
0014
0015 #define drm_gem_ttm_of_gem(gem_obj) \
0016 container_of(gem_obj, struct ttm_buffer_object, base)
0017
0018 void drm_gem_ttm_print_info(struct drm_printer *p, unsigned int indent,
0019 const struct drm_gem_object *gem);
0020 int drm_gem_ttm_vmap(struct drm_gem_object *gem,
0021 struct iosys_map *map);
0022 void drm_gem_ttm_vunmap(struct drm_gem_object *gem,
0023 struct iosys_map *map);
0024 int drm_gem_ttm_mmap(struct drm_gem_object *gem,
0025 struct vm_area_struct *vma);
0026
0027 int drm_gem_ttm_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
0028 uint32_t handle, uint64_t *offset);
0029
0030 #endif