drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h- Extension
.h- Size
- 13202 bytes
- Lines
- 431
- Domain
- Driver Families
- Bucket
- drivers/net
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
hinic_common.h
Detected Declarations
struct hinic_cmdq_headerstruct hinic_statusstruct hinic_ctrlstruct hinic_sge_respstruct hinic_cmdq_completionstruct hinic_scmd_bufdescstruct hinic_lcmd_bufdescstruct hinic_cmdq_wqe_scmdstruct hinic_cmdq_wqe_lcmdstruct hinic_cmdq_direct_wqestruct hinic_cmdq_wqestruct hinic_sq_ctrlstruct hinic_sq_taskstruct hinic_sq_bufdescstruct hinic_sq_wqestruct hinic_rq_cqestruct hinic_rq_ctrlstruct hinic_rq_cqe_sectstruct hinic_rq_bufdescstruct hinic_rq_wqestruct hinic_hw_wqeenum hinic_l3_offload_typeenum hinic_l4_offload_typeenum hinic_l4_tunnel_typeenum hinic_outer_l3typeenum hinic_l2type
Annotated Snippet
struct hinic_cmdq_header {
u32 header_info;
u32 saved_data;
};
struct hinic_status {
u32 status_info;
};
struct hinic_ctrl {
u32 ctrl_info;
};
struct hinic_sge_resp {
struct hinic_sge sge;
u32 rsvd;
};
struct hinic_cmdq_completion {
/* HW Format */
union {
struct hinic_sge_resp sge_resp;
u64 direct_resp;
};
};
struct hinic_scmd_bufdesc {
u32 buf_len;
u32 rsvd;
u8 data[HINIC_SCMD_DATA_LEN];
};
struct hinic_lcmd_bufdesc {
struct hinic_sge sge;
u32 rsvd1;
u64 rsvd2;
u64 rsvd3;
};
struct hinic_cmdq_wqe_scmd {
struct hinic_cmdq_header header;
u64 rsvd;
struct hinic_status status;
struct hinic_ctrl ctrl;
struct hinic_cmdq_completion completion;
struct hinic_scmd_bufdesc buf_desc;
};
struct hinic_cmdq_wqe_lcmd {
struct hinic_cmdq_header header;
struct hinic_status status;
struct hinic_ctrl ctrl;
struct hinic_cmdq_completion completion;
struct hinic_lcmd_bufdesc buf_desc;
};
struct hinic_cmdq_direct_wqe {
struct hinic_cmdq_wqe_scmd wqe_scmd;
};
struct hinic_cmdq_wqe {
/* HW Format */
union {
struct hinic_cmdq_direct_wqe direct_wqe;
struct hinic_cmdq_wqe_lcmd wqe_lcmd;
};
};
struct hinic_sq_ctrl {
u32 ctrl_info;
u32 queue_info;
};
struct hinic_sq_task {
u32 pkt_info0;
u32 pkt_info1;
u32 pkt_info2;
u32 ufo_v6_identify;
u32 pkt_info4;
u32 zero_pad;
};
struct hinic_sq_bufdesc {
struct hinic_sge sge;
u32 rsvd;
};
struct hinic_sq_wqe {
struct hinic_sq_ctrl ctrl;
struct hinic_sq_task task;
Annotation
- Immediate include surface: `hinic_common.h`.
- Detected declarations: `struct hinic_cmdq_header`, `struct hinic_status`, `struct hinic_ctrl`, `struct hinic_sge_resp`, `struct hinic_cmdq_completion`, `struct hinic_scmd_bufdesc`, `struct hinic_lcmd_bufdesc`, `struct hinic_cmdq_wqe_scmd`, `struct hinic_cmdq_wqe_lcmd`, `struct hinic_cmdq_direct_wqe`.
- Atlas domain: Driver Families / drivers/net.
- 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.