42 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/**************************************************************************3 * Copyright (c) 2007-2008, Intel Corporation.4 * All Rights Reserved.5 *6 **************************************************************************/7 8#ifndef _PSB_GTT_H_9#define _PSB_GTT_H_10 11#include <drm/drm_gem.h>12 13struct drm_psb_private;14 15/* This wants cleaning up with respect to the psb_dev and un-needed stuff */16struct psb_gtt {17 uint32_t gatt_start;18 uint32_t mmu_gatt_start;19 uint32_t gtt_start;20 uint32_t gtt_phys_start;21 unsigned gtt_pages;22 unsigned gatt_pages;23 unsigned long stolen_size;24 unsigned long vram_stolen_size;25};26 27/* Exported functions */28int psb_gtt_init(struct drm_device *dev);29void psb_gtt_fini(struct drm_device *dev);30int psb_gtt_resume(struct drm_device *dev);31 32int psb_gtt_allocate_resource(struct drm_psb_private *pdev, struct resource *res,33 const char *name, resource_size_t size, resource_size_t align,34 bool stolen, u32 *offset);35 36uint32_t psb_gtt_mask_pte(uint32_t pfn, int type);37void psb_gtt_insert_pages(struct drm_psb_private *pdev, const struct resource *res,38 struct page **pages);39void psb_gtt_remove_pages(struct drm_psb_private *pdev, const struct resource *res);40 41#endif42