drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
Extension
.h
Size
9241 bytes
Lines
175
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _XE_GFXPIPE_COMMANDS_H_
#define _XE_GFXPIPE_COMMANDS_H_

#include "instructions/xe_instr_defs.h"

#define GFXPIPE_PIPELINE		REG_GENMASK(28, 27)
#define   PIPELINE_COMMON		REG_FIELD_PREP(GFXPIPE_PIPELINE, 0x0)
#define   PIPELINE_SINGLE_DW		REG_FIELD_PREP(GFXPIPE_PIPELINE, 0x1)
#define   PIPELINE_COMPUTE		REG_FIELD_PREP(GFXPIPE_PIPELINE, 0x2)
#define   PIPELINE_3D			REG_FIELD_PREP(GFXPIPE_PIPELINE, 0x3)

#define GFXPIPE_OPCODE			REG_GENMASK(26, 24)
#define GFXPIPE_SUBOPCODE		REG_GENMASK(23, 16)

#define GFXPIPE_MATCH_MASK		(XE_INSTR_CMD_TYPE | \
					 GFXPIPE_PIPELINE | \
					 GFXPIPE_OPCODE | \
					 GFXPIPE_SUBOPCODE)

#define GFXPIPE_COMMON_CMD(opcode, subopcode) \
	(XE_INSTR_GFXPIPE | PIPELINE_COMMON | \
	 REG_FIELD_PREP(GFXPIPE_OPCODE, opcode) | \
	 REG_FIELD_PREP(GFXPIPE_SUBOPCODE, subopcode))

#define GFXPIPE_SINGLE_DW_CMD(opcode, subopcode) \
	(XE_INSTR_GFXPIPE | PIPELINE_SINGLE_DW | \
	 REG_FIELD_PREP(GFXPIPE_OPCODE, opcode) | \
	 REG_FIELD_PREP(GFXPIPE_SUBOPCODE, subopcode))

#define GFXPIPE_3D_CMD(opcode, subopcode) \
	(XE_INSTR_GFXPIPE | PIPELINE_3D | \
	 REG_FIELD_PREP(GFXPIPE_OPCODE, opcode) | \
	 REG_FIELD_PREP(GFXPIPE_SUBOPCODE, subopcode))

#define GFXPIPE_COMPUTE_CMD(opcode, subopcode) \
	(XE_INSTR_GFXPIPE | PIPELINE_COMPUTE | \
	 REG_FIELD_PREP(GFXPIPE_OPCODE, opcode) | \
	 REG_FIELD_PREP(GFXPIPE_SUBOPCODE, subopcode))

#define STATE_BASE_ADDRESS			GFXPIPE_COMMON_CMD(0x1, 0x1)
#define STATE_SIP				GFXPIPE_COMMON_CMD(0x1, 0x2)
#define GPGPU_CSR_BASE_ADDRESS			GFXPIPE_COMMON_CMD(0x1, 0x4)
#define STATE_COMPUTE_MODE			GFXPIPE_COMMON_CMD(0x1, 0x5)
#define CMD_3DSTATE_BTD				GFXPIPE_COMMON_CMD(0x1, 0x6)
#define STATE_SYSTEM_MEM_FENCE_ADDRESS		GFXPIPE_COMMON_CMD(0x1, 0x9)
#define STATE_CONTEXT_DATA_BASE_ADDRESS		GFXPIPE_COMMON_CMD(0x1, 0xB)

#define CMD_3DSTATE_VF_STATISTICS		GFXPIPE_SINGLE_DW_CMD(0x0, 0xB)

#define PIPELINE_SELECT				GFXPIPE_SINGLE_DW_CMD(0x1, 0x4)

#define CMD_3DSTATE_DRAWING_RECTANGLE_FAST	GFXPIPE_3D_CMD(0x0, 0x0)
#define CMD_3DSTATE_CUSTOM_SAMPLE_PATTERN	GFXPIPE_3D_CMD(0x0, 0x2)
#define CMD_3DSTATE_CLEAR_PARAMS		GFXPIPE_3D_CMD(0x0, 0x4)
#define CMD_3DSTATE_DEPTH_BUFFER		GFXPIPE_3D_CMD(0x0, 0x5)
#define CMD_3DSTATE_STENCIL_BUFFER		GFXPIPE_3D_CMD(0x0, 0x6)
#define CMD_3DSTATE_HIER_DEPTH_BUFFER		GFXPIPE_3D_CMD(0x0, 0x7)
#define CMD_3DSTATE_VERTEX_BUFFERS		GFXPIPE_3D_CMD(0x0, 0x8)
#define CMD_3DSTATE_VERTEX_ELEMENTS		GFXPIPE_3D_CMD(0x0, 0x9)
#define CMD_3DSTATE_INDEX_BUFFER		GFXPIPE_3D_CMD(0x0, 0xA)
#define CMD_3DSTATE_VF				GFXPIPE_3D_CMD(0x0, 0xC)
#define CMD_3DSTATE_MULTISAMPLE			GFXPIPE_3D_CMD(0x0, 0xD)
#define CMD_3DSTATE_CC_STATE_POINTERS		GFXPIPE_3D_CMD(0x0, 0xE)
#define CMD_3DSTATE_SCISSOR_STATE_POINTERS	GFXPIPE_3D_CMD(0x0, 0xF)
#define CMD_3DSTATE_VS				GFXPIPE_3D_CMD(0x0, 0x10)
#define CMD_3DSTATE_GS				GFXPIPE_3D_CMD(0x0, 0x11)
#define CMD_3DSTATE_CLIP			GFXPIPE_3D_CMD(0x0, 0x12)
#define CMD_3DSTATE_SF				GFXPIPE_3D_CMD(0x0, 0x13)
#define CMD_3DSTATE_WM				GFXPIPE_3D_CMD(0x0, 0x14)
#define CMD_3DSTATE_CONSTANT_VS			GFXPIPE_3D_CMD(0x0, 0x15)
#define CMD_3DSTATE_CONSTANT_GS			GFXPIPE_3D_CMD(0x0, 0x16)
#define CMD_3DSTATE_CONSTANT_PS			GFXPIPE_3D_CMD(0x0, 0x17)
#define CMD_3DSTATE_SAMPLE_MASK			GFXPIPE_3D_CMD(0x0, 0x18)
#define CMD_3DSTATE_CONSTANT_HS			GFXPIPE_3D_CMD(0x0, 0x19)
#define CMD_3DSTATE_CONSTANT_DS			GFXPIPE_3D_CMD(0x0, 0x1A)
#define CMD_3DSTATE_HS				GFXPIPE_3D_CMD(0x0, 0x1B)
#define CMD_3DSTATE_TE				GFXPIPE_3D_CMD(0x0, 0x1C)
#define CMD_3DSTATE_DS				GFXPIPE_3D_CMD(0x0, 0x1D)
#define CMD_3DSTATE_STREAMOUT			GFXPIPE_3D_CMD(0x0, 0x1E)
#define CMD_3DSTATE_SBE				GFXPIPE_3D_CMD(0x0, 0x1F)
#define CMD_3DSTATE_PS				GFXPIPE_3D_CMD(0x0, 0x20)
#define CMD_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP	GFXPIPE_3D_CMD(0x0, 0x21)
#define CMD_3DSTATE_CPS_POINTERS		GFXPIPE_3D_CMD(0x0, 0x22)
#define CMD_3DSTATE_VIEWPORT_STATE_POINTERS_CC	GFXPIPE_3D_CMD(0x0, 0x23)
#define CMD_3DSTATE_BLEND_STATE_POINTERS	GFXPIPE_3D_CMD(0x0, 0x24)
#define CMD_3DSTATE_BINDING_TABLE_POINTERS_VS	GFXPIPE_3D_CMD(0x0, 0x26)
#define CMD_3DSTATE_BINDING_TABLE_POINTERS_HS	GFXPIPE_3D_CMD(0x0, 0x27)
#define CMD_3DSTATE_BINDING_TABLE_POINTERS_DS	GFXPIPE_3D_CMD(0x0, 0x28)
#define CMD_3DSTATE_BINDING_TABLE_POINTERS_GS	GFXPIPE_3D_CMD(0x0, 0x29)
#define CMD_3DSTATE_BINDING_TABLE_POINTERS_PS	GFXPIPE_3D_CMD(0x0, 0x2A)

Annotation

Implementation Notes