drivers/net/ethernet/chelsio/cxgb3/t3_cpl.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/chelsio/cxgb3/t3_cpl.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/chelsio/cxgb3/t3_cpl.h- Extension
.h- Size
- 35664 bytes
- Lines
- 1496
- 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
asm/byteorder.h
Detected Declarations
struct tcp_optionsstruct rss_headerstruct work_request_hdrstruct cpl_pass_open_reqstruct cpl_pass_open_rplstruct cpl_pass_establishstruct cpl_pass_accept_reqstruct cpl_pass_accept_rplstruct cpl_act_open_reqstruct cpl_act_open_rplstruct cpl_act_establishstruct cpl_get_tcbstruct cpl_get_tcb_rplstruct cpl_set_tcbstruct cpl_set_tcb_fieldstruct cpl_set_tcb_rplstruct cpl_pcmdstruct cpl_pcmd_replystruct cpl_close_con_reqstruct cpl_close_con_rplstruct cpl_close_listserv_reqstruct cpl_close_listserv_rplstruct cpl_abort_req_rssstruct cpl_abort_reqstruct cpl_abort_rpl_rssstruct cpl_abort_rplstruct cpl_peer_closestruct tx_data_wrstruct cpl_tx_datastruct cpl_tx_data_ackstruct cpl_wr_ackstruct cpl_rdma_ec_statusstruct mngt_pktsched_wrstruct cpl_iscsi_hdrstruct cpl_rx_datastruct cpl_rx_data_ackstruct cpl_rx_urg_notifystruct cpl_rx_ddp_completestruct cpl_rx_data_ddpstruct cpl_tx_pktstruct cpl_tx_pkt_lsostruct cpl_trace_pktstruct cpl_rx_pktstruct cpl_l2t_write_reqstruct cpl_l2t_write_rplstruct cpl_l2t_read_reqstruct cpl_l2t_read_rplstruct cpl_smt_write_req
Annotated Snippet
struct tcp_options {
__be16 mss;
__u8 wsf;
#if defined(__LITTLE_ENDIAN_BITFIELD)
__u8:5;
__u8 ecn:1;
__u8 sack:1;
__u8 tstamp:1;
#else
__u8 tstamp:1;
__u8 sack:1;
__u8 ecn:1;
__u8:5;
#endif
};
struct rss_header {
__u8 opcode;
#if defined(__LITTLE_ENDIAN_BITFIELD)
__u8 cpu_idx:6;
__u8 hash_type:2;
#else
__u8 hash_type:2;
__u8 cpu_idx:6;
#endif
__be16 cq_idx;
__be32 rss_hash_val;
};
#ifndef CHELSIO_FW
struct work_request_hdr {
__be32 wr_hi;
__be32 wr_lo;
};
/* wr_hi fields */
#define S_WR_SGE_CREDITS 0
#define M_WR_SGE_CREDITS 0xFF
#define V_WR_SGE_CREDITS(x) ((x) << S_WR_SGE_CREDITS)
#define G_WR_SGE_CREDITS(x) (((x) >> S_WR_SGE_CREDITS) & M_WR_SGE_CREDITS)
#define S_WR_SGLSFLT 8
#define M_WR_SGLSFLT 0xFF
#define V_WR_SGLSFLT(x) ((x) << S_WR_SGLSFLT)
#define G_WR_SGLSFLT(x) (((x) >> S_WR_SGLSFLT) & M_WR_SGLSFLT)
#define S_WR_BCNTLFLT 16
#define M_WR_BCNTLFLT 0xF
#define V_WR_BCNTLFLT(x) ((x) << S_WR_BCNTLFLT)
#define G_WR_BCNTLFLT(x) (((x) >> S_WR_BCNTLFLT) & M_WR_BCNTLFLT)
#define S_WR_DATATYPE 20
#define V_WR_DATATYPE(x) ((x) << S_WR_DATATYPE)
#define F_WR_DATATYPE V_WR_DATATYPE(1U)
#define S_WR_COMPL 21
#define V_WR_COMPL(x) ((x) << S_WR_COMPL)
#define F_WR_COMPL V_WR_COMPL(1U)
#define S_WR_EOP 22
#define V_WR_EOP(x) ((x) << S_WR_EOP)
#define F_WR_EOP V_WR_EOP(1U)
#define S_WR_SOP 23
#define V_WR_SOP(x) ((x) << S_WR_SOP)
#define F_WR_SOP V_WR_SOP(1U)
#define S_WR_OP 24
#define M_WR_OP 0xFF
#define V_WR_OP(x) ((x) << S_WR_OP)
#define G_WR_OP(x) (((x) >> S_WR_OP) & M_WR_OP)
/* wr_lo fields */
#define S_WR_LEN 0
#define M_WR_LEN 0xFF
#define V_WR_LEN(x) ((x) << S_WR_LEN)
#define G_WR_LEN(x) (((x) >> S_WR_LEN) & M_WR_LEN)
#define S_WR_TID 8
#define M_WR_TID 0xFFFFF
#define V_WR_TID(x) ((x) << S_WR_TID)
#define G_WR_TID(x) (((x) >> S_WR_TID) & M_WR_TID)
#define S_WR_CR_FLUSH 30
#define V_WR_CR_FLUSH(x) ((x) << S_WR_CR_FLUSH)
#define F_WR_CR_FLUSH V_WR_CR_FLUSH(1U)
#define S_WR_GEN 31
#define V_WR_GEN(x) ((x) << S_WR_GEN)
#define F_WR_GEN V_WR_GEN(1U)
Annotation
- Immediate include surface: `asm/byteorder.h`.
- Detected declarations: `struct tcp_options`, `struct rss_header`, `struct work_request_hdr`, `struct cpl_pass_open_req`, `struct cpl_pass_open_rpl`, `struct cpl_pass_establish`, `struct cpl_pass_accept_req`, `struct cpl_pass_accept_rpl`, `struct cpl_act_open_req`, `struct cpl_act_open_rpl`.
- 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.