// SPDX-License-Identifier: GPL-2.0-or-later #include <linux/module.h> #include <drm/drm_gem_ttm_helper.h> #include <drm/ttm/ttm_placement.h> #include <drm/ttm/ttm_tt.h> /** * DOC: overview * * This library provides helper functions for gem objects backed by * ttm. */ /** * drm_gem_ttm_print_info() - Print &ttm_buffer_object info for debugfs * @p: DRM printer * @indent: Tab indentation level * @gem: GEM object * * This function can be used as &drm_gem_object_funcs.print_info * callback. */ void drm_gem_ttm_print_info(struct drm_printer *p, unsigned int indent, const struct drm_gem_object *gem) { … } EXPORT_SYMBOL(…); /** * drm_gem_ttm_vmap() - vmap &ttm_buffer_object * @gem: GEM object. * @map: [out] returns the dma-buf mapping. * * Maps a GEM object with ttm_bo_vmap(). This function can be used as * &drm_gem_object_funcs.vmap callback. * * Returns: * 0 on success, or a negative errno code otherwise. */ int drm_gem_ttm_vmap(struct drm_gem_object *gem, struct iosys_map *map) { … } EXPORT_SYMBOL(…); /** * drm_gem_ttm_vunmap() - vunmap &ttm_buffer_object * @gem: GEM object. * @map: dma-buf mapping. * * Unmaps a GEM object with ttm_bo_vunmap(). This function can be used as * &drm_gem_object_funcs.vmap callback. */ void drm_gem_ttm_vunmap(struct drm_gem_object *gem, struct iosys_map *map) { … } EXPORT_SYMBOL(…); /** * drm_gem_ttm_mmap() - mmap &ttm_buffer_object * @gem: GEM object. * @vma: vm area. * * This function can be used as &drm_gem_object_funcs.mmap * callback. */ int drm_gem_ttm_mmap(struct drm_gem_object *gem, struct vm_area_struct *vma) { … } EXPORT_SYMBOL(…); /** * drm_gem_ttm_dumb_map_offset() - Implements struct &drm_driver.dumb_map_offset * @file: DRM file pointer. * @dev: DRM device. * @handle: GEM handle * @offset: Returns the mapping's memory offset on success * * Provides an implementation of struct &drm_driver.dumb_map_offset for * TTM-based GEM drivers. TTM allocates the offset internally and * drm_gem_ttm_dumb_map_offset() returns it for dumb-buffer implementations. * * See struct &drm_driver.dumb_map_offset. * * Returns: * 0 on success, or a negative errno code otherwise. */ int drm_gem_ttm_dumb_map_offset(struct drm_file *file, struct drm_device *dev, uint32_t handle, uint64_t *offset) { … } EXPORT_SYMBOL(…); MODULE_DESCRIPTION(…) …; MODULE_LICENSE(…) …;