0001
0002
0003
0004
0005
0006 #ifndef __I915_GEM_STOLEN_H__
0007 #define __I915_GEM_STOLEN_H__
0008
0009 #include <linux/types.h>
0010
0011 struct drm_i915_private;
0012 struct drm_mm_node;
0013 struct drm_i915_gem_object;
0014
0015 int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv,
0016 struct drm_mm_node *node, u64 size,
0017 unsigned alignment);
0018 int i915_gem_stolen_insert_node_in_range(struct drm_i915_private *dev_priv,
0019 struct drm_mm_node *node, u64 size,
0020 unsigned alignment, u64 start,
0021 u64 end);
0022 void i915_gem_stolen_remove_node(struct drm_i915_private *dev_priv,
0023 struct drm_mm_node *node);
0024 struct intel_memory_region *
0025 i915_gem_stolen_smem_setup(struct drm_i915_private *i915, u16 type,
0026 u16 instance);
0027 struct intel_memory_region *
0028 i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
0029 u16 instance);
0030
0031 struct drm_i915_gem_object *
0032 i915_gem_object_create_stolen(struct drm_i915_private *dev_priv,
0033 resource_size_t size);
0034
0035 bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj);
0036
0037 #define I915_GEM_STOLEN_BIAS SZ_128K
0038
0039 #endif