Commit 1704d748 authored by Casey Leedom's avatar Casey Leedom Committed by David S. Miller

cxgb4vf: small changes to message processing structures/macros

Split cpl_tx_pkt_lso into core message structure and encapsulated message,
make RSPD_LEN macro match other response descriptor macros.

Signed-off-by: Casey Leedom
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a71e8329
...@@ -931,7 +931,7 @@ out_free: dev_kfree_skb(skb); ...@@ -931,7 +931,7 @@ out_free: dev_kfree_skb(skb);
ssi = skb_shinfo(skb); ssi = skb_shinfo(skb);
if (ssi->gso_size) { if (ssi->gso_size) {
struct cpl_tx_pkt_lso *lso = (void *)wr; struct cpl_tx_pkt_lso_core *lso = (void *)(wr + 1);
bool v6 = (ssi->gso_type & SKB_GSO_TCPV6) != 0; bool v6 = (ssi->gso_type & SKB_GSO_TCPV6) != 0;
int l3hdr_len = skb_network_header_len(skb); int l3hdr_len = skb_network_header_len(skb);
int eth_xtra_len = skb_network_offset(skb) - ETH_HLEN; int eth_xtra_len = skb_network_offset(skb) - ETH_HLEN;
...@@ -1718,7 +1718,7 @@ static int process_responses(struct sge_rspq *q, int budget) ...@@ -1718,7 +1718,7 @@ static int process_responses(struct sge_rspq *q, int budget)
free_rx_bufs(q->adap, &rxq->fl, 1); free_rx_bufs(q->adap, &rxq->fl, 1);
q->offset = 0; q->offset = 0;
} }
len &= RSPD_LEN; len = RSPD_LEN(len);
} }
si.tot_len = len; si.tot_len = len;
......
...@@ -88,11 +88,13 @@ struct rsp_ctrl { ...@@ -88,11 +88,13 @@ struct rsp_ctrl {
}; };
#define RSPD_NEWBUF 0x80000000U #define RSPD_NEWBUF 0x80000000U
#define RSPD_LEN 0x7fffffffU #define RSPD_LEN(x) (((x) >> 0) & 0x7fffffffU)
#define RSPD_QID(x) RSPD_LEN(x)
#define RSPD_GEN(x) ((x) >> 7) #define RSPD_GEN(x) ((x) >> 7)
#define RSPD_TYPE(x) (((x) >> 4) & 3) #define RSPD_TYPE(x) (((x) >> 4) & 3)
#define QINTR_CNT_EN 0x1 #define QINTR_CNT_EN 0x1
#define QINTR_TIMER_IDX(x) ((x) << 1) #define QINTR_TIMER_IDX(x) ((x) << 1)
#define QINTR_TIMER_IDX_GET(x) (((x) << 1) & 0x7)
#endif /* __T4_HW_H */ #endif /* __T4_HW_H */
...@@ -443,8 +443,7 @@ struct cpl_tx_pkt { ...@@ -443,8 +443,7 @@ struct cpl_tx_pkt {
#define cpl_tx_pkt_xt cpl_tx_pkt #define cpl_tx_pkt_xt cpl_tx_pkt
struct cpl_tx_pkt_lso { struct cpl_tx_pkt_lso_core {
WR_HDR;
__be32 lso_ctrl; __be32 lso_ctrl;
#define LSO_TCPHDR_LEN(x) ((x) << 0) #define LSO_TCPHDR_LEN(x) ((x) << 0)
#define LSO_IPHDR_LEN(x) ((x) << 4) #define LSO_IPHDR_LEN(x) ((x) << 4)
...@@ -460,6 +459,12 @@ struct cpl_tx_pkt_lso { ...@@ -460,6 +459,12 @@ struct cpl_tx_pkt_lso {
/* encapsulated CPL (TX_PKT, TX_PKT_XT or TX_DATA) follows here */ /* encapsulated CPL (TX_PKT, TX_PKT_XT or TX_DATA) follows here */
}; };
struct cpl_tx_pkt_lso {
WR_HDR;
struct cpl_tx_pkt_lso_core c;
/* encapsulated CPL (TX_PKT, TX_PKT_XT or TX_DATA) follows here */
};
struct cpl_iscsi_hdr { struct cpl_iscsi_hdr {
union opcode_tid ot; union opcode_tid ot;
__be16 pdu_len_ddp; __be16 pdu_len_ddp;
...@@ -623,6 +628,11 @@ struct cpl_fw6_msg { ...@@ -623,6 +628,11 @@ struct cpl_fw6_msg {
__be64 data[4]; __be64 data[4];
}; };
/* cpl_fw6_msg.type values */
enum {
FW6_TYPE_CMD_RPL = 0,
};
enum { enum {
ULP_TX_MEM_READ = 2, ULP_TX_MEM_READ = 2,
ULP_TX_MEM_WRITE = 3, ULP_TX_MEM_WRITE = 3,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment