Commit 7207c0d1 authored by Hariprasad Shenai's avatar Hariprasad Shenai Committed by David S. Miller

cxgb4/cxgb4vf: Updated the LSO transfer length in CPL_TX_PKT_LSO for T5

Update the lso length for T5 adapter and fix PIDX_T5 macro
Signed-off-by: default avatarHariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ea97caee
...@@ -1123,7 +1123,10 @@ out_free: dev_kfree_skb_any(skb); ...@@ -1123,7 +1123,10 @@ out_free: dev_kfree_skb_any(skb);
lso->c.ipid_ofst = htons(0); lso->c.ipid_ofst = htons(0);
lso->c.mss = htons(ssi->gso_size); lso->c.mss = htons(ssi->gso_size);
lso->c.seqno_offset = htonl(0); lso->c.seqno_offset = htonl(0);
if (is_t4(adap->params.chip))
lso->c.len = htonl(skb->len); lso->c.len = htonl(skb->len);
else
lso->c.len = htonl(LSO_T5_XFER_SIZE(skb->len));
cpl = (void *)(lso + 1); cpl = (void *)(lso + 1);
cntrl = TXPKT_CSUM_TYPE(v6 ? TX_CSUM_TCPIP6 : TX_CSUM_TCPIP) | cntrl = TXPKT_CSUM_TYPE(v6 ? TX_CSUM_TCPIP6 : TX_CSUM_TCPIP) |
TXPKT_IPHDR_LEN(l3hdr_len) | TXPKT_IPHDR_LEN(l3hdr_len) |
......
...@@ -527,6 +527,7 @@ struct cpl_tx_pkt_lso_core { ...@@ -527,6 +527,7 @@ struct cpl_tx_pkt_lso_core {
#define LSO_LAST_SLICE (1 << 22) #define LSO_LAST_SLICE (1 << 22)
#define LSO_FIRST_SLICE (1 << 23) #define LSO_FIRST_SLICE (1 << 23)
#define LSO_OPCODE(x) ((x) << 24) #define LSO_OPCODE(x) ((x) << 24)
#define LSO_T5_XFER_SIZE(x) ((x) << 0)
__be16 ipid_ofst; __be16 ipid_ofst;
__be16 mss; __be16 mss;
__be32 seqno_offset; __be32 seqno_offset;
......
...@@ -72,9 +72,8 @@ ...@@ -72,9 +72,8 @@
#define PIDX_MASK 0x00003fffU #define PIDX_MASK 0x00003fffU
#define PIDX_SHIFT 0 #define PIDX_SHIFT 0
#define PIDX(x) ((x) << PIDX_SHIFT) #define PIDX(x) ((x) << PIDX_SHIFT)
#define S_PIDX_T5 0 #define PIDX_SHIFT_T5 0
#define M_PIDX_T5 0x1fffU #define PIDX_T5(x) ((x) << PIDX_SHIFT_T5)
#define PIDX_T5(x) (((x) >> S_PIDX_T5) & M_PIDX_T5)
#define SGE_TIMERREGS 6 #define SGE_TIMERREGS 6
......
...@@ -1208,7 +1208,10 @@ int t4vf_eth_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -1208,7 +1208,10 @@ int t4vf_eth_xmit(struct sk_buff *skb, struct net_device *dev)
lso->ipid_ofst = cpu_to_be16(0); lso->ipid_ofst = cpu_to_be16(0);
lso->mss = cpu_to_be16(ssi->gso_size); lso->mss = cpu_to_be16(ssi->gso_size);
lso->seqno_offset = cpu_to_be32(0); lso->seqno_offset = cpu_to_be32(0);
if (is_t4(adapter->params.chip))
lso->len = cpu_to_be32(skb->len); lso->len = cpu_to_be32(skb->len);
else
lso->len = cpu_to_be32(LSO_T5_XFER_SIZE(skb->len));
/* /*
* Set up TX Packet CPL pointer, control word and perform * Set up TX Packet CPL pointer, control word and perform
......
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