Home | History | Annotate | Line # | Download | only in gem
      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