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 int intel_region_ttm_fini(struct intel_memory_region *mem); 24 25 struct i915_refct_sgt * 26 intel_region_ttm_resource_to_rsgt(struct intel_memory_region *mem, 27 struct ttm_resource *res); 28 29 void intel_region_ttm_resource_free(struct intel_memory_region *mem, 30 struct ttm_resource *res); 31 32 int intel_region_to_ttm_type(const struct intel_memory_region *mem); 33 34 struct ttm_device_funcs *i915_ttm_driver(void); 35 36 #ifdef CONFIG_DRM_I915_SELFTEST 37 struct ttm_resource * 38 intel_region_ttm_resource_alloc(struct intel_memory_region *mem, 39 resource_size_t size, 40 unsigned int flags); 41 #endif 42 #endif /* _INTEL_REGION_TTM_H_ */ 43