Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
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