xref: /openbsd/sys/dev/pci/drm/i915/gem/i915_gem_lmem.h (revision 4bdff4be)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2019 Intel Corporation
4  */
5 
6 #ifndef __I915_GEM_LMEM_H
7 #define __I915_GEM_LMEM_H
8 
9 #include <linux/types.h>
10 
11 #define drm_i915_private inteldrm_softc
12 struct drm_i915_private;
13 struct drm_i915_gem_object;
14 struct intel_memory_region;
15 
16 void *
17 i915_gem_object_lmem_io_map(struct drm_i915_gem_object *obj,
18 			    unsigned long n,
19 			    unsigned long size);
20 
21 bool i915_gem_object_is_lmem(struct drm_i915_gem_object *obj);
22 
23 bool __i915_gem_object_is_lmem(struct drm_i915_gem_object *obj);
24 
25 struct drm_i915_gem_object *
26 i915_gem_object_create_lmem_from_data(struct drm_i915_private *i915,
27 				      const void *data, size_t size);
28 
29 struct drm_i915_gem_object *
30 __i915_gem_object_create_lmem_with_ps(struct drm_i915_private *i915,
31 				      resource_size_t size,
32 				      resource_size_t page_size,
33 				      unsigned int flags);
34 struct drm_i915_gem_object *
35 i915_gem_object_create_lmem(struct drm_i915_private *i915,
36 			    resource_size_t size,
37 			    unsigned int flags);
38 
39 #endif /* !__I915_GEM_LMEM_H */
40