]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/gpu/drm/i915/gem/i915_gem_stolen.h
Merge tag 'usercopy-v5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
[linux.git] / drivers / gpu / drm / i915 / gem / i915_gem_stolen.h
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
11 struct drm_i915_private;
12 struct drm_mm_node;
13 struct drm_i915_gem_object;
14
15 int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv,
16                                 struct drm_mm_node *node, u64 size,
17                                 unsigned alignment);
18 int 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);
22 void i915_gem_stolen_remove_node(struct drm_i915_private *dev_priv,
23                                  struct drm_mm_node *node);
24 int i915_gem_init_stolen(struct drm_i915_private *dev_priv);
25 void i915_gem_cleanup_stolen(struct drm_i915_private *dev_priv);
26 struct drm_i915_gem_object *
27 i915_gem_object_create_stolen(struct drm_i915_private *dev_priv,
28                               resource_size_t size);
29 struct drm_i915_gem_object *
30 i915_gem_object_create_stolen_for_preallocated(struct drm_i915_private *dev_priv,
31                                                resource_size_t stolen_offset,
32                                                resource_size_t gtt_offset,
33                                                resource_size_t size);
34
35 #endif /* __I915_GEM_STOLEN_H__ */