34 lines
859 B
C
34 lines
859 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2022 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_TTM_STOLEN_MGR_H_
|
|
#define _XE_TTM_STOLEN_MGR_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct ttm_resource;
|
|
struct xe_bo;
|
|
struct xe_device;
|
|
|
|
/**
|
|
* struct xe_ttm_stolen_mgr - Xe TTM stolen memory manager
|
|
*/
|
|
struct xe_ttm_stolen_mgr {
|
|
/** @io_base: PCI base offset for CPU I/O access */
|
|
resource_size_t io_base;
|
|
/** @stolen_base: GPU base offset */
|
|
resource_size_t stolen_base;
|
|
/** @mapping: I/O memory mapping for CPU access */
|
|
void __iomem *mapping;
|
|
};
|
|
|
|
int xe_ttm_stolen_mgr_init(struct xe_device *xe);
|
|
int xe_ttm_stolen_io_mem_reserve(struct xe_device *xe, struct ttm_resource *mem);
|
|
bool xe_ttm_stolen_cpu_access_needs_ggtt(struct xe_device *xe);
|
|
u64 xe_ttm_stolen_io_offset(struct xe_bo *bo, u32 offset);
|
|
u64 xe_ttm_stolen_gpu_offset(struct xe_device *xe);
|
|
|
|
#endif
|