drivers/infiniband/hw/irdma/virtchnl.h
Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/irdma/virtchnl.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/infiniband/hw/irdma/virtchnl.h- Extension
.h- Size
- 4723 bytes
- Lines
- 177
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
hmc.hirdma.h
Detected Declarations
struct irdma_vchnl_req_hmc_infostruct irdma_vchnl_resp_hmc_infostruct irdma_vchnl_qv_infostruct irdma_vchnl_qvlist_infostruct irdma_vchnl_req_vport_infostruct irdma_vchnl_resp_vport_infostruct irdma_vchnl_op_bufstruct irdma_vchnl_resp_bufstruct irdma_vchnl_rdma_capsstruct irdma_vchnl_init_infostruct irdma_vchnl_reg_infostruct irdma_vchnl_reg_field_infostruct irdma_vchnl_reqstruct irdma_vchnl_req_init_infostruct irdma_qosenum irdma_vchnl_ops
Annotated Snippet
struct irdma_vchnl_req_hmc_info {
u8 protocol_used;
u8 disable_qos;
} __packed;
struct irdma_vchnl_resp_hmc_info {
u16 hmc_func;
u16 qs_handle[IRDMA_MAX_USER_PRIORITY];
} __packed;
struct irdma_vchnl_qv_info {
u32 v_idx;
u16 ceq_idx;
u16 aeq_idx;
u8 itr_idx;
};
struct irdma_vchnl_qvlist_info {
u32 num_vectors;
struct irdma_vchnl_qv_info qv_info[];
};
struct irdma_vchnl_req_vport_info {
u16 vport_id;
u32 qp1_id;
};
struct irdma_vchnl_resp_vport_info {
u16 qs_handle[IRDMA_MAX_USER_PRIORITY];
};
struct irdma_vchnl_op_buf {
u16 op_code;
u16 op_ver;
u16 buf_len;
u16 rsvd;
u64 op_ctx;
u8 buf[];
} __packed;
struct irdma_vchnl_resp_buf {
u64 op_ctx;
u16 buf_len;
s16 op_ret;
u16 rsvd[2];
u8 buf[];
} __packed;
struct irdma_vchnl_rdma_caps {
u8 hw_rev;
u16 cqp_timeout_s;
u16 cqp_def_timeout_s;
u16 max_hw_push_len;
} __packed;
struct irdma_vchnl_init_info {
struct workqueue_struct *vchnl_wq;
enum irdma_vers hw_rev;
bool privileged;
bool is_pf;
};
struct irdma_vchnl_reg_info {
u32 reg_offset;
u16 field_cnt;
u16 reg_id; /* High bit of reg_id: bar or page relative */
};
struct irdma_vchnl_reg_field_info {
u8 fld_shift;
u8 fld_bits;
u16 fld_id;
};
struct irdma_vchnl_req {
struct irdma_vchnl_op_buf *vchnl_msg;
void *parm;
u32 vf_id;
u16 parm_len;
u16 resp_len;
};
struct irdma_vchnl_req_init_info {
void *req_parm;
void *resp_parm;
u16 req_parm_len;
u16 resp_parm_len;
u16 op_code;
u16 op_ver;
} __packed;
Annotation
- Immediate include surface: `hmc.h`, `irdma.h`.
- Detected declarations: `struct irdma_vchnl_req_hmc_info`, `struct irdma_vchnl_resp_hmc_info`, `struct irdma_vchnl_qv_info`, `struct irdma_vchnl_qvlist_info`, `struct irdma_vchnl_req_vport_info`, `struct irdma_vchnl_resp_vport_info`, `struct irdma_vchnl_op_buf`, `struct irdma_vchnl_resp_buf`, `struct irdma_vchnl_rdma_caps`, `struct irdma_vchnl_init_info`.
- Atlas domain: Driver Families / drivers/infiniband.
- 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.