drivers/gpu/drm/amd/amdgpu/sdma_v7_1_0_pkt_open.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/amdgpu/sdma_v7_1_0_pkt_open.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/amdgpu/sdma_v7_1_0_pkt_open.h
Extension
.h
Size
331210 bytes
Lines
5674
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 __SDMA_V7_1_0_PKT_OPEN_H_
#define __SDMA_V7_1_0_PKT_OPEN_H_

#define SDMA_OP_NOP  0
#define SDMA_OP_COPY  1
#define SDMA_OP_WRITE  2
#define SDMA_OP_INDIRECT  4
#define SDMA_OP_FENCE  5
#define SDMA_OP_TRAP  6
#define SDMA_OP_SEM  7
#define SDMA_OP_POLL_REGMEM  8
#define SDMA_OP_COND_EXE  9
#define SDMA_OP_ATOMIC  10
#define SDMA_OP_CONST_FILL  11
#define SDMA_OP_PTEPDE  12
#define SDMA_OP_TIMESTAMP  13
#define SDMA_OP_SRBM_WRITE  14
#define SDMA_OP_PRE_EXE  15
#define SDMA_OP_GPUVM_INV  16
#define SDMA_OP_GCR_REQ  17
#define SDMA_OP_DUMMY_TRAP  32
#define SDMA_SUBOP_TIMESTAMP_SET  0
#define SDMA_SUBOP_TIMESTAMP_GET  1
#define SDMA_SUBOP_TIMESTAMP_GET_GLOBAL  2
#define SDMA_SUBOP_COPY_LINEAR  0
#define SDMA_SUBOP_COPY_LINEAR_SUB_WIND  4
#define SDMA_SUBOP_COPY_TILED  1
#define SDMA_SUBOP_COPY_TILED_SUB_WIND  5
#define SDMA_SUBOP_COPY_T2T_SUB_WIND  6
#define SDMA_SUBOP_COPY_SOA  3
#define SDMA_SUBOP_COPY_DIRTY_PAGE  7
#define SDMA_SUBOP_COPY_LINEAR_PHY  8
#define SDMA_SUBOP_COPY_LINEAR_SUB_WIND_LARGE  36
#define SDMA_SUBOP_COPY_LINEAR_BC  16
#define SDMA_SUBOP_COPY_TILED_BC  17
#define SDMA_SUBOP_COPY_LINEAR_SUB_WIND_BC  20
#define SDMA_SUBOP_COPY_TILED_SUB_WIND_BC  21
#define SDMA_SUBOP_COPY_T2T_SUB_WIND_BC  22
#define SDMA_SUBOP_WRITE_LINEAR  0
#define SDMA_SUBOP_WRITE_TILED  1
#define SDMA_SUBOP_WRITE_TILED_BC  17
#define SDMA_SUBOP_PTEPDE_GEN  0
#define SDMA_SUBOP_PTEPDE_COPY  1
#define SDMA_SUBOP_PTEPDE_RMW  2
#define SDMA_SUBOP_PTEPDE_COPY_BACKWARDS  3
#define SDMA_SUBOP_MEM_INCR  1
#define SDMA_SUBOP_DATA_FILL_MULTI  1
#define SDMA_SUBOP_POLL_REG_WRITE_MEM  1
#define SDMA_SUBOP_POLL_DBIT_WRITE_MEM  2
#define SDMA_SUBOP_POLL_MEM_VERIFY  3
#define SDMA_SUBOP_VM_INVALIDATION  4
#define HEADER_AGENT_DISPATCH  4
#define HEADER_BARRIER  5
#define SDMA_OP_AQL_COPY  0
#define SDMA_OP_AQL_BARRIER_OR  0

#define SDMA_GCR_RANGE_IS_PA		(1 << 18)
#define SDMA_GCR_SEQ(x)			(((x) & 0x3) << 16)
#define SDMA_GCR_GL2_WB			(1 << 15)
#define SDMA_GCR_GL2_INV		(1 << 14)
#define SDMA_GCR_GL2_DISCARD		(1 << 13)
#define SDMA_GCR_GL2_RANGE(x)		(((x) & 0x3) << 11)
#define SDMA_GCR_GL2_US			(1 << 10)
#define SDMA_GCR_GL1_INV		(1 << 9)
#define SDMA_GCR_GLV_INV		(1 << 8)
#define SDMA_GCR_GLK_INV		(1 << 7)
#define SDMA_GCR_GLK_WB			(1 << 6)
#define SDMA_GCR_GLM_INV		(1 << 5)
#define SDMA_GCR_GLM_WB			(1 << 4)
#define SDMA_GCR_GL1_RANGE(x)		(((x) & 0x3) << 2)
#define SDMA_GCR_GLI_INV(x)		(((x) & 0x3) << 0)

#define SDMA_DCC_DATA_FORMAT(x) ((x) & 0x3f)
#define SDMA_DCC_NUM_TYPE(x) (((x) & 0x7) << 9)
#define SDMA_DCC_READ_CM(x) (((x) & 0x3) << 16)
#define SDMA_DCC_WRITE_CM(x) (((x) & 0x3) << 18)
#define SDMA_DCC_MAX_COM(x) (((x) & 0x3) << 24)
#define SDMA_DCC_MAX_UCOM(x) (((x) & 0x1) << 26)

/*
** Definitions for SDMA_PKT_COPY_LINEAR packet
*/

/*define for HEADER word*/
/*define for op field*/
#define SDMA_PKT_COPY_LINEAR_HEADER_op_offset 0
#define SDMA_PKT_COPY_LINEAR_HEADER_op_mask   0x000000FF
#define SDMA_PKT_COPY_LINEAR_HEADER_op_shift  0
#define SDMA_PKT_COPY_LINEAR_HEADER_OP(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_op_mask) << SDMA_PKT_COPY_LINEAR_HEADER_op_shift)

Annotation

Implementation Notes