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 12struct drm_i915_private; 13struct intel_memory_region; 14struct ttm_resource; 15struct ttm_device_funcs; 16 17int intel_region_ttm_device_init(struct drm_i915_private *dev_priv); 18 19void intel_region_ttm_device_fini(struct drm_i915_private *dev_priv); 20 21int intel_region_ttm_init(struct intel_memory_region *mem); 22 23void intel_region_ttm_fini(struct intel_memory_region *mem); 24 25struct sg_table *intel_region_ttm_resource_to_st(struct intel_memory_region *mem, 26 struct ttm_resource *res); 27 28void intel_region_ttm_resource_free(struct intel_memory_region *mem, 29 struct ttm_resource *res); 30 31int intel_region_to_ttm_type(const struct intel_memory_region *mem); 32 33struct ttm_device_funcs *i915_ttm_driver(void); 34 35#ifdef CONFIG_DRM_I915_SELFTEST 36struct ttm_resource * 37intel_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