Loading...
Note: File does not exist in v3.1.
1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2019 Intel Corporation
4 */
5
6#ifndef __I915_GEM_STOLEN_H__
7#define __I915_GEM_STOLEN_H__
8
9#include <linux/types.h>
10
11struct drm_i915_private;
12struct drm_mm_node;
13struct drm_i915_gem_object;
14
15int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv,
16 struct drm_mm_node *node, u64 size,
17 unsigned alignment);
18int i915_gem_stolen_insert_node_in_range(struct drm_i915_private *dev_priv,
19 struct drm_mm_node *node, u64 size,
20 unsigned alignment, u64 start,
21 u64 end);
22void i915_gem_stolen_remove_node(struct drm_i915_private *dev_priv,
23 struct drm_mm_node *node);
24struct intel_memory_region *
25i915_gem_stolen_smem_setup(struct drm_i915_private *i915, u16 type,
26 u16 instance);
27struct intel_memory_region *
28i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
29 u16 instance);
30
31struct drm_i915_gem_object *
32i915_gem_object_create_stolen(struct drm_i915_private *dev_priv,
33 resource_size_t size);
34struct drm_i915_gem_object *
35i915_gem_object_create_stolen_for_preallocated(struct drm_i915_private *dev_priv,
36 resource_size_t stolen_offset,
37 resource_size_t size);
38
39bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj);
40
41#define I915_GEM_STOLEN_BIAS SZ_128K
42
43#endif /* __I915_GEM_STOLEN_H__ */