1ff540b76SGerd Hoffmann /* SPDX-License-Identifier: GPL-2.0-or-later */ 2ff540b76SGerd Hoffmann 3ff540b76SGerd Hoffmann #ifndef DRM_GEM_TTM_HELPER_H 4ff540b76SGerd Hoffmann #define DRM_GEM_TTM_HELPER_H 5ff540b76SGerd Hoffmann 6ff540b76SGerd Hoffmann #include <linux/kernel.h> 7ff540b76SGerd Hoffmann 8ff540b76SGerd Hoffmann #include <drm/drm_gem.h> 9ff540b76SGerd Hoffmann #include <drm/drm_device.h> 10ff540b76SGerd Hoffmann #include <drm/ttm/ttm_bo_api.h> 11ff540b76SGerd Hoffmann #include <drm/ttm/ttm_bo_driver.h> 12ff540b76SGerd Hoffmann 13*43676605SThomas Zimmermann struct dma_buf_map; 14*43676605SThomas Zimmermann 15ff540b76SGerd Hoffmann #define drm_gem_ttm_of_gem(gem_obj) \ 16ff540b76SGerd Hoffmann container_of(gem_obj, struct ttm_buffer_object, base) 17ff540b76SGerd Hoffmann 18ff540b76SGerd Hoffmann void drm_gem_ttm_print_info(struct drm_printer *p, unsigned int indent, 19ff540b76SGerd Hoffmann const struct drm_gem_object *gem); 20*43676605SThomas Zimmermann int drm_gem_ttm_vmap(struct drm_gem_object *gem, 21*43676605SThomas Zimmermann struct dma_buf_map *map); 22*43676605SThomas Zimmermann void drm_gem_ttm_vunmap(struct drm_gem_object *gem, 23*43676605SThomas Zimmermann struct dma_buf_map *map); 24231927d9SGerd Hoffmann int drm_gem_ttm_mmap(struct drm_gem_object *gem, 25231927d9SGerd Hoffmann struct vm_area_struct *vma); 26ff540b76SGerd Hoffmann 27ff540b76SGerd Hoffmann #endif 28