drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h- Extension
.h- Size
- 27143 bytes
- Lines
- 1151
- Domain
- Driver Families
- Bucket
- drivers/infiniband
- 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 efa_admin_qp_alloc_sizestruct efa_admin_create_qp_cmdstruct efa_admin_create_qp_respstruct efa_admin_modify_qp_cmdstruct efa_admin_modify_qp_respstruct efa_admin_query_qp_cmdstruct efa_admin_query_qp_respstruct efa_admin_destroy_qp_cmdstruct efa_admin_destroy_qp_respstruct efa_admin_create_ah_cmdstruct efa_admin_create_ah_respstruct efa_admin_destroy_ah_cmdstruct efa_admin_destroy_ah_respstruct efa_admin_reg_mr_cmdstruct efa_admin_reg_mr_respstruct efa_admin_dereg_mr_cmdstruct efa_admin_dereg_mr_respstruct efa_admin_alloc_mr_cmdstruct efa_admin_alloc_mr_respstruct efa_admin_create_cq_cmdstruct efa_admin_create_cq_respstruct efa_admin_destroy_cq_cmdstruct efa_admin_destroy_cq_respstruct efa_admin_aq_get_stats_cmdstruct efa_admin_basic_statsstruct efa_admin_messages_statsstruct efa_admin_rdma_read_statsstruct efa_admin_rdma_write_statsstruct efa_admin_network_statsstruct efa_admin_acq_get_stats_respstruct efa_admin_get_set_feature_common_descstruct efa_admin_feature_device_attr_descstruct efa_admin_feature_queue_attr_desc_1struct efa_admin_feature_queue_attr_desc_2struct efa_admin_event_queue_attr_descstruct efa_admin_feature_aenq_descstruct efa_admin_feature_network_attr_descstruct efa_admin_hw_hintsstruct efa_admin_get_feature_cmdstruct efa_admin_get_feature_respstruct efa_admin_set_feature_cmdstruct efa_admin_set_feature_respstruct efa_admin_alloc_pd_cmdstruct efa_admin_alloc_pd_respstruct efa_admin_dealloc_pd_cmdstruct efa_admin_dealloc_pd_respstruct efa_admin_alloc_uar_cmdstruct efa_admin_alloc_uar_resp
Annotated Snippet
struct efa_admin_qp_alloc_size {
/* Send descriptor ring size in bytes */
u32 send_queue_ring_size;
/* Max number of WQEs that can be outstanding on send queue. */
u32 send_queue_depth;
/*
* Recv descriptor ring size in bytes, sufficient for user-provided
* number of WQEs
*/
u32 recv_queue_ring_size;
/* Max number of WQEs that can be outstanding on recv queue */
u32 recv_queue_depth;
};
struct efa_admin_create_qp_cmd {
/* Common Admin Queue descriptor */
struct efa_admin_aq_common_desc aq_common_desc;
/* Protection Domain associated with this QP */
u16 pd;
/* QP type */
u8 qp_type;
/*
* 0 : sq_virt - If set, SQ ring base address is
* virtual (IOVA returned by MR registration)
* 1 : rq_virt - If set, RQ ring base address is
* virtual (IOVA returned by MR registration)
* 2 : unsolicited_write_recv - If set, work requests
* will not be consumed for incoming RDMA write with
* immediate
* 7:3 : reserved - MBZ
*/
u8 flags;
/*
* Send queue (SQ) ring base physical address. This field is not
* used if this is a Low Latency Queue(LLQ).
*/
u64 sq_base_addr;
/* Receive queue (RQ) ring base address. */
u64 rq_base_addr;
/* Index of CQ to be associated with Send Queue completions */
u32 send_cq_idx;
/* Index of CQ to be associated with Recv Queue completions */
u32 recv_cq_idx;
/*
* Memory registration key for the SQ ring, used only when not in
* LLQ mode and base address is virtual
*/
u32 sq_l_key;
/*
* Memory registration key for the RQ ring, used only when base
* address is virtual
*/
u32 rq_l_key;
/* Requested QP allocation sizes */
struct efa_admin_qp_alloc_size qp_alloc_size;
/* UAR number */
u16 uar;
/* Requested service level for the QP, 0 is the default SL */
u8 sl;
/* MBZ */
u8 reserved;
/* MBZ */
u32 reserved2;
};
struct efa_admin_create_qp_resp {
/* Common Admin Queue completion descriptor */
struct efa_admin_acq_common_desc acq_common_desc;
/*
* Opaque handle to be used for consequent admin operations on the
* QP
*/
Annotation
- Detected declarations: `struct efa_admin_qp_alloc_size`, `struct efa_admin_create_qp_cmd`, `struct efa_admin_create_qp_resp`, `struct efa_admin_modify_qp_cmd`, `struct efa_admin_modify_qp_resp`, `struct efa_admin_query_qp_cmd`, `struct efa_admin_query_qp_resp`, `struct efa_admin_destroy_qp_cmd`, `struct efa_admin_destroy_qp_resp`, `struct efa_admin_create_ah_cmd`.
- Atlas domain: Driver Families / drivers/infiniband.
- 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.