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
13struct intel_memory_region;
14struct drm_i915_gem_object;
15struct sg_table;
16
17int i915_gem_object_get_pages_buddy(struct drm_i915_gem_object *obj);
18void i915_gem_object_put_pages_buddy(struct drm_i915_gem_object *obj,
19				     struct sg_table *pages);
20
21void i915_gem_object_init_memory_region(struct drm_i915_gem_object *obj,
22					struct intel_memory_region *mem,
23					unsigned long flags);
24void i915_gem_object_release_memory_region(struct drm_i915_gem_object *obj);
25
26struct drm_i915_gem_object *
27i915_gem_object_create_region(struct intel_memory_region *mem,
28			      resource_size_t size,
29			      unsigned int flags);
30
31#endif
32