drivers/gpu/drm/amd/amdgpu/iceland_sdma_pkt_open.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/amdgpu/iceland_sdma_pkt_open.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/amdgpu/iceland_sdma_pkt_open.h- Extension
.h- Size
- 119781 bytes
- Lines
- 2173
- 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.
- 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
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef __ICELAND_SDMA_PKT_OPEN_H_
#define __ICELAND_SDMA_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_GEN_PTEPDE 12
#define SDMA_OP_TIMESTAMP 13
#define SDMA_OP_SRBM_WRITE 14
#define SDMA_OP_PRE_EXE 15
#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_WRITE_LINEAR 0
#define SDMA_SUBOP_WRITE_TILED 1
/*define for op field*/
#define SDMA_PKT_HEADER_op_offset 0
#define SDMA_PKT_HEADER_op_mask 0x000000FF
#define SDMA_PKT_HEADER_op_shift 0
#define SDMA_PKT_HEADER_OP(x) (((x) & SDMA_PKT_HEADER_op_mask) << SDMA_PKT_HEADER_op_shift)
/*define for sub_op field*/
#define SDMA_PKT_HEADER_sub_op_offset 0
#define SDMA_PKT_HEADER_sub_op_mask 0x000000FF
#define SDMA_PKT_HEADER_sub_op_shift 8
#define SDMA_PKT_HEADER_SUB_OP(x) (((x) & SDMA_PKT_HEADER_sub_op_mask) << SDMA_PKT_HEADER_sub_op_shift)
/*
** 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)
/*define for sub_op field*/
#define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_offset 0
#define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_mask 0x000000FF
#define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_shift 8
#define SDMA_PKT_COPY_LINEAR_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_sub_op_mask) << SDMA_PKT_COPY_LINEAR_HEADER_sub_op_shift)
/*define for broadcast field*/
#define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_offset 0
#define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_mask 0x00000001
#define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_shift 27
#define SDMA_PKT_COPY_LINEAR_HEADER_BROADCAST(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_broadcast_mask) << SDMA_PKT_COPY_LINEAR_HEADER_broadcast_shift)
/*define for COUNT word*/
/*define for count field*/
#define SDMA_PKT_COPY_LINEAR_COUNT_count_offset 1
#define SDMA_PKT_COPY_LINEAR_COUNT_count_mask 0x003FFFFF
#define SDMA_PKT_COPY_LINEAR_COUNT_count_shift 0
#define SDMA_PKT_COPY_LINEAR_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_LINEAR_COUNT_count_mask) << SDMA_PKT_COPY_LINEAR_COUNT_count_shift)
/*define for PARAMETER word*/
/*define for dst_sw field*/
#define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_offset 2
#define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_mask 0x00000003
#define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_shift 16
#define SDMA_PKT_COPY_LINEAR_PARAMETER_DST_SW(x) (((x) & SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_mask) << SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_shift)
/*define for dst_ha field*/
#define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_offset 2
#define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_mask 0x00000001
#define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_shift 22
#define SDMA_PKT_COPY_LINEAR_PARAMETER_DST_HA(x) (((x) & SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_mask) << SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_shift)
/*define for src_sw field*/
#define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_offset 2
#define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_mask 0x00000003
#define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_shift 24
#define SDMA_PKT_COPY_LINEAR_PARAMETER_SRC_SW(x) (((x) & SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_mask) << SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_shift)
Annotation
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.