#ifndef T3_CPL_H
#define T3_CPL_H
#if !defined(__LITTLE_ENDIAN_BITFIELD) && !defined(__BIG_ENDIAN_BITFIELD)
# include <asm/byteorder.h>
#endif
enum CPL_opcode { … };
enum CPL_error { … };
enum { … };
enum { … };
enum { … };
enum { … };
enum { … };
enum { … };
enum { … };
enum { … };
opcode_tid;
#define S_OPCODE …
#define V_OPCODE(x) …
#define G_OPCODE(x) …
#define G_TID(x) …
#define S_QNUM …
#define G_QNUM(x) …
#define S_HASHTYPE …
#define M_HASHTYPE …
#define G_HASHTYPE(x) …
#define MK_OPCODE_TID(opcode, tid) …
#define OPCODE_TID(cmd) …
#define GET_TID(cmd) …
struct tcp_options { … };
struct rss_header { … };
#ifndef CHELSIO_FW
struct work_request_hdr { … };
#define S_WR_SGE_CREDITS …
#define M_WR_SGE_CREDITS …
#define V_WR_SGE_CREDITS(x) …
#define G_WR_SGE_CREDITS(x) …
#define S_WR_SGLSFLT …
#define M_WR_SGLSFLT …
#define V_WR_SGLSFLT(x) …
#define G_WR_SGLSFLT(x) …
#define S_WR_BCNTLFLT …
#define M_WR_BCNTLFLT …
#define V_WR_BCNTLFLT(x) …
#define G_WR_BCNTLFLT(x) …
#define S_WR_DATATYPE …
#define V_WR_DATATYPE(x) …
#define F_WR_DATATYPE …
#define S_WR_COMPL …
#define V_WR_COMPL(x) …
#define F_WR_COMPL …
#define S_WR_EOP …
#define V_WR_EOP(x) …
#define F_WR_EOP …
#define S_WR_SOP …
#define V_WR_SOP(x) …
#define F_WR_SOP …
#define S_WR_OP …
#define M_WR_OP …
#define V_WR_OP(x) …
#define G_WR_OP(x) …
#define S_WR_LEN …
#define M_WR_LEN …
#define V_WR_LEN(x) …
#define G_WR_LEN(x) …
#define S_WR_TID …
#define M_WR_TID …
#define V_WR_TID(x) …
#define G_WR_TID(x) …
#define S_WR_CR_FLUSH …
#define V_WR_CR_FLUSH(x) …
#define F_WR_CR_FLUSH …
#define S_WR_GEN …
#define V_WR_GEN(x) …
#define F_WR_GEN …
#define WR_HDR …
#define RSS_HDR
#else
#define WR_HDR
#define RSS_HDR …
#endif
#define S_CPL_STATUS …
#define M_CPL_STATUS …
#define V_CPL_STATUS(x) …
#define G_CPL_STATUS(x) …
#define S_INJECT_TIMER …
#define V_INJECT_TIMER(x) …
#define F_INJECT_TIMER …
#define S_NO_OFFLOAD …
#define V_NO_OFFLOAD(x) …
#define F_NO_OFFLOAD …
#define S_ULP_MODE …
#define M_ULP_MODE …
#define V_ULP_MODE(x) …
#define G_ULP_MODE(x) …
#define S_RCV_BUFSIZ …
#define M_RCV_BUFSIZ …
#define V_RCV_BUFSIZ(x) …
#define G_RCV_BUFSIZ(x) …
#define S_TOS …
#define M_TOS …
#define V_TOS(x) …
#define G_TOS(x) …
#define S_DELACK …
#define V_DELACK(x) …
#define F_DELACK …
#define S_NO_CONG …
#define V_NO_CONG(x) …
#define F_NO_CONG …
#define S_SRC_MAC_SEL …
#define M_SRC_MAC_SEL …
#define V_SRC_MAC_SEL(x) …
#define G_SRC_MAC_SEL(x) …
#define S_L2T_IDX …
#define M_L2T_IDX …
#define V_L2T_IDX(x) …
#define G_L2T_IDX(x) …
#define S_TX_CHANNEL …
#define V_TX_CHANNEL(x) …
#define F_TX_CHANNEL …
#define S_TCAM_BYPASS …
#define V_TCAM_BYPASS(x) …
#define F_TCAM_BYPASS …
#define S_NAGLE …
#define V_NAGLE(x) …
#define F_NAGLE …
#define S_WND_SCALE …
#define M_WND_SCALE …
#define V_WND_SCALE(x) …
#define G_WND_SCALE(x) …
#define S_KEEP_ALIVE …
#define V_KEEP_ALIVE(x) …
#define F_KEEP_ALIVE …
#define S_MAX_RETRANS …
#define M_MAX_RETRANS …
#define V_MAX_RETRANS(x) …
#define G_MAX_RETRANS(x) …
#define S_MAX_RETRANS_OVERRIDE …
#define V_MAX_RETRANS_OVERRIDE(x) …
#define F_MAX_RETRANS_OVERRIDE …
#define S_MSS_IDX …
#define M_MSS_IDX …
#define V_MSS_IDX(x) …
#define G_MSS_IDX(x) …
#define S_RSS_ENABLE …
#define V_RSS_ENABLE(x) …
#define F_RSS_ENABLE …
#define S_RSS_MASK_LEN …
#define M_RSS_MASK_LEN …
#define V_RSS_MASK_LEN(x) …
#define G_RSS_MASK_LEN(x) …
#define S_CPU_IDX …
#define M_CPU_IDX …
#define V_CPU_IDX(x) …
#define G_CPU_IDX(x) …
#define S_MAC_MATCH_VALID …
#define V_MAC_MATCH_VALID(x) …
#define F_MAC_MATCH_VALID …
#define S_CONN_POLICY …
#define M_CONN_POLICY …
#define V_CONN_POLICY(x) …
#define G_CONN_POLICY(x) …
#define S_SYN_DEFENSE …
#define V_SYN_DEFENSE(x) …
#define F_SYN_DEFENSE …
#define S_VLAN_PRI …
#define M_VLAN_PRI …
#define V_VLAN_PRI(x) …
#define G_VLAN_PRI(x) …
#define S_VLAN_PRI_VALID …
#define V_VLAN_PRI_VALID(x) …
#define F_VLAN_PRI_VALID …
#define S_PKT_TYPE …
#define M_PKT_TYPE …
#define V_PKT_TYPE(x) …
#define G_PKT_TYPE(x) …
#define S_MAC_MATCH …
#define M_MAC_MATCH …
#define V_MAC_MATCH(x) …
#define G_MAC_MATCH(x) …
#define S_CPU_INDEX …
#define M_CPU_INDEX …
#define V_CPU_INDEX(x) …
#define G_CPU_INDEX(x) …
#define S_CPU_INDEX_VALID …
#define V_CPU_INDEX_VALID(x) …
#define F_CPU_INDEX_VALID …
#define S_RX_COALESCE …
#define M_RX_COALESCE …
#define V_RX_COALESCE(x) …
#define G_RX_COALESCE(x) …
#define S_RX_COALESCE_VALID …
#define V_RX_COALESCE_VALID(x) …
#define F_RX_COALESCE_VALID …
#define S_CONG_CONTROL_FLAVOR …
#define M_CONG_CONTROL_FLAVOR …
#define V_CONG_CONTROL_FLAVOR(x) …
#define G_CONG_CONTROL_FLAVOR(x) …
#define S_PACING_FLAVOR …
#define M_PACING_FLAVOR …
#define V_PACING_FLAVOR(x) …
#define G_PACING_FLAVOR(x) …
#define S_FLAVORS_VALID …
#define V_FLAVORS_VALID(x) …
#define F_FLAVORS_VALID …
#define S_RX_FC_DISABLE …
#define V_RX_FC_DISABLE(x) …
#define F_RX_FC_DISABLE …
#define S_RX_FC_VALID …
#define V_RX_FC_VALID(x) …
#define F_RX_FC_VALID …
struct cpl_pass_open_req { … };
struct cpl_pass_open_rpl { … };
struct cpl_pass_establish { … };
#define S_PASS_OPEN_TID …
#define M_PASS_OPEN_TID …
#define V_PASS_OPEN_TID(x) …
#define G_PASS_OPEN_TID(x) …
#define S_PASS_OPEN_TOS …
#define M_PASS_OPEN_TOS …
#define V_PASS_OPEN_TOS(x) …
#define G_PASS_OPEN_TOS(x) …
#define S_L2T_IDX16 …
#define M_L2T_IDX16 …
#define V_L2T_IDX16(x) …
#define G_L2T_IDX16(x) …
#define G_TCPOPT_WSCALE_OK(x) …
#define G_TCPOPT_SACK(x) …
#define G_TCPOPT_TSTAMP(x) …
#define G_TCPOPT_SND_WSCALE(x) …
#define G_TCPOPT_MSS(x) …
struct cpl_pass_accept_req { … };
struct cpl_pass_accept_rpl { … };
struct cpl_act_open_req { … };
#define S_AOPEN_VLAN_PRI …
#define M_AOPEN_VLAN_PRI …
#define V_AOPEN_VLAN_PRI(x) …
#define G_AOPEN_VLAN_PRI(x) …
#define S_AOPEN_VLAN_PRI_VALID …
#define V_AOPEN_VLAN_PRI_VALID(x) …
#define F_AOPEN_VLAN_PRI_VALID …
#define S_AOPEN_PKT_TYPE …
#define M_AOPEN_PKT_TYPE …
#define V_AOPEN_PKT_TYPE(x) …
#define G_AOPEN_PKT_TYPE(x) …
#define S_AOPEN_MAC_MATCH …
#define M_AOPEN_MAC_MATCH …
#define V_AOPEN_MAC_MATCH(x) …
#define G_AOPEN_MAC_MATCH(x) …
#define S_AOPEN_MAC_MATCH_VALID …
#define V_AOPEN_MAC_MATCH_VALID(x) …
#define F_AOPEN_MAC_MATCH_VALID …
#define S_AOPEN_IFF_VLAN …
#define M_AOPEN_IFF_VLAN …
#define V_AOPEN_IFF_VLAN(x) …
#define G_AOPEN_IFF_VLAN(x) …
struct cpl_act_open_rpl { … };
struct cpl_act_establish { … };
struct cpl_get_tcb { … };
struct cpl_get_tcb_rpl { … };
struct cpl_set_tcb { … };
#define S_NO_REPLY …
#define V_NO_REPLY(x) …
#define F_NO_REPLY …
struct cpl_set_tcb_field { … };
struct cpl_set_tcb_rpl { … };
struct cpl_pcmd { … };
struct cpl_pcmd_reply { … };
struct cpl_close_con_req { … };
struct cpl_close_con_rpl { … };
struct cpl_close_listserv_req { … };
struct cpl_close_listserv_rpl { … };
struct cpl_abort_req_rss { … };
struct cpl_abort_req { … };
struct cpl_abort_rpl_rss { … };
struct cpl_abort_rpl { … };
struct cpl_peer_close { … };
struct tx_data_wr { … };
#define S_TX_ACK_PAGES …
#define M_TX_ACK_PAGES …
#define V_TX_ACK_PAGES(x) …
#define G_TX_ACK_PAGES(x) …
#define S_TX_PORT …
#define M_TX_PORT …
#define V_TX_PORT(x) …
#define G_TX_PORT(x) …
#define S_TX_MSS …
#define M_TX_MSS …
#define V_TX_MSS(x) …
#define G_TX_MSS(x) …
#define S_TX_QOS …
#define M_TX_QOS …
#define V_TX_QOS(x) …
#define G_TX_QOS(x) …
#define S_TX_SNDBUF …
#define M_TX_SNDBUF …
#define V_TX_SNDBUF(x) …
#define G_TX_SNDBUF(x) …
struct cpl_tx_data { … };
#define S_TX_ULP_SUBMODE …
#define M_TX_ULP_SUBMODE …
#define V_TX_ULP_SUBMODE(x) …
#define G_TX_ULP_SUBMODE(x) …
#define S_TX_ULP_MODE …
#define M_TX_ULP_MODE …
#define V_TX_ULP_MODE(x) …
#define G_TX_ULP_MODE(x) …
#define S_TX_SHOVE …
#define V_TX_SHOVE(x) …
#define F_TX_SHOVE …
#define S_TX_MORE …
#define V_TX_MORE(x) …
#define F_TX_MORE …
#define S_TX_CPU_IDX …
#define M_TX_CPU_IDX …
#define V_TX_CPU_IDX(x) …
#define G_TX_CPU_IDX(x) …
#define S_TX_URG …
#define V_TX_URG(x) …
#define F_TX_URG …
#define S_TX_CLOSE …
#define V_TX_CLOSE(x) …
#define F_TX_CLOSE …
#define S_TX_INIT …
#define V_TX_INIT(x) …
#define F_TX_INIT …
#define S_TX_IMM_ACK …
#define V_TX_IMM_ACK(x) …
#define F_TX_IMM_ACK …
#define S_TX_IMM_DMA …
#define V_TX_IMM_DMA(x) …
#define F_TX_IMM_DMA …
struct cpl_tx_data_ack { … };
struct cpl_wr_ack { … };
struct cpl_rdma_ec_status { … };
struct mngt_pktsched_wr { … };
struct cpl_iscsi_hdr { … };
#define S_ISCSI_PDU_LEN …
#define M_ISCSI_PDU_LEN …
#define V_ISCSI_PDU_LEN(x) …
#define G_ISCSI_PDU_LEN(x) …
#define S_ISCSI_DDP …
#define V_ISCSI_DDP(x) …
#define F_ISCSI_DDP …
struct cpl_rx_data { … };
struct cpl_rx_data_ack { … };
#define S_RX_CREDITS …
#define M_RX_CREDITS …
#define V_RX_CREDITS(x) …
#define G_RX_CREDITS(x) …
#define S_RX_MODULATE …
#define V_RX_MODULATE(x) …
#define F_RX_MODULATE …
#define S_RX_FORCE_ACK …
#define V_RX_FORCE_ACK(x) …
#define F_RX_FORCE_ACK …
#define S_RX_DACK_MODE …
#define M_RX_DACK_MODE …
#define V_RX_DACK_MODE(x) …
#define G_RX_DACK_MODE(x) …
#define S_RX_DACK_CHANGE …
#define V_RX_DACK_CHANGE(x) …
#define F_RX_DACK_CHANGE …
struct cpl_rx_urg_notify { … };
struct cpl_rx_ddp_complete { … };
struct cpl_rx_data_ddp { … };
#define S_DDP_STATUS …
#define M_DDP_STATUS …
#define V_DDP_STATUS(x) …
#define G_DDP_STATUS(x) …
#define S_DDP_VALID …
#define M_DDP_VALID …
#define V_DDP_VALID(x) …
#define G_DDP_VALID(x) …
#define S_DDP_PPOD_MISMATCH …
#define V_DDP_PPOD_MISMATCH(x) …
#define F_DDP_PPOD_MISMATCH …
#define S_DDP_PDU …
#define V_DDP_PDU(x) …
#define F_DDP_PDU …
#define S_DDP_LLIMIT_ERR …
#define V_DDP_LLIMIT_ERR(x) …
#define F_DDP_LLIMIT_ERR …
#define S_DDP_PPOD_PARITY_ERR …
#define V_DDP_PPOD_PARITY_ERR(x) …
#define F_DDP_PPOD_PARITY_ERR …
#define S_DDP_PADDING_ERR …
#define V_DDP_PADDING_ERR(x) …
#define F_DDP_PADDING_ERR …
#define S_DDP_HDRCRC_ERR …
#define V_DDP_HDRCRC_ERR(x) …
#define F_DDP_HDRCRC_ERR …
#define S_DDP_DATACRC_ERR …
#define V_DDP_DATACRC_ERR(x) …
#define F_DDP_DATACRC_ERR …
#define S_DDP_INVALID_TAG …
#define V_DDP_INVALID_TAG(x) …
#define F_DDP_INVALID_TAG …
#define S_DDP_ULIMIT_ERR …
#define V_DDP_ULIMIT_ERR(x) …
#define F_DDP_ULIMIT_ERR …
#define S_DDP_OFFSET_ERR …
#define V_DDP_OFFSET_ERR(x) …
#define F_DDP_OFFSET_ERR …
#define S_DDP_COLOR_ERR …
#define V_DDP_COLOR_ERR(x) …
#define F_DDP_COLOR_ERR …
#define S_DDP_TID_MISMATCH …
#define V_DDP_TID_MISMATCH(x) …
#define F_DDP_TID_MISMATCH …
#define S_DDP_INVALID_PPOD …
#define V_DDP_INVALID_PPOD(x) …
#define F_DDP_INVALID_PPOD …
#define S_DDP_ULP_MODE …
#define M_DDP_ULP_MODE …
#define V_DDP_ULP_MODE(x) …
#define G_DDP_ULP_MODE(x) …
#define S_DDP_OFFSET …
#define M_DDP_OFFSET …
#define V_DDP_OFFSET(x) …
#define G_DDP_OFFSET(x) …
#define S_DDP_URG …
#define V_DDP_URG(x) …
#define F_DDP_URG …
#define S_DDP_PSH …
#define V_DDP_PSH(x) …
#define F_DDP_PSH …
#define S_DDP_BUF_COMPLETE …
#define V_DDP_BUF_COMPLETE(x) …
#define F_DDP_BUF_COMPLETE …
#define S_DDP_BUF_TIMED_OUT …
#define V_DDP_BUF_TIMED_OUT(x) …
#define F_DDP_BUF_TIMED_OUT …
#define S_DDP_BUF_IDX …
#define V_DDP_BUF_IDX(x) …
#define F_DDP_BUF_IDX …
struct cpl_tx_pkt { … };
struct cpl_tx_pkt_lso { … };
#define S_TXPKT_VLAN …
#define M_TXPKT_VLAN …
#define V_TXPKT_VLAN(x) …
#define G_TXPKT_VLAN(x) …
#define S_TXPKT_INTF …
#define M_TXPKT_INTF …
#define V_TXPKT_INTF(x) …
#define G_TXPKT_INTF(x) …
#define S_TXPKT_IPCSUM_DIS …
#define V_TXPKT_IPCSUM_DIS(x) …
#define F_TXPKT_IPCSUM_DIS …
#define S_TXPKT_L4CSUM_DIS …
#define V_TXPKT_L4CSUM_DIS(x) …
#define F_TXPKT_L4CSUM_DIS …
#define S_TXPKT_VLAN_VLD …
#define V_TXPKT_VLAN_VLD(x) …
#define F_TXPKT_VLAN_VLD …
#define S_TXPKT_LOOPBACK …
#define V_TXPKT_LOOPBACK(x) …
#define F_TXPKT_LOOPBACK …
#define S_TXPKT_OPCODE …
#define M_TXPKT_OPCODE …
#define V_TXPKT_OPCODE(x) …
#define G_TXPKT_OPCODE(x) …
#define S_LSO_MSS …
#define M_LSO_MSS …
#define V_LSO_MSS(x) …
#define G_LSO_MSS(x) …
#define S_LSO_ETH_TYPE …
#define M_LSO_ETH_TYPE …
#define V_LSO_ETH_TYPE(x) …
#define G_LSO_ETH_TYPE(x) …
#define S_LSO_TCPHDR_WORDS …
#define M_LSO_TCPHDR_WORDS …
#define V_LSO_TCPHDR_WORDS(x) …
#define G_LSO_TCPHDR_WORDS(x) …
#define S_LSO_IPHDR_WORDS …
#define M_LSO_IPHDR_WORDS …
#define V_LSO_IPHDR_WORDS(x) …
#define G_LSO_IPHDR_WORDS(x) …
#define S_LSO_IPV6 …
#define V_LSO_IPV6(x) …
#define F_LSO_IPV6 …
struct cpl_trace_pkt { … };
struct cpl_rx_pkt { … };
struct cpl_l2t_write_req { … };
#define S_L2T_W_IDX …
#define M_L2T_W_IDX …
#define V_L2T_W_IDX(x) …
#define G_L2T_W_IDX(x) …
#define S_L2T_W_VLAN …
#define M_L2T_W_VLAN …
#define V_L2T_W_VLAN(x) …
#define G_L2T_W_VLAN(x) …
#define S_L2T_W_IFF …
#define M_L2T_W_IFF …
#define V_L2T_W_IFF(x) …
#define G_L2T_W_IFF(x) …
#define S_L2T_W_PRIO …
#define M_L2T_W_PRIO …
#define V_L2T_W_PRIO(x) …
#define G_L2T_W_PRIO(x) …
struct cpl_l2t_write_rpl { … };
struct cpl_l2t_read_req { … };
struct cpl_l2t_read_rpl { … };
#define S_L2T_R_PRIO …
#define M_L2T_R_PRIO …
#define V_L2T_R_PRIO(x) …
#define G_L2T_R_PRIO(x) …
#define S_L2T_R_VLAN …
#define M_L2T_R_VLAN …
#define V_L2T_R_VLAN(x) …
#define G_L2T_R_VLAN(x) …
#define S_L2T_R_IFF …
#define M_L2T_R_IFF …
#define V_L2T_R_IFF(x) …
#define G_L2T_R_IFF(x) …
#define S_L2T_STATUS …
#define M_L2T_STATUS …
#define V_L2T_STATUS(x) …
#define G_L2T_STATUS(x) …
struct cpl_smt_write_req { … };
struct cpl_smt_write_rpl { … };
struct cpl_smt_read_req { … };
struct cpl_smt_read_rpl { … };
struct cpl_rte_delete_req { … };
#define S_RTE_REQ_LUT_IX …
#define M_RTE_REQ_LUT_IX …
#define V_RTE_REQ_LUT_IX(x) …
#define G_RTE_REQ_LUT_IX(x) …
#define S_RTE_REQ_LUT_BASE …
#define M_RTE_REQ_LUT_BASE …
#define V_RTE_REQ_LUT_BASE(x) …
#define G_RTE_REQ_LUT_BASE(x) …
#define S_RTE_READ_REQ_SELECT …
#define V_RTE_READ_REQ_SELECT(x) …
#define F_RTE_READ_REQ_SELECT …
struct cpl_rte_delete_rpl { … };
struct cpl_rte_write_req { … };
#define S_RTE_WRITE_REQ_LUT_IX …
#define M_RTE_WRITE_REQ_LUT_IX …
#define V_RTE_WRITE_REQ_LUT_IX(x) …
#define G_RTE_WRITE_REQ_LUT_IX(x) …
#define S_RTE_WRITE_REQ_LUT_BASE …
#define M_RTE_WRITE_REQ_LUT_BASE …
#define V_RTE_WRITE_REQ_LUT_BASE(x) …
#define G_RTE_WRITE_REQ_LUT_BASE(x) …
struct cpl_rte_write_rpl { … };
struct cpl_rte_read_req { … };
struct cpl_rte_read_rpl { … };
struct cpl_tid_release { … };
struct cpl_barrier { … };
struct cpl_rdma_read_req { … };
struct cpl_rdma_terminate { … };
#define S_FLIT_CNT …
#define M_FLIT_CNT …
#define V_FLIT_CNT(x) …
#define G_FLIT_CNT(x) …
#define S_TERM_TID …
#define M_TERM_TID …
#define V_TERM_TID(x) …
#define G_TERM_TID(x) …
enum { … };
#define S_ULPTX_CMD …
#define M_ULPTX_CMD …
#define V_ULPTX_CMD(x) …
#define S_ULPTX_NFLITS …
#define M_ULPTX_NFLITS …
#define V_ULPTX_NFLITS(x) …
struct ulp_mem_io { … };
#define S_ULP_MEMIO_ADDR …
#define M_ULP_MEMIO_ADDR …
#define V_ULP_MEMIO_ADDR(x) …
#define S_ULP_MEMIO_LOCK …
#define V_ULP_MEMIO_LOCK(x) …
#define F_ULP_MEMIO_LOCK …
#define S_ULP_MEMIO_DATA_LEN …
#define M_ULP_MEMIO_DATA_LEN …
#define V_ULP_MEMIO_DATA_LEN(x) …
#endif