Files
linux/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
Jani Nikula d3741f2c86 drm/{i915, xe}/stolen: convert stolen interface to struct drm_device
Make the stolen interface agnostic to i915/xe, and pass struct
drm_device instead.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/bbfc2aeaeee3156e92d49c73983be05b6feeede2.1758732183.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2025-09-29 12:41:31 +03:00

51 lines
1.6 KiB
C

/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2019 Intel Corporation
*/
#ifndef __I915_GEM_STOLEN_H__
#define __I915_GEM_STOLEN_H__
#include <linux/types.h>
struct drm_device;
struct drm_i915_gem_object;
struct drm_i915_private;
struct intel_stolen_node;
int i915_gem_stolen_insert_node(struct intel_stolen_node *node, u64 size,
unsigned alignment);
int i915_gem_stolen_insert_node_in_range(struct intel_stolen_node *node, u64 size,
unsigned alignment, u64 start,
u64 end);
void i915_gem_stolen_remove_node(struct intel_stolen_node *node);
struct intel_memory_region *
i915_gem_stolen_smem_setup(struct drm_i915_private *i915, u16 type,
u16 instance);
struct intel_memory_region *
i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
u16 instance);
struct drm_i915_gem_object *
i915_gem_object_create_stolen(struct drm_i915_private *i915,
resource_size_t size);
bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj);
#define I915_GEM_STOLEN_BIAS SZ_128K
bool i915_gem_stolen_initialized(struct drm_device *drm);
u64 i915_gem_stolen_area_address(struct drm_device *drm);
u64 i915_gem_stolen_area_size(struct drm_device *drm);
u64 i915_gem_stolen_node_address(const struct intel_stolen_node *node);
bool i915_gem_stolen_node_allocated(const struct intel_stolen_node *node);
u64 i915_gem_stolen_node_offset(const struct intel_stolen_node *node);
u64 i915_gem_stolen_node_size(const struct intel_stolen_node *node);
struct intel_stolen_node *i915_gem_stolen_node_alloc(struct drm_device *drm);
void i915_gem_stolen_node_free(const struct intel_stolen_node *node);
#endif /* __I915_GEM_STOLEN_H__ */