aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb4
diff options
context:
space:
mode:
authorCasey Leedom <leedom@chelsio.com>2010-06-25 08:09:38 -0400
committerDavid S. Miller <davem@davemloft.net>2010-06-29 02:58:54 -0400
commit1704d74894912b8ecc3e95cecd7bde336a0b1bf2 (patch)
tree4081867356b4afa7825eefd5f014342803e5166a /drivers/net/cxgb4
parenta71e8329170ece5f684aa363dfa69828cbfd5184 (diff)
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: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb4')
-rw-r--r--drivers/net/cxgb4/sge.c4
-rw-r--r--drivers/net/cxgb4/t4_hw.h4
-rw-r--r--drivers/net/cxgb4/t4_msg.h14
3 files changed, 17 insertions, 5 deletions
diff --git a/drivers/net/cxgb4/sge.c b/drivers/net/cxgb4/sge.c
index d1f8f225e45a..4388f72d586a 100644
--- a/drivers/net/cxgb4/sge.c
+++ b/drivers/net/cxgb4/sge.c
@@ -931,7 +931,7 @@ out_free: dev_kfree_skb(skb);
931 931
932 ssi = skb_shinfo(skb); 932 ssi = skb_shinfo(skb);
933 if (ssi->gso_size) { 933 if (ssi->gso_size) {
934 struct cpl_tx_pkt_lso *lso = (void *)wr; 934 struct cpl_tx_pkt_lso_core *lso = (void *)(wr + 1);
935 bool v6 = (ssi->gso_type & SKB_GSO_TCPV6) != 0; 935 bool v6 = (ssi->gso_type & SKB_GSO_TCPV6) != 0;
936 int l3hdr_len = skb_network_header_len(skb); 936 int l3hdr_len = skb_network_header_len(skb);
937 int eth_xtra_len = skb_network_offset(skb) - ETH_HLEN; 937 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 free_rx_bufs(q->adap, &rxq->fl, 1); 1718 free_rx_bufs(q->adap, &rxq->fl, 1);
1719 q->offset = 0; 1719 q->offset = 0;
1720 } 1720 }
1721 len &= RSPD_LEN; 1721 len = RSPD_LEN(len);
1722 } 1722 }
1723 si.tot_len = len; 1723 si.tot_len = len;
1724 1724
diff --git a/drivers/net/cxgb4/t4_hw.h b/drivers/net/cxgb4/t4_hw.h
index f886677b93ec..98c02bedc02d 100644
--- a/drivers/net/cxgb4/t4_hw.h
+++ b/drivers/net/cxgb4/t4_hw.h
@@ -88,11 +88,13 @@ struct rsp_ctrl {
88}; 88};
89 89
90#define RSPD_NEWBUF 0x80000000U 90#define RSPD_NEWBUF 0x80000000U
91#define RSPD_LEN 0x7fffffffU 91#define RSPD_LEN(x) (((x) >> 0) & 0x7fffffffU)
92#define RSPD_QID(x) RSPD_LEN(x)
92 93
93#define RSPD_GEN(x) ((x) >> 7) 94#define RSPD_GEN(x) ((x) >> 7)
94#define RSPD_TYPE(x) (((x) >> 4) & 3) 95#define RSPD_TYPE(x) (((x) >> 4) & 3)
95 96
96#define QINTR_CNT_EN 0x1 97#define QINTR_CNT_EN 0x1
97#define QINTR_TIMER_IDX(x) ((x) << 1) 98#define QINTR_TIMER_IDX(x) ((x) << 1)
99#define QINTR_TIMER_IDX_GET(x) (((x) << 1) & 0x7)
98#endif /* __T4_HW_H */ 100#endif /* __T4_HW_H */
diff --git a/drivers/net/cxgb4/t4_msg.h b/drivers/net/cxgb4/t4_msg.h
index 7a981b81afaf..623932b39b5d 100644
--- a/drivers/net/cxgb4/t4_msg.h
+++ b/drivers/net/cxgb4/t4_msg.h
@@ -443,8 +443,7 @@ struct cpl_tx_pkt {
443 443
444#define cpl_tx_pkt_xt cpl_tx_pkt 444#define cpl_tx_pkt_xt cpl_tx_pkt
445 445
446struct cpl_tx_pkt_lso { 446struct cpl_tx_pkt_lso_core {
447 WR_HDR;
448 __be32 lso_ctrl; 447 __be32 lso_ctrl;
449#define LSO_TCPHDR_LEN(x) ((x) << 0) 448#define LSO_TCPHDR_LEN(x) ((x) << 0)
450#define LSO_IPHDR_LEN(x) ((x) << 4) 449#define LSO_IPHDR_LEN(x) ((x) << 4)
@@ -460,6 +459,12 @@ struct cpl_tx_pkt_lso {
460 /* encapsulated CPL (TX_PKT, TX_PKT_XT or TX_DATA) follows here */ 459 /* encapsulated CPL (TX_PKT, TX_PKT_XT or TX_DATA) follows here */
461}; 460};
462 461
462struct cpl_tx_pkt_lso {
463 WR_HDR;
464 struct cpl_tx_pkt_lso_core c;
465 /* encapsulated CPL (TX_PKT, TX_PKT_XT or TX_DATA) follows here */
466};
467
463struct cpl_iscsi_hdr { 468struct cpl_iscsi_hdr {
464 union opcode_tid ot; 469 union opcode_tid ot;
465 __be16 pdu_len_ddp; 470 __be16 pdu_len_ddp;
@@ -623,6 +628,11 @@ struct cpl_fw6_msg {
623 __be64 data[4]; 628 __be64 data[4];
624}; 629};
625 630
631/* cpl_fw6_msg.type values */
632enum {
633 FW6_TYPE_CMD_RPL = 0,
634};
635
626enum { 636enum {
627 ULP_TX_MEM_READ = 2, 637 ULP_TX_MEM_READ = 2,
628 ULP_TX_MEM_WRITE = 3, 638 ULP_TX_MEM_WRITE = 3,