brintos

brintos / linux-shallow public Read only

0
0
Text · 1.7 KiB · dfe0db8 Raw
53 lines · c
1/* SPDX-License-Identifier: MIT */2/*3 * Copyright © 2019 Intel Corporation4 */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 15#define i915_stolen_fb drm_mm_node16 17int i915_gem_stolen_insert_node(struct drm_i915_private *i915,18				struct drm_mm_node *node, u64 size,19				unsigned alignment);20int i915_gem_stolen_insert_node_in_range(struct drm_i915_private *i915,21					 struct drm_mm_node *node, u64 size,22					 unsigned alignment, u64 start,23					 u64 end);24void i915_gem_stolen_remove_node(struct drm_i915_private *i915,25				 struct drm_mm_node *node);26struct intel_memory_region *27i915_gem_stolen_smem_setup(struct drm_i915_private *i915, u16 type,28			   u16 instance);29struct intel_memory_region *30i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,31			   u16 instance);32 33struct drm_i915_gem_object *34i915_gem_object_create_stolen(struct drm_i915_private *i915,35			      resource_size_t size);36 37bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj);38 39#define I915_GEM_STOLEN_BIAS SZ_128K40 41bool i915_gem_stolen_initialized(const struct drm_i915_private *i915);42u64 i915_gem_stolen_area_address(const struct drm_i915_private *i915);43u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915);44 45u64 i915_gem_stolen_node_address(const struct drm_i915_private *i915,46				 const struct drm_mm_node *node);47 48bool i915_gem_stolen_node_allocated(const struct drm_mm_node *node);49u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node);50u64 i915_gem_stolen_node_size(const struct drm_mm_node *node);51 52#endif /* __I915_GEM_STOLEN_H__ */53