drivers/accel/amdxdna/aie2_msg_priv.h
Source file repositories/reference/linux-study-clean/drivers/accel/amdxdna/aie2_msg_priv.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/accel/amdxdna/aie2_msg_priv.h- Extension
.h- Size
- 12280 bytes
- Lines
- 547
- Domain
- Driver Families
- Bucket
- drivers/accel
- 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.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct assign_mgmt_pasid_reqstruct assign_mgmt_pasid_respstruct map_host_buffer_reqstruct map_host_buffer_respstruct cq_infostruct cq_pairstruct create_ctx_reqstruct create_ctx_respstruct destroy_ctx_reqstruct destroy_ctx_respstruct get_telemetry_reqstruct get_telemetry_respstruct execute_buffer_reqstruct exec_dpu_reqstruct execute_buffer_respstruct aie_tile_infostruct aie_tile_info_reqstruct aie_tile_info_respstruct aie_version_info_reqstruct aie_version_info_respstruct aie_column_info_reqstruct aie_column_info_respstruct suspend_reqstruct suspend_respstruct resume_reqstruct resume_respstruct check_header_hash_reqstruct check_header_hash_respstruct query_error_reqstruct query_error_respstruct protocol_version_reqstruct protocol_version_respstruct firmware_version_reqstruct firmware_version_respstruct config_cu_reqstruct config_cu_respstruct set_runtime_cfg_reqstruct set_runtime_cfg_respstruct get_runtime_cfg_reqstruct get_runtime_cfg_respstruct async_event_msg_reqstruct async_event_msg_respstruct cmd_chain_slot_execbuf_cfstruct cmd_chain_slot_dpustruct cmd_chain_slot_npustruct cmd_chain_reqstruct cmd_chain_npu_reqstruct cmd_chain_resp
Annotated Snippet
struct assign_mgmt_pasid_req {
__u16 pasid;
__u16 reserved;
} __packed;
struct assign_mgmt_pasid_resp {
enum aie2_msg_status status;
} __packed;
struct map_host_buffer_req {
__u32 context_id;
__u64 buf_addr;
__u64 buf_size;
} __packed;
struct map_host_buffer_resp {
enum aie2_msg_status status;
} __packed;
#define MAX_CQ_PAIRS 2
struct cq_info {
__u32 head_addr;
__u32 tail_addr;
__u32 buf_addr;
__u32 buf_size;
};
struct cq_pair {
struct cq_info x2i_q;
struct cq_info i2x_q;
};
#define PRIORITY_REALTIME 1
#define PRIORITY_HIGH 2
#define PRIORITY_NORMAL 3
#define PRIORITY_LOW 4
struct create_ctx_req {
__u32 aie_type;
__u8 start_col;
__u8 num_col;
__u8 num_unused_col;
__u8 reserved;
__u8 num_cq_pairs_requested;
__u8 reserved1;
__u16 pasid;
__u32 pad[2];
__u32 sec_comm_target_type;
__u32 context_priority;
} __packed;
struct create_ctx_resp {
enum aie2_msg_status status;
__u32 context_id;
__u16 msix_id;
__u8 num_cq_pairs_allocated;
__u8 reserved;
struct cq_pair cq_pair[MAX_CQ_PAIRS];
} __packed;
struct destroy_ctx_req {
__u32 context_id;
} __packed;
struct destroy_ctx_resp {
enum aie2_msg_status status;
} __packed;
enum telemetry_type {
TELEMETRY_TYPE_DISABLED,
TELEMETRY_TYPE_HEALTH,
TELEMETRY_TYPE_ERROR_INFO,
TELEMETRY_TYPE_PROFILING,
TELEMETRY_TYPE_DEBUG,
MAX_TELEMETRY_TYPE
};
struct get_telemetry_req {
enum telemetry_type type;
__u64 buf_addr;
__u32 buf_size;
} __packed;
struct get_telemetry_resp {
__u32 major;
__u32 minor;
__u32 size;
enum aie2_msg_status status;
} __packed;
Annotation
- Detected declarations: `struct assign_mgmt_pasid_req`, `struct assign_mgmt_pasid_resp`, `struct map_host_buffer_req`, `struct map_host_buffer_resp`, `struct cq_info`, `struct cq_pair`, `struct create_ctx_req`, `struct create_ctx_resp`, `struct destroy_ctx_req`, `struct destroy_ctx_resp`.
- Atlas domain: Driver Families / drivers/accel.
- Implementation status: source implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.