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 
24*0ff37575SThomas Hellström bool __i915_gem_object_is_lmem(struct drm_i915_gem_object *obj);
25*0ff37575SThomas Hellström 
26b908be54SMatthew Auld struct drm_i915_gem_object *
27b908be54SMatthew Auld i915_gem_object_create_lmem(struct drm_i915_private *i915,
28b908be54SMatthew Auld 			    resource_size_t size,
29b908be54SMatthew Auld 			    unsigned int flags);
30b908be54SMatthew Auld 
31b908be54SMatthew Auld #endif /* !__I915_GEM_LMEM_H */
32