drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h- Extension
.h- Size
- 66117 bytes
- Lines
- 2353
- 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
linux/types.h
Detected Declarations
struct rss_headerstruct work_request_hdrstruct cpl_pass_open_reqstruct cpl_pass_open_req6struct cpl_pass_open_rplstruct tcp_optionsstruct cpl_pass_accept_reqstruct cpl_pass_accept_rplstruct cpl_t5_pass_accept_rplstruct cpl_act_open_reqstruct cpl_t5_act_open_reqstruct cpl_t6_act_open_reqstruct cpl_act_open_req6struct cpl_t5_act_open_req6struct cpl_t6_act_open_req6struct cpl_act_open_rplstruct cpl_pass_establishstruct cpl_act_establishstruct cpl_get_tcbstruct cpl_get_tcb_rplstruct cpl_set_tcb_fieldstruct cpl_set_tcb_field_corestruct cpl_set_tcb_rplstruct cpl_close_con_reqstruct cpl_close_con_rplstruct cpl_close_listsvr_reqstruct cpl_close_listsvr_rplstruct cpl_abort_req_rssstruct cpl_abort_req_rss6struct cpl_abort_reqstruct cpl_abort_rpl_rssstruct cpl_abort_rpl_rss6struct cpl_abort_rplstruct cpl_peer_closestruct cpl_tid_releasestruct cpl_tx_pkt_corestruct cpl_tx_pktstruct cpl_tx_pkt_lso_corestruct cpl_tx_pkt_lsostruct cpl_iscsi_hdrstruct cpl_rx_data_ddpstruct cpl_iscsi_datastruct cpl_rx_iscsi_cmpstruct cpl_tx_data_isostruct cpl_rx_datastruct cpl_rx_data_ackstruct cpl_rx_pktstruct cpl_trace_pkt
Annotated Snippet
struct rss_header {
u8 opcode;
#if defined(__LITTLE_ENDIAN_BITFIELD)
u8 channel:2;
u8 filter_hit:1;
u8 filter_tid:1;
u8 hash_type:2;
u8 ipv6:1;
u8 send2fw:1;
#else
u8 send2fw:1;
u8 ipv6:1;
u8 hash_type:2;
u8 filter_tid:1;
u8 filter_hit:1;
u8 channel:2;
#endif
__be16 qid;
__be32 hash_val;
};
struct work_request_hdr {
__be32 wr_hi;
__be32 wr_mid;
__be64 wr_lo;
};
/* wr_hi fields */
#define WR_OP_S 24
#define WR_OP_V(x) ((__u64)(x) << WR_OP_S)
#define WR_HDR struct work_request_hdr wr
/* option 0 fields */
#define TX_CHAN_S 2
#define TX_CHAN_V(x) ((x) << TX_CHAN_S)
#define ULP_MODE_S 8
#define ULP_MODE_V(x) ((x) << ULP_MODE_S)
#define RCV_BUFSIZ_S 12
#define RCV_BUFSIZ_M 0x3FFU
#define RCV_BUFSIZ_V(x) ((x) << RCV_BUFSIZ_S)
#define SMAC_SEL_S 28
#define SMAC_SEL_V(x) ((__u64)(x) << SMAC_SEL_S)
#define L2T_IDX_S 36
#define L2T_IDX_V(x) ((__u64)(x) << L2T_IDX_S)
#define WND_SCALE_S 50
#define WND_SCALE_V(x) ((__u64)(x) << WND_SCALE_S)
#define KEEP_ALIVE_S 54
#define KEEP_ALIVE_V(x) ((__u64)(x) << KEEP_ALIVE_S)
#define KEEP_ALIVE_F KEEP_ALIVE_V(1ULL)
#define MSS_IDX_S 60
#define MSS_IDX_M 0xF
#define MSS_IDX_V(x) ((__u64)(x) << MSS_IDX_S)
#define MSS_IDX_G(x) (((x) >> MSS_IDX_S) & MSS_IDX_M)
/* option 2 fields */
#define RSS_QUEUE_S 0
#define RSS_QUEUE_M 0x3FF
#define RSS_QUEUE_V(x) ((x) << RSS_QUEUE_S)
#define RSS_QUEUE_G(x) (((x) >> RSS_QUEUE_S) & RSS_QUEUE_M)
#define RSS_QUEUE_VALID_S 10
#define RSS_QUEUE_VALID_V(x) ((x) << RSS_QUEUE_VALID_S)
#define RSS_QUEUE_VALID_F RSS_QUEUE_VALID_V(1U)
#define RX_FC_DISABLE_S 20
#define RX_FC_DISABLE_V(x) ((x) << RX_FC_DISABLE_S)
#define RX_FC_DISABLE_F RX_FC_DISABLE_V(1U)
#define RX_FC_VALID_S 22
#define RX_FC_VALID_V(x) ((x) << RX_FC_VALID_S)
#define RX_FC_VALID_F RX_FC_VALID_V(1U)
#define RX_CHANNEL_S 26
#define RX_CHANNEL_V(x) ((x) << RX_CHANNEL_S)
#define RX_CHANNEL_F RX_CHANNEL_V(1U)
#define WND_SCALE_EN_S 28
#define WND_SCALE_EN_V(x) ((x) << WND_SCALE_EN_S)
#define WND_SCALE_EN_F WND_SCALE_EN_V(1U)
#define T5_OPT_2_VALID_S 31
#define T5_OPT_2_VALID_V(x) ((x) << T5_OPT_2_VALID_S)
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct rss_header`, `struct work_request_hdr`, `struct cpl_pass_open_req`, `struct cpl_pass_open_req6`, `struct cpl_pass_open_rpl`, `struct tcp_options`, `struct cpl_pass_accept_req`, `struct cpl_pass_accept_rpl`, `struct cpl_t5_pass_accept_rpl`, `struct cpl_act_open_req`.
- 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.