hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2019 Intel Corporation
 */
 
#ifndef __I915_GEM_STOLEN_H__
#define __I915_GEM_STOLEN_H__
 
#include <linux/types.h>
 
struct drm_i915_private;
struct drm_mm_node;
struct drm_i915_gem_object;
 
int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv,
               struct drm_mm_node *node, u64 size,
               unsigned alignment);
int i915_gem_stolen_insert_node_in_range(struct drm_i915_private *dev_priv,
                    struct drm_mm_node *node, u64 size,
                    unsigned alignment, u64 start,
                    u64 end);
void i915_gem_stolen_remove_node(struct drm_i915_private *dev_priv,
                struct drm_mm_node *node);
struct intel_memory_region *i915_gem_stolen_setup(struct drm_i915_private *i915);
struct drm_i915_gem_object *
i915_gem_object_create_stolen(struct drm_i915_private *dev_priv,
                 resource_size_t size);
struct drm_i915_gem_object *
i915_gem_object_create_stolen_for_preallocated(struct drm_i915_private *dev_priv,
                          resource_size_t stolen_offset,
                          resource_size_t size);
 
#define I915_GEM_STOLEN_BIAS SZ_128K
 
#endif /* __I915_GEM_STOLEN_H__ */