1 /* $NetBSD: i915_gem_stolen.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_STOLEN_H__ 9 #define __I915_GEM_STOLEN_H__ 10 11 #include <linux/types.h> 12 13 struct drm_i915_private; 14 struct drm_mm_node; 15 struct drm_i915_gem_object; 16 17 int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv, 18 struct drm_mm_node *node, u64 size, 19 unsigned alignment); 20 int i915_gem_stolen_insert_node_in_range(struct drm_i915_private *dev_priv, 21 struct drm_mm_node *node, u64 size, 22 unsigned alignment, u64 start, 23 u64 end); 24 void i915_gem_stolen_remove_node(struct drm_i915_private *dev_priv, 25 struct drm_mm_node *node); 26 struct intel_memory_region *i915_gem_stolen_setup(struct drm_i915_private *i915); 27 struct drm_i915_gem_object * 28 i915_gem_object_create_stolen(struct drm_i915_private *dev_priv, 29 resource_size_t size); 30 struct drm_i915_gem_object * 31 i915_gem_object_create_stolen_for_preallocated(struct drm_i915_private *dev_priv, 32 resource_size_t stolen_offset, 33 resource_size_t gtt_offset, 34 resource_size_t size); 35 36 #endif /* __I915_GEM_STOLEN_H__ */ 37