1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2021 Intel Corporation 4 */ 5 #ifndef _INTEL_REGION_TTM_H_ 6 #define _INTEL_REGION_TTM_H_ 7 8 #include <linux/types.h> 9 10 #include "i915_selftest.h" 11 12 struct drm_i915_private; 13 struct intel_memory_region; 14 struct ttm_resource; 15 struct ttm_device_funcs; 16 17 int intel_region_ttm_device_init(struct drm_i915_private *dev_priv); 18 19 void intel_region_ttm_device_fini(struct drm_i915_private *dev_priv); 20 21 int intel_region_ttm_init(struct intel_memory_region *mem); 22 23 void intel_region_ttm_fini(struct intel_memory_region *mem); 24 25 struct sg_table *intel_region_ttm_resource_to_st(struct intel_memory_region *mem, 26 struct ttm_resource *res); 27 28 void intel_region_ttm_resource_free(struct intel_memory_region *mem, 29 struct ttm_resource *res); 30 31 int intel_region_to_ttm_type(const struct intel_memory_region *mem); 32 33 struct ttm_device_funcs *i915_ttm_driver(void); 34 35 #ifdef CONFIG_DRM_I915_SELFTEST 36 struct ttm_resource * 37 intel_region_ttm_resource_alloc(struct intel_memory_region *mem, 38 resource_size_t size, 39 unsigned int flags); 40 #endif 41 #endif /* _INTEL_REGION_TTM_H_ */ 42