drivers/accel/amdxdna/aie4_msg_priv.h
Source file repositories/reference/linux-study-clean/drivers/accel/amdxdna/aie4_msg_priv.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/accel/amdxdna/aie4_msg_priv.h- Extension
.h- Size
- 3145 bytes
- Lines
- 148
- 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
linux/sizes.hlinux/types.h
Detected Declarations
struct aie4_msg_suspend_reqstruct aie4_msg_suspend_respstruct aie4_msg_create_vfs_reqstruct aie4_msg_create_vfs_respstruct aie4_msg_destroy_vfs_reqstruct aie4_msg_destroy_vfs_respstruct aie4_msg_create_partition_reqstruct aie4_msg_create_partition_respstruct aie4_msg_destroy_partition_reqstruct aie4_msg_destroy_partition_respstruct aie4_msg_create_hw_context_reqstruct aie4_msg_create_hw_context_respstruct aie4_msg_destroy_hw_context_reqstruct aie4_msg_destroy_hw_context_respstruct aie4_tile_infostruct aie4_msg_aie4_tile_info_reqstruct aie4_msg_aie4_tile_info_respstruct aie4_msg_attach_work_buffer_reqstruct aie4_msg_attach_work_buffer_respenum aie4_msg_opcodeenum aie4_msg_status
Annotated Snippet
struct aie4_msg_suspend_req {
__u32 rsvd;
} __packed;
struct aie4_msg_suspend_resp {
enum aie4_msg_status status;
} __packed;
struct aie4_msg_create_vfs_req {
__u32 vf_cnt;
} __packed;
struct aie4_msg_create_vfs_resp {
enum aie4_msg_status status;
} __packed;
struct aie4_msg_destroy_vfs_req {
__u32 rsvd;
} __packed;
struct aie4_msg_destroy_vfs_resp {
enum aie4_msg_status status;
} __packed;
struct aie4_msg_create_partition_req {
__u32 partition_col_start;
__u32 partition_col_count;
} __packed;
struct aie4_msg_create_partition_resp {
enum aie4_msg_status status;
__u32 partition_id;
} __packed;
struct aie4_msg_destroy_partition_req {
__u32 partition_id;
} __packed;
struct aie4_msg_destroy_partition_resp {
enum aie4_msg_status status;
} __packed;
struct aie4_msg_create_hw_context_req {
__u32 partition_id;
__u32 request_num_tiles;
__u32 hsa_addr_high;
__u32 hsa_addr_low;
#define AIE4_MSG_PASID GENMASK(19, 0)
#define AIE4_MSG_PASID_VLD GENMASK(31, 31)
__u32 pasid;
__u32 priority_band;
} __packed;
struct aie4_msg_create_hw_context_resp {
enum aie4_msg_status status;
__u32 hw_context_id;
__u32 doorbell_offset;
__u32 job_complete_msix_idx;
} __packed;
struct aie4_msg_destroy_hw_context_req {
__u32 hw_context_id;
__u32 resvd1;
} __packed;
struct aie4_msg_destroy_hw_context_resp {
enum aie4_msg_status status;
} __packed;
struct aie4_tile_info {
__u32 size;
__u16 major;
__u16 minor;
__u16 cols;
__u16 rows;
__u16 core_rows;
__u16 mem_rows;
__u16 shim_rows;
__u16 core_row_start;
__u16 mem_row_start;
__u16 shim_row_start;
__u16 core_dma_channels;
__u16 mem_dma_channels;
__u16 shim_dma_channels;
__u16 core_locks;
__u16 mem_locks;
__u16 shim_locks;
__u16 core_events;
__u16 mem_events;
__u16 shim_events;
Annotation
- Immediate include surface: `linux/sizes.h`, `linux/types.h`.
- Detected declarations: `struct aie4_msg_suspend_req`, `struct aie4_msg_suspend_resp`, `struct aie4_msg_create_vfs_req`, `struct aie4_msg_create_vfs_resp`, `struct aie4_msg_destroy_vfs_req`, `struct aie4_msg_destroy_vfs_resp`, `struct aie4_msg_create_partition_req`, `struct aie4_msg_create_partition_resp`, `struct aie4_msg_destroy_partition_req`, `struct aie4_msg_destroy_partition_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.