#include <linux/errno.h>
#include <linux/mutex.h>
#include <drm/drm_mm.h>
#include <drm/intel/i915_drm.h>
#include "gem/i915_gem_lmem.h"
#include "gem/i915_gem_region.h"
#include "gt/intel_gt.h"
#include "gt/intel_gt_mcr.h"
#include "gt/intel_gt_regs.h"
#include "gt/intel_region_lmem.h"
#include "i915_drv.h"
#include "i915_gem_stolen.h"
#include "i915_pci.h"
#include "i915_reg.h"
#include "i915_utils.h"
#include "i915_vgpu.h"
#include "intel_mchbar_regs.h"
#include "intel_pci_config.h"
int i915_gem_stolen_insert_node_in_range(struct drm_i915_private *i915,
struct drm_mm_node *node, u64 size,
unsigned alignment, u64 start, u64 end)
{ … }
int i915_gem_stolen_insert_node(struct drm_i915_private *i915,
struct drm_mm_node *node, u64 size,
unsigned alignment)
{ … }
void i915_gem_stolen_remove_node(struct drm_i915_private *i915,
struct drm_mm_node *node)
{ … }
static bool valid_stolen_size(struct drm_i915_private *i915, struct resource *dsm)
{ … }
static int adjust_stolen(struct drm_i915_private *i915,
struct resource *dsm)
{ … }
static int request_smem_stolen(struct drm_i915_private *i915,
struct resource *dsm)
{ … }
static void i915_gem_cleanup_stolen(struct drm_i915_private *i915)
{ … }
static void g4x_get_stolen_reserved(struct drm_i915_private *i915,
struct intel_uncore *uncore,
resource_size_t *base,
resource_size_t *size)
{ … }
static void gen6_get_stolen_reserved(struct drm_i915_private *i915,
struct intel_uncore *uncore,
resource_size_t *base,
resource_size_t *size)
{ … }
static void vlv_get_stolen_reserved(struct drm_i915_private *i915,
struct intel_uncore *uncore,
resource_size_t *base,
resource_size_t *size)
{ … }
static void gen7_get_stolen_reserved(struct drm_i915_private *i915,
struct intel_uncore *uncore,
resource_size_t *base,
resource_size_t *size)
{ … }
static void chv_get_stolen_reserved(struct drm_i915_private *i915,
struct intel_uncore *uncore,
resource_size_t *base,
resource_size_t *size)
{ … }
static void bdw_get_stolen_reserved(struct drm_i915_private *i915,
struct intel_uncore *uncore,
resource_size_t *base,
resource_size_t *size)
{ … }
static void icl_get_stolen_reserved(struct drm_i915_private *i915,
struct intel_uncore *uncore,
resource_size_t *base,
resource_size_t *size)
{ … }
static int init_reserved_stolen(struct drm_i915_private *i915)
{ … }
static int i915_gem_init_stolen(struct intel_memory_region *mem)
{ … }
static void dbg_poison(struct i915_ggtt *ggtt,
dma_addr_t addr, resource_size_t size,
u8 x)
{ … }
static struct sg_table *
i915_pages_create_for_stolen(struct drm_device *dev,
resource_size_t offset, resource_size_t size)
{ … }
static int i915_gem_object_get_pages_stolen(struct drm_i915_gem_object *obj)
{ … }
static void i915_gem_object_put_pages_stolen(struct drm_i915_gem_object *obj,
struct sg_table *pages)
{ … }
static void
i915_gem_object_release_stolen(struct drm_i915_gem_object *obj)
{ … }
static const struct drm_i915_gem_object_ops i915_gem_object_stolen_ops = …;
static int __i915_gem_object_create_stolen(struct intel_memory_region *mem,
struct drm_i915_gem_object *obj,
struct drm_mm_node *stolen)
{ … }
static int _i915_gem_object_stolen_init(struct intel_memory_region *mem,
struct drm_i915_gem_object *obj,
resource_size_t offset,
resource_size_t size,
resource_size_t page_size,
unsigned int flags)
{ … }
struct drm_i915_gem_object *
i915_gem_object_create_stolen(struct drm_i915_private *i915,
resource_size_t size)
{ … }
static int init_stolen_smem(struct intel_memory_region *mem)
{ … }
static int release_stolen_smem(struct intel_memory_region *mem)
{ … }
static const struct intel_memory_region_ops i915_region_stolen_smem_ops = …;
static int init_stolen_lmem(struct intel_memory_region *mem)
{ … }
static int release_stolen_lmem(struct intel_memory_region *mem)
{ … }
static const struct intel_memory_region_ops i915_region_stolen_lmem_ops = …;
static int mtl_get_gms_size(struct intel_uncore *uncore)
{ … }
struct intel_memory_region *
i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
u16 instance)
{ … }
struct intel_memory_region*
i915_gem_stolen_smem_setup(struct drm_i915_private *i915, u16 type,
u16 instance)
{ … }
bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj)
{ … }
bool i915_gem_stolen_initialized(const struct drm_i915_private *i915)
{ … }
u64 i915_gem_stolen_area_address(const struct drm_i915_private *i915)
{ … }
u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915)
{ … }
u64 i915_gem_stolen_node_address(const struct drm_i915_private *i915,
const struct drm_mm_node *node)
{ … }
bool i915_gem_stolen_node_allocated(const struct drm_mm_node *node)
{ … }
u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node)
{ … }
u64 i915_gem_stolen_node_size(const struct drm_mm_node *node)
{ … }