1b908be54SMatthew Auld /* SPDX-License-Identifier: MIT */
2b908be54SMatthew Auld /*
3b908be54SMatthew Auld  * Copyright © 2019 Intel Corporation
4b908be54SMatthew Auld  */
5b908be54SMatthew Auld 
6b908be54SMatthew Auld #ifndef __I915_GEM_LMEM_H
7b908be54SMatthew Auld #define __I915_GEM_LMEM_H
8b908be54SMatthew Auld 
9b908be54SMatthew Auld #include <linux/types.h>
10b908be54SMatthew Auld 
11b908be54SMatthew Auld struct drm_i915_private;
12b908be54SMatthew Auld struct drm_i915_gem_object;
13b908be54SMatthew Auld struct intel_memory_region;
14b908be54SMatthew Auld 
15b908be54SMatthew Auld extern const struct drm_i915_gem_object_ops i915_gem_lmem_obj_ops;
16b908be54SMatthew Auld 
174bc91dbdSAnusha Srivatsa void __iomem *
184bc91dbdSAnusha Srivatsa i915_gem_object_lmem_io_map(struct drm_i915_gem_object *obj,
194bc91dbdSAnusha Srivatsa 			    unsigned long n,
204bc91dbdSAnusha Srivatsa 			    unsigned long size);
214bc91dbdSAnusha Srivatsa 
22b908be54SMatthew Auld bool i915_gem_object_is_lmem(struct drm_i915_gem_object *obj);
23b908be54SMatthew Auld 
240ff37575SThomas Hellström bool __i915_gem_object_is_lmem(struct drm_i915_gem_object *obj);
250ff37575SThomas Hellström 
26b908be54SMatthew Auld struct drm_i915_gem_object *
27*7acbbc7cSDaniele Ceraolo Spurio i915_gem_object_create_lmem_from_data(struct drm_i915_private *i915,
28*7acbbc7cSDaniele Ceraolo Spurio 				      const void *data, size_t size);
29*7acbbc7cSDaniele Ceraolo Spurio 
30*7acbbc7cSDaniele Ceraolo Spurio struct drm_i915_gem_object *
31d22632c8SMatthew Auld __i915_gem_object_create_lmem_with_ps(struct drm_i915_private *i915,
32d22632c8SMatthew Auld 				      resource_size_t size,
33d22632c8SMatthew Auld 				      resource_size_t page_size,
34d22632c8SMatthew Auld 				      unsigned int flags);
35d22632c8SMatthew Auld struct drm_i915_gem_object *
36b908be54SMatthew Auld i915_gem_object_create_lmem(struct drm_i915_private *i915,
37b908be54SMatthew Auld 			    resource_size_t size,
38b908be54SMatthew Auld 			    unsigned int flags);
39b908be54SMatthew Auld 
40b908be54SMatthew Auld #endif /* !__I915_GEM_LMEM_H */
41