linux/drivers/gpu/drm/xe/xe_pci_types.h

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

#ifndef _XE_PCI_TYPES_H_
#define _XE_PCI_TYPES_H_

#include <linux/types.h>

struct xe_graphics_desc {
	const char *name;
	u8 ver;
	u8 rel;

	u8 dma_mask_size;	/* available DMA address bits */
	u8 va_bits;
	u8 vm_max_level;
	u8 vram_flags;

	u64 hw_engine_mask;	/* hardware engines provided by graphics IP */

	u32 tile_mmio_ext_size; /* size of MMIO extension space, per-tile */

	u8 max_remote_tiles:2;

	u8 has_asid:1;
	u8 has_atomic_enable_pte_bit:1;
	u8 has_flat_ccs:1;
	u8 has_indirect_ring_state:1;
	u8 has_range_tlb_invalidation:1;
	u8 has_usm:1;
};

struct xe_media_desc {
	const char *name;
	u8 ver;
	u8 rel;

	u64 hw_engine_mask;	/* hardware engines provided by media IP */

	u8 has_indirect_ring_state:1;
};

struct gmdid_map {
	unsigned int ver;
	const void *ip;
};

#endif