drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h- Extension
.h- Size
- 131533 bytes
- Lines
- 4188
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct fw_wr_hdrstruct fw_filter_wrstruct fw_filter2_wrstruct fw_ulptx_wrstruct fw_tp_wrstruct fw_eth_tx_pkt_wrstruct fw_eth_tx_eo_wrstruct fw_eth_tx_eo_udpsegstruct fw_eth_tx_eo_tcpsegstruct fw_ofld_connection_wrstruct fw_ofld_connection_lestruct fw_ofld_connection_le_ipv4struct fw_ofld_connection_le_ipv6struct fw_ofld_connection_tcbstruct fw_flowc_mnemvalstruct fw_flowc_wrstruct fw_ofld_tx_data_wrstruct fw_cmd_wrstruct fw_eth_tx_pkt_vm_wrstruct fw_cmd_hdrstruct fw_ldst_cmdstruct fw_ldst_addrvalstruct fw_ldst_idctxtstruct fw_ldst_mdiostruct fw_ldst_cim_rqstruct fw_ldst_mps_rplcstruct fw_ldst_mps_atrbstruct fw_ldst_funcstruct fw_ldst_pciestruct fw_ldst_i2c_deprecatedstruct fw_ldst_i2cstruct fw_ldst_lestruct fw_reset_cmdstruct fw_hello_cmdstruct fw_bye_cmdstruct fw_initialize_cmdstruct fw_caps_config_cmdstruct fw_params_cmdstruct fw_params_paramstruct fw_pfvf_cmdstruct fw_iq_cmdstruct fw_eq_eth_cmdstruct fw_eq_ctrl_cmdstruct fw_eq_ofld_cmdstruct fw_vi_cmdstruct fw_vi_mac_cmdstruct fw_vi_mac_exactstruct fw_vi_mac_hash
Annotated Snippet
struct fw_wr_hdr {
__be32 hi;
__be32 lo;
};
/* work request opcode (hi) */
#define FW_WR_OP_S 24
#define FW_WR_OP_M 0xff
#define FW_WR_OP_V(x) ((x) << FW_WR_OP_S)
#define FW_WR_OP_G(x) (((x) >> FW_WR_OP_S) & FW_WR_OP_M)
/* atomic flag (hi) - firmware encapsulates CPLs in CPL_BARRIER */
#define FW_WR_ATOMIC_S 23
#define FW_WR_ATOMIC_V(x) ((x) << FW_WR_ATOMIC_S)
/* flush flag (hi) - firmware flushes flushable work request buffered
* in the flow context.
*/
#define FW_WR_FLUSH_S 22
#define FW_WR_FLUSH_V(x) ((x) << FW_WR_FLUSH_S)
/* completion flag (hi) - firmware generates a cpl_fw6_ack */
#define FW_WR_COMPL_S 21
#define FW_WR_COMPL_V(x) ((x) << FW_WR_COMPL_S)
#define FW_WR_COMPL_F FW_WR_COMPL_V(1U)
/* work request immediate data length (hi) */
#define FW_WR_IMMDLEN_S 0
#define FW_WR_IMMDLEN_M 0xff
#define FW_WR_IMMDLEN_V(x) ((x) << FW_WR_IMMDLEN_S)
/* egress queue status update to associated ingress queue entry (lo) */
#define FW_WR_EQUIQ_S 31
#define FW_WR_EQUIQ_V(x) ((x) << FW_WR_EQUIQ_S)
#define FW_WR_EQUIQ_F FW_WR_EQUIQ_V(1U)
/* egress queue status update to egress queue status entry (lo) */
#define FW_WR_EQUEQ_S 30
#define FW_WR_EQUEQ_V(x) ((x) << FW_WR_EQUEQ_S)
#define FW_WR_EQUEQ_F FW_WR_EQUEQ_V(1U)
/* flow context identifier (lo) */
#define FW_WR_FLOWID_S 8
#define FW_WR_FLOWID_V(x) ((x) << FW_WR_FLOWID_S)
/* length in units of 16-bytes (lo) */
#define FW_WR_LEN16_S 0
#define FW_WR_LEN16_V(x) ((x) << FW_WR_LEN16_S)
#define HW_TPL_FR_MT_PR_IV_P_FC 0X32B
#define HW_TPL_FR_MT_PR_OV_P_FC 0X327
/* filter wr reply code in cookie in CPL_SET_TCB_RPL */
enum fw_filter_wr_cookie {
FW_FILTER_WR_SUCCESS,
FW_FILTER_WR_FLT_ADDED,
FW_FILTER_WR_FLT_DELETED,
FW_FILTER_WR_SMT_TBL_FULL,
FW_FILTER_WR_EINVAL,
};
struct fw_filter_wr {
__be32 op_pkd;
__be32 len16_pkd;
__be64 r3;
__be32 tid_to_iq;
__be32 del_filter_to_l2tix;
__be16 ethtype;
__be16 ethtypem;
__u8 frag_to_ovlan_vldm;
__u8 smac_sel;
__be16 rx_chan_rx_rpl_iq;
__be32 maci_to_matchtypem;
__u8 ptcl;
__u8 ptclm;
__u8 ttyp;
__u8 ttypm;
__be16 ivlan;
__be16 ivlanm;
__be16 ovlan;
__be16 ovlanm;
__u8 lip[16];
__u8 lipm[16];
__u8 fip[16];
__u8 fipm[16];
__be16 lp;
__be16 lpm;
__be16 fp;
__be16 fpm;
__be16 r7;
Annotation
- Detected declarations: `struct fw_wr_hdr`, `struct fw_filter_wr`, `struct fw_filter2_wr`, `struct fw_ulptx_wr`, `struct fw_tp_wr`, `struct fw_eth_tx_pkt_wr`, `struct fw_eth_tx_eo_wr`, `struct fw_eth_tx_eo_udpseg`, `struct fw_eth_tx_eo_tcpseg`, `struct fw_ofld_connection_wr`.
- 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.