1 /*	$NetBSD: i915_gem_region.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $	*/
2 
3 /* SPDX-License-Identifier: MIT */
4 /*
5  * Copyright © 2019 Intel Corporation
6  */
7 
8 #ifndef __I915_GEM_REGION_H__
9 #define __I915_GEM_REGION_H__
10 
11 #include <linux/types.h>
12 
13 struct intel_memory_region;
14 struct drm_i915_gem_object;
15 struct sg_table;
16 
17 int i915_gem_object_get_pages_buddy(struct drm_i915_gem_object *obj);
18 void i915_gem_object_put_pages_buddy(struct drm_i915_gem_object *obj,
19 				     struct sg_table *pages);
20 
21 void i915_gem_object_init_memory_region(struct drm_i915_gem_object *obj,
22 					struct intel_memory_region *mem,
23 					unsigned long flags);
24 void i915_gem_object_release_memory_region(struct drm_i915_gem_object *obj);
25 
26 struct drm_i915_gem_object *
27 i915_gem_object_create_region(struct intel_memory_region *mem,
28 			      resource_size_t size,
29 			      unsigned int flags);
30 
31 #endif
32