linux/drivers/gpu/drm/i915/gt/gen6_ppgtt.c

// SPDX-License-Identifier: MIT
/*
 * Copyright © 2020 Intel Corporation
 */

#include <linux/log2.h>

#include "gem/i915_gem_internal.h"

#include "gen6_ppgtt.h"
#include "i915_scatterlist.h"
#include "i915_trace.h"
#include "i915_vgpu.h"
#include "intel_gt_regs.h"
#include "intel_engine_regs.h"
#include "intel_gt.h"

/* Write pde (index) from the page directory @pd to the page table @pt */
static void gen6_write_pde(const struct gen6_ppgtt *ppgtt,
			   const unsigned int pde,
			   const struct i915_page_table *pt)
{}

void gen7_ppgtt_enable(struct intel_gt *gt)
{}

void gen6_ppgtt_enable(struct intel_gt *gt)
{}

/* PPGTT support for Sandybdrige/Gen6 and later */
static void gen6_ppgtt_clear_range(struct i915_address_space *vm,
				   u64 start, u64 length)
{}

static void gen6_ppgtt_insert_entries(struct i915_address_space *vm,
				      struct i915_vma_resource *vma_res,
				      unsigned int pat_index,
				      u32 flags)
{}

static void gen6_flush_pd(struct gen6_ppgtt *ppgtt, u64 start, u64 end)
{}

static void gen6_alloc_va_range(struct i915_address_space *vm,
				struct i915_vm_pt_stash *stash,
				u64 start, u64 length)
{}

static int gen6_ppgtt_init_scratch(struct gen6_ppgtt *ppgtt)
{}

static void gen6_ppgtt_free_pd(struct gen6_ppgtt *ppgtt)
{}

static void gen6_ppgtt_cleanup(struct i915_address_space *vm)
{}

static void pd_vma_bind(struct i915_address_space *vm,
			struct i915_vm_pt_stash *stash,
			struct i915_vma_resource *vma_res,
			unsigned int pat_index,
			u32 unused)
{}

static void pd_vma_unbind(struct i915_address_space *vm,
			  struct i915_vma_resource *vma_res)
{}

static const struct i915_vma_ops pd_vma_ops =;

int gen6_ppgtt_pin(struct i915_ppgtt *base, struct i915_gem_ww_ctx *ww)
{}

static int pd_dummy_obj_get_pages(struct drm_i915_gem_object *obj)
{}

static void pd_dummy_obj_put_pages(struct drm_i915_gem_object *obj,
				   struct sg_table *pages)
{}

static const struct drm_i915_gem_object_ops pd_dummy_obj_ops =;

static struct i915_page_directory *
gen6_alloc_top_pd(struct gen6_ppgtt *ppgtt)
{}

void gen6_ppgtt_unpin(struct i915_ppgtt *base)
{}

struct i915_ppgtt *gen6_ppgtt_create(struct intel_gt *gt)
{}