1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2024 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_device; 12 struct intel_stolen_node; 13 14 int i915_gem_stolen_insert_node_in_range(struct intel_stolen_node *node, u64 size, 15 unsigned int align, u64 start, u64 end); 16 17 int i915_gem_stolen_insert_node(struct intel_stolen_node *node, u64 size, 18 unsigned int align); 19 20 void i915_gem_stolen_remove_node(struct intel_stolen_node *node); 21 22 bool i915_gem_stolen_initialized(struct drm_device *drm); 23 24 bool i915_gem_stolen_node_allocated(const struct intel_stolen_node *node); 25 26 u32 i915_gem_stolen_node_offset(struct intel_stolen_node *node); 27 28 u64 i915_gem_stolen_area_address(struct drm_device *drm); 29 30 u64 i915_gem_stolen_area_size(struct drm_device *drm); 31 32 u64 i915_gem_stolen_node_address(struct intel_stolen_node *node); 33 34 u64 i915_gem_stolen_node_size(const struct intel_stolen_node *node); 35 36 struct intel_stolen_node *i915_gem_stolen_node_alloc(struct drm_device *drm); 37 38 void i915_gem_stolen_node_free(const struct intel_stolen_node *node); 39 40 #endif 41