drivers/infiniband/hw/cxgb4/t4fw_ri_api.h
Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/cxgb4/t4fw_ri_api.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/infiniband/hw/cxgb4/t4fw_ri_api.h- Extension
.h- Size
- 23796 bytes
- Lines
- 817
- 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
t4fw_api.h
Detected Declarations
struct fw_ri_dsge_pairstruct fw_ri_dsglstruct fw_ri_sgestruct fw_ri_isglstruct fw_ri_immdstruct fw_ri_tptestruct fw_ri_resstruct fw_ri_res_sqrqstruct fw_ri_res_cqstruct fw_ri_res_srqstruct fw_ri_res_wrstruct fw_ri_rdma_write_wrstruct fw_ri_send_wrstruct fw_ri_rdma_write_cmpl_wrstruct fw_ri_immd_cmplstruct fw_ri_rdma_read_wrstruct fw_ri_recv_wrstruct fw_ri_bind_mw_wrstruct fw_ri_fr_nsmr_wrstruct fw_ri_fr_nsmr_tpte_wrstruct fw_ri_inv_lstag_wrstruct fw_ri_wrstruct fw_ri_initstruct fw_ri_finistruct fw_ri_terminateenum fw_ri_wr_opcodeenum fw_ri_wr_flagsenum fw_ri_mpa_attrsenum fw_ri_qp_capsenum fw_ri_addr_typeenum fw_ri_mem_permsenum fw_ri_stag_typeenum fw_ri_data_openum fw_ri_sgl_depthenum fw_ri_res_typeenum fw_ri_res_openum fw_ri_typeenum fw_ri_init_p2ptypeenum fw_ri_init_rqeqid_srq
Annotated Snippet
struct fw_ri_dsge_pair {
__be32 len[2];
__be64 addr[2];
};
struct fw_ri_dsgl {
__u8 op;
__u8 r1;
__be16 nsge;
__be32 len0;
__be64 addr0;
struct fw_ri_dsge_pair sge[];
};
struct fw_ri_sge {
__be32 stag;
__be32 len;
__be64 to;
};
struct fw_ri_isgl {
__u8 op;
__u8 r1;
__be16 nsge;
__be32 r2;
struct fw_ri_sge sge[];
};
struct fw_ri_immd {
__u8 op;
__u8 r1;
__be16 r2;
__be32 immdlen;
__u8 data[];
};
struct fw_ri_tpte {
__be32 valid_to_pdid;
__be32 locread_to_qpid;
__be32 nosnoop_pbladdr;
__be32 len_lo;
__be32 va_hi;
__be32 va_lo_fbo;
__be32 dca_mwbcnt_pstag;
__be32 len_hi;
};
#define FW_RI_TPTE_VALID_S 31
#define FW_RI_TPTE_VALID_M 0x1
#define FW_RI_TPTE_VALID_V(x) ((x) << FW_RI_TPTE_VALID_S)
#define FW_RI_TPTE_VALID_G(x) \
(((x) >> FW_RI_TPTE_VALID_S) & FW_RI_TPTE_VALID_M)
#define FW_RI_TPTE_VALID_F FW_RI_TPTE_VALID_V(1U)
#define FW_RI_TPTE_STAGKEY_S 23
#define FW_RI_TPTE_STAGKEY_M 0xff
#define FW_RI_TPTE_STAGKEY_V(x) ((x) << FW_RI_TPTE_STAGKEY_S)
#define FW_RI_TPTE_STAGKEY_G(x) \
(((x) >> FW_RI_TPTE_STAGKEY_S) & FW_RI_TPTE_STAGKEY_M)
#define FW_RI_TPTE_STAGSTATE_S 22
#define FW_RI_TPTE_STAGSTATE_M 0x1
#define FW_RI_TPTE_STAGSTATE_V(x) ((x) << FW_RI_TPTE_STAGSTATE_S)
#define FW_RI_TPTE_STAGSTATE_G(x) \
(((x) >> FW_RI_TPTE_STAGSTATE_S) & FW_RI_TPTE_STAGSTATE_M)
#define FW_RI_TPTE_STAGSTATE_F FW_RI_TPTE_STAGSTATE_V(1U)
#define FW_RI_TPTE_STAGTYPE_S 20
#define FW_RI_TPTE_STAGTYPE_M 0x3
#define FW_RI_TPTE_STAGTYPE_V(x) ((x) << FW_RI_TPTE_STAGTYPE_S)
#define FW_RI_TPTE_STAGTYPE_G(x) \
(((x) >> FW_RI_TPTE_STAGTYPE_S) & FW_RI_TPTE_STAGTYPE_M)
#define FW_RI_TPTE_PDID_S 0
#define FW_RI_TPTE_PDID_M 0xfffff
#define FW_RI_TPTE_PDID_V(x) ((x) << FW_RI_TPTE_PDID_S)
#define FW_RI_TPTE_PDID_G(x) \
(((x) >> FW_RI_TPTE_PDID_S) & FW_RI_TPTE_PDID_M)
#define FW_RI_TPTE_PERM_S 28
#define FW_RI_TPTE_PERM_M 0xf
#define FW_RI_TPTE_PERM_V(x) ((x) << FW_RI_TPTE_PERM_S)
#define FW_RI_TPTE_PERM_G(x) \
(((x) >> FW_RI_TPTE_PERM_S) & FW_RI_TPTE_PERM_M)
#define FW_RI_TPTE_REMINVDIS_S 27
#define FW_RI_TPTE_REMINVDIS_M 0x1
#define FW_RI_TPTE_REMINVDIS_V(x) ((x) << FW_RI_TPTE_REMINVDIS_S)
#define FW_RI_TPTE_REMINVDIS_G(x) \
(((x) >> FW_RI_TPTE_REMINVDIS_S) & FW_RI_TPTE_REMINVDIS_M)
Annotation
- Immediate include surface: `t4fw_api.h`.
- Detected declarations: `struct fw_ri_dsge_pair`, `struct fw_ri_dsgl`, `struct fw_ri_sge`, `struct fw_ri_isgl`, `struct fw_ri_immd`, `struct fw_ri_tpte`, `struct fw_ri_res`, `struct fw_ri_res_sqrq`, `struct fw_ri_res_cq`, `struct fw_ri_res_srq`.
- 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.