30 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2 3#ifndef DRM_GEM_TTM_HELPER_H4#define DRM_GEM_TTM_HELPER_H5 6#include <linux/container_of.h>7 8#include <drm/drm_device.h>9#include <drm/drm_gem.h>10#include <drm/ttm/ttm_bo.h>11 12struct iosys_map;13 14#define drm_gem_ttm_of_gem(gem_obj) \15 container_of(gem_obj, struct ttm_buffer_object, base)16 17void drm_gem_ttm_print_info(struct drm_printer *p, unsigned int indent,18 const struct drm_gem_object *gem);19int drm_gem_ttm_vmap(struct drm_gem_object *gem,20 struct iosys_map *map);21void drm_gem_ttm_vunmap(struct drm_gem_object *gem,22 struct iosys_map *map);23int drm_gem_ttm_mmap(struct drm_gem_object *gem,24 struct vm_area_struct *vma);25 26int drm_gem_ttm_dumb_map_offset(struct drm_file *file, struct drm_device *dev,27 uint32_t handle, uint64_t *offset);28 29#endif30