aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/chelsio
diff options
context:
space:
mode:
authorAnish Bhatt <anish@chelsio.com>2014-11-12 20:15:57 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-13 14:36:22 -0500
commitd7990b0c34623cd54475a0562c607efbaba4899d (patch)
tree07df588a531da6bb0cbdac66633f2ce26e50263b /drivers/net/ethernet/chelsio
parent8c847d254146d32c86574a1b16923ff91bb784dd (diff)
cxgb4i/cxgb4 : Refactor macros to conform to uniform standards
Refactored all macros used in cxgb4i as part of previously started cxgb4 macro names cleanup. Makes them more uniform and avoids namespace collision. Minor changes in other drivers where required as some of these macros are used by multiple drivers, affected drivers are iw_cxgb4, cxgb4(vf) & csiostor Signed-off-by: Anish Bhatt <anish@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c4
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/l2t.c2
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/sge.c2
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/t4_msg.h120
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h6
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4vf/sge.c2
6 files changed, 96 insertions, 40 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 660bf0f79ac5..19ffe9bc1933 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -3476,7 +3476,7 @@ int cxgb4_create_server(const struct net_device *dev, unsigned int stid,
3476 req->local_ip = sip; 3476 req->local_ip = sip;
3477 req->peer_ip = htonl(0); 3477 req->peer_ip = htonl(0);
3478 chan = rxq_to_chan(&adap->sge, queue); 3478 chan = rxq_to_chan(&adap->sge, queue);
3479 req->opt0 = cpu_to_be64(TX_CHAN(chan)); 3479 req->opt0 = cpu_to_be64(TX_CHAN_V(chan));
3480 req->opt1 = cpu_to_be64(CONN_POLICY_ASK | 3480 req->opt1 = cpu_to_be64(CONN_POLICY_ASK |
3481 SYN_RSS_ENABLE | SYN_RSS_QUEUE(queue)); 3481 SYN_RSS_ENABLE | SYN_RSS_QUEUE(queue));
3482 ret = t4_mgmt_tx(adap, skb); 3482 ret = t4_mgmt_tx(adap, skb);
@@ -3519,7 +3519,7 @@ int cxgb4_create_server6(const struct net_device *dev, unsigned int stid,
3519 req->peer_ip_hi = cpu_to_be64(0); 3519 req->peer_ip_hi = cpu_to_be64(0);
3520 req->peer_ip_lo = cpu_to_be64(0); 3520 req->peer_ip_lo = cpu_to_be64(0);
3521 chan = rxq_to_chan(&adap->sge, queue); 3521 chan = rxq_to_chan(&adap->sge, queue);
3522 req->opt0 = cpu_to_be64(TX_CHAN(chan)); 3522 req->opt0 = cpu_to_be64(TX_CHAN_V(chan));
3523 req->opt1 = cpu_to_be64(CONN_POLICY_ASK | 3523 req->opt1 = cpu_to_be64(CONN_POLICY_ASK |
3524 SYN_RSS_ENABLE | SYN_RSS_QUEUE(queue)); 3524 SYN_RSS_ENABLE | SYN_RSS_QUEUE(queue));
3525 ret = t4_mgmt_tx(adap, skb); 3525 ret = t4_mgmt_tx(adap, skb);
diff --git a/drivers/net/ethernet/chelsio/cxgb4/l2t.c b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
index 96041397ee15..1eca0e21f738 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/l2t.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
@@ -436,7 +436,7 @@ u64 cxgb4_select_ntuple(struct net_device *dev,
436 if (tp->vnic_shift >= 0) { 436 if (tp->vnic_shift >= 0) {
437 u32 viid = cxgb4_port_viid(dev); 437 u32 viid = cxgb4_port_viid(dev);
438 u32 vf = FW_VIID_VIN_GET(viid); 438 u32 vf = FW_VIID_VIN_GET(viid);
439 u32 pf = FW_VIID_PFN_GET(viid); 439 u32 pf = FW_VIID_PFN_G(viid);
440 u32 vld = FW_VIID_VIVLD_GET(viid); 440 u32 vld = FW_VIID_VIVLD_GET(viid);
441 441
442 ntuple |= (u64)(V_FT_VNID_ID_VF(vf) | 442 ntuple |= (u64)(V_FT_VNID_ID_VF(vf) |
diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c
index dacd95008333..91dbf98036cc 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/sge.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c
@@ -816,7 +816,7 @@ static void write_sgl(const struct sk_buff *skb, struct sge_txq *q,
816 sgl->addr0 = cpu_to_be64(addr[1]); 816 sgl->addr0 = cpu_to_be64(addr[1]);
817 } 817 }
818 818
819 sgl->cmd_nsge = htonl(ULPTX_CMD(ULP_TX_SC_DSGL) | ULPTX_NSGE(nfrags)); 819 sgl->cmd_nsge = htonl(ULPTX_CMD_V(ULP_TX_SC_DSGL) | ULPTX_NSGE(nfrags));
820 if (likely(--nfrags == 0)) 820 if (likely(--nfrags == 0))
821 return; 821 return;
822 /* 822 /*
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h b/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
index 5f4db2398c71..0f89f68948ab 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
@@ -205,16 +205,62 @@ struct work_request_hdr {
205#define WR_HDR struct work_request_hdr wr 205#define WR_HDR struct work_request_hdr wr
206 206
207/* option 0 fields */ 207/* option 0 fields */
208#define S_MSS_IDX 60 208#define TX_CHAN_S 2
209#define M_MSS_IDX 0xF 209#define TX_CHAN_V(x) ((x) << TX_CHAN_S)
210#define V_MSS_IDX(x) ((__u64)(x) << S_MSS_IDX) 210
211#define G_MSS_IDX(x) (((x) >> S_MSS_IDX) & M_MSS_IDX) 211#define ULP_MODE_S 8
212#define ULP_MODE_V(x) ((x) << ULP_MODE_S)
213
214#define RCV_BUFSIZ_S 12
215#define RCV_BUFSIZ_M 0x3FFU
216#define RCV_BUFSIZ_V(x) ((x) << RCV_BUFSIZ_S)
217
218#define SMAC_SEL_S 28
219#define SMAC_SEL_V(x) ((__u64)(x) << SMAC_SEL_S)
220
221#define L2T_IDX_S 36
222#define L2T_IDX_V(x) ((__u64)(x) << L2T_IDX_S)
223
224#define WND_SCALE_S 50
225#define WND_SCALE_V(x) ((__u64)(x) << WND_SCALE_S)
226
227#define KEEP_ALIVE_S 54
228#define KEEP_ALIVE_V(x) ((__u64)(x) << KEEP_ALIVE_S)
229#define KEEP_ALIVE_F KEEP_ALIVE_V(1ULL)
230
231#define MSS_IDX_S 60
232#define MSS_IDX_M 0xF
233#define MSS_IDX_V(x) ((__u64)(x) << MSS_IDX_S)
234#define MSS_IDX_G(x) (((x) >> MSS_IDX_S) & MSS_IDX_M)
212 235
213/* option 2 fields */ 236/* option 2 fields */
214#define S_RSS_QUEUE 0 237#define RSS_QUEUE_S 0
215#define M_RSS_QUEUE 0x3FF 238#define RSS_QUEUE_M 0x3FF
216#define V_RSS_QUEUE(x) ((x) << S_RSS_QUEUE) 239#define RSS_QUEUE_V(x) ((x) << RSS_QUEUE_S)
217#define G_RSS_QUEUE(x) (((x) >> S_RSS_QUEUE) & M_RSS_QUEUE) 240#define RSS_QUEUE_G(x) (((x) >> RSS_QUEUE_S) & RSS_QUEUE_M)
241
242#define RSS_QUEUE_VALID_S 10
243#define RSS_QUEUE_VALID_V(x) ((x) << RSS_QUEUE_VALID_S)
244#define RSS_QUEUE_VALID_F RSS_QUEUE_VALID_V(1U)
245
246#define RX_FC_DISABLE_S 20
247#define RX_FC_DISABLE_V(x) ((x) << RX_FC_DISABLE_S)
248#define RX_FC_DISABLE_F RX_FC_DISABLE_V(1U)
249
250#define RX_FC_VALID_S 22
251#define RX_FC_VALID_V(x) ((x) << RX_FC_VALID_S)
252#define RX_FC_VALID_F RX_FC_VALID_V(1U)
253
254#define RX_CHANNEL_S 26
255#define RX_CHANNEL_V(x) ((x) << RX_CHANNEL_S)
256
257#define WND_SCALE_EN_S 28
258#define WND_SCALE_EN_V(x) ((x) << WND_SCALE_EN_S)
259#define WND_SCALE_EN_F WND_SCALE_EN_V(1U)
260
261#define T5_OPT_2_VALID_S 31
262#define T5_OPT_2_VALID_V(x) ((x) << T5_OPT_2_VALID_S)
263#define T5_OPT_2_VALID_F T5_OPT_2_VALID_V(1U)
218 264
219struct cpl_pass_open_req { 265struct cpl_pass_open_req {
220 WR_HDR; 266 WR_HDR;
@@ -224,20 +270,11 @@ struct cpl_pass_open_req {
224 __be32 local_ip; 270 __be32 local_ip;
225 __be32 peer_ip; 271 __be32 peer_ip;
226 __be64 opt0; 272 __be64 opt0;
227#define TX_CHAN(x) ((x) << 2)
228#define NO_CONG(x) ((x) << 4) 273#define NO_CONG(x) ((x) << 4)
229#define DELACK(x) ((x) << 5) 274#define DELACK(x) ((x) << 5)
230#define ULP_MODE(x) ((x) << 8)
231#define RCV_BUFSIZ(x) ((x) << 12)
232#define RCV_BUFSIZ_MASK 0x3FFU
233#define DSCP(x) ((x) << 22) 275#define DSCP(x) ((x) << 22)
234#define SMAC_SEL(x) ((u64)(x) << 28)
235#define L2T_IDX(x) ((u64)(x) << 36)
236#define TCAM_BYPASS(x) ((u64)(x) << 48) 276#define TCAM_BYPASS(x) ((u64)(x) << 48)
237#define NAGLE(x) ((u64)(x) << 49) 277#define NAGLE(x) ((u64)(x) << 49)
238#define WND_SCALE(x) ((u64)(x) << 50)
239#define KEEP_ALIVE(x) ((u64)(x) << 54)
240#define MSS_IDX(x) ((u64)(x) << 60)
241 __be64 opt1; 278 __be64 opt1;
242#define SYN_RSS_ENABLE (1 << 0) 279#define SYN_RSS_ENABLE (1 << 0)
243#define SYN_RSS_QUEUE(x) ((x) << 2) 280#define SYN_RSS_QUEUE(x) ((x) << 2)
@@ -267,20 +304,13 @@ struct cpl_pass_accept_rpl {
267 WR_HDR; 304 WR_HDR;
268 union opcode_tid ot; 305 union opcode_tid ot;
269 __be32 opt2; 306 __be32 opt2;
270#define RSS_QUEUE(x) ((x) << 0)
271#define RSS_QUEUE_VALID (1 << 10)
272#define RX_COALESCE_VALID(x) ((x) << 11) 307#define RX_COALESCE_VALID(x) ((x) << 11)
273#define RX_COALESCE(x) ((x) << 12) 308#define RX_COALESCE(x) ((x) << 12)
274#define PACE(x) ((x) << 16) 309#define PACE(x) ((x) << 16)
275#define RX_FC_VALID ((1U) << 19)
276#define RX_FC_DISABLE ((1U) << 20)
277#define TX_QUEUE(x) ((x) << 23) 310#define TX_QUEUE(x) ((x) << 23)
278#define RX_CHANNEL(x) ((x) << 26)
279#define CCTRL_ECN(x) ((x) << 27) 311#define CCTRL_ECN(x) ((x) << 27)
280#define WND_SCALE_EN(x) ((x) << 28)
281#define TSTAMPS_EN(x) ((x) << 29) 312#define TSTAMPS_EN(x) ((x) << 29)
282#define SACK_EN(x) ((x) << 30) 313#define SACK_EN(x) ((x) << 30)
283#define T5_OPT_2_VALID ((1U) << 31)
284 __be64 opt0; 314 __be64 opt0;
285}; 315};
286 316
@@ -305,10 +335,10 @@ struct cpl_act_open_req {
305 __be32 opt2; 335 __be32 opt2;
306}; 336};
307 337
308#define S_FILTER_TUPLE 24 338#define FILTER_TUPLE_S 24
309#define M_FILTER_TUPLE 0xFFFFFFFFFF 339#define FILTER_TUPLE_M 0xFFFFFFFFFF
310#define V_FILTER_TUPLE(x) ((x) << S_FILTER_TUPLE) 340#define FILTER_TUPLE_V(x) ((x) << FILTER_TUPLE_S)
311#define G_FILTER_TUPLE(x) (((x) >> S_FILTER_TUPLE) & M_FILTER_TUPLE) 341#define FILTER_TUPLE_G(x) (((x) >> FILTER_TUPLE_S) & FILTER_TUPLE_M)
312struct cpl_t5_act_open_req { 342struct cpl_t5_act_open_req {
313 WR_HDR; 343 WR_HDR;
314 union opcode_tid ot; 344 union opcode_tid ot;
@@ -579,10 +609,16 @@ struct cpl_rx_data_ack {
579 WR_HDR; 609 WR_HDR;
580 union opcode_tid ot; 610 union opcode_tid ot;
581 __be32 credit_dack; 611 __be32 credit_dack;
582#define RX_CREDITS(x) ((x) << 0)
583#define RX_FORCE_ACK(x) ((x) << 28)
584}; 612};
585 613
614/* cpl_rx_data_ack.ack_seq fields */
615#define RX_CREDITS_S 0
616#define RX_CREDITS_V(x) ((x) << RX_CREDITS_S)
617
618#define RX_FORCE_ACK_S 28
619#define RX_FORCE_ACK_V(x) ((x) << RX_FORCE_ACK_S)
620#define RX_FORCE_ACK_F RX_FORCE_ACK_V(1U)
621
586struct cpl_rx_pkt { 622struct cpl_rx_pkt {
587 struct rss_header rsshdr; 623 struct rss_header rsshdr;
588 u8 opcode; 624 u8 opcode;
@@ -803,6 +839,9 @@ enum {
803 ULP_TX_SC_ISGL = 0x83 839 ULP_TX_SC_ISGL = 0x83
804}; 840};
805 841
842#define ULPTX_CMD_S 24
843#define ULPTX_CMD_V(x) ((x) << ULPTX_CMD_S)
844
806struct ulptx_sge_pair { 845struct ulptx_sge_pair {
807 __be32 len[2]; 846 __be32 len[2];
808 __be64 addr[2]; 847 __be64 addr[2];
@@ -810,7 +849,6 @@ struct ulptx_sge_pair {
810 849
811struct ulptx_sgl { 850struct ulptx_sgl {
812 __be32 cmd_nsge; 851 __be32 cmd_nsge;
813#define ULPTX_CMD(x) ((x) << 24)
814#define ULPTX_NSGE(x) ((x) << 0) 852#define ULPTX_NSGE(x) ((x) << 0)
815#define ULPTX_MORE (1U << 23) 853#define ULPTX_MORE (1U << 23)
816 __be32 len0; 854 __be32 len0;
@@ -821,15 +859,21 @@ struct ulptx_sgl {
821struct ulp_mem_io { 859struct ulp_mem_io {
822 WR_HDR; 860 WR_HDR;
823 __be32 cmd; 861 __be32 cmd;
824#define ULP_MEMIO_ORDER(x) ((x) << 23)
825 __be32 len16; /* command length */ 862 __be32 len16; /* command length */
826 __be32 dlen; /* data length in 32-byte units */ 863 __be32 dlen; /* data length in 32-byte units */
827#define ULP_MEMIO_DATA_LEN(x) ((x) << 0)
828 __be32 lock_addr; 864 __be32 lock_addr;
829#define ULP_MEMIO_ADDR(x) ((x) << 0)
830#define ULP_MEMIO_LOCK(x) ((x) << 31) 865#define ULP_MEMIO_LOCK(x) ((x) << 31)
831}; 866};
832 867
868/* additional ulp_mem_io.cmd fields */
869#define ULP_MEMIO_ORDER_S 23
870#define ULP_MEMIO_ORDER_V(x) ((x) << ULP_MEMIO_ORDER_S)
871#define ULP_MEMIO_ORDER_F ULP_MEMIO_ORDER_V(1U)
872
873#define T5_ULP_MEMIO_IMM_S 23
874#define T5_ULP_MEMIO_IMM_V(x) ((x) << T5_ULP_MEMIO_IMM_S)
875#define T5_ULP_MEMIO_IMM_F T5_ULP_MEMIO_IMM_V(1U)
876
833#define S_T5_ULP_MEMIO_IMM 23 877#define S_T5_ULP_MEMIO_IMM 23
834#define V_T5_ULP_MEMIO_IMM(x) ((x) << S_T5_ULP_MEMIO_IMM) 878#define V_T5_ULP_MEMIO_IMM(x) ((x) << S_T5_ULP_MEMIO_IMM)
835#define F_T5_ULP_MEMIO_IMM V_T5_ULP_MEMIO_IMM(1U) 879#define F_T5_ULP_MEMIO_IMM V_T5_ULP_MEMIO_IMM(1U)
@@ -838,4 +882,12 @@ struct ulp_mem_io {
838#define V_T5_ULP_MEMIO_ORDER(x) ((x) << S_T5_ULP_MEMIO_ORDER) 882#define V_T5_ULP_MEMIO_ORDER(x) ((x) << S_T5_ULP_MEMIO_ORDER)
839#define F_T5_ULP_MEMIO_ORDER V_T5_ULP_MEMIO_ORDER(1U) 883#define F_T5_ULP_MEMIO_ORDER V_T5_ULP_MEMIO_ORDER(1U)
840 884
885/* ulp_mem_io.lock_addr fields */
886#define ULP_MEMIO_ADDR_S 0
887#define ULP_MEMIO_ADDR_V(x) ((x) << ULP_MEMIO_ADDR_S)
888
889/* ulp_mem_io.dlen fields */
890#define ULP_MEMIO_DATA_LEN_S 0
891#define ULP_MEMIO_DATA_LEN_V(x) ((x) << ULP_MEMIO_DATA_LEN_S)
892
841#endif /* __T4_MSG_H */ 893#endif /* __T4_MSG_H */
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h b/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
index 7cca67fde4f4..6fc46dc11988 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
@@ -1395,7 +1395,11 @@ struct fw_eq_ofld_cmd {
1395 * Macros for VIID parsing: 1395 * Macros for VIID parsing:
1396 * VIID - [10:8] PFN, [7] VI Valid, [6:0] VI number 1396 * VIID - [10:8] PFN, [7] VI Valid, [6:0] VI number
1397 */ 1397 */
1398#define FW_VIID_PFN_GET(x) (((x) >> 8) & 0x7) 1398
1399#define FW_VIID_PFN_S 8
1400#define FW_VIID_PFN_M 0x7
1401#define FW_VIID_PFN_G(x) (((x) >> FW_VIID_PFN_S) & FW_VIID_PFN_M)
1402
1399#define FW_VIID_VIVLD_GET(x) (((x) >> 7) & 0x1) 1403#define FW_VIID_VIVLD_GET(x) (((x) >> 7) & 0x1)
1400#define FW_VIID_VIN_GET(x) (((x) >> 0) & 0x7F) 1404#define FW_VIID_VIN_GET(x) (((x) >> 0) & 0x7F)
1401 1405
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
index cd538afa40dd..aff6d37f2676 100644
--- a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
+++ b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
@@ -907,7 +907,7 @@ static void write_sgl(const struct sk_buff *skb, struct sge_txq *tq,
907 sgl->addr0 = cpu_to_be64(addr[1]); 907 sgl->addr0 = cpu_to_be64(addr[1]);
908 } 908 }
909 909
910 sgl->cmd_nsge = htonl(ULPTX_CMD(ULP_TX_SC_DSGL) | 910 sgl->cmd_nsge = htonl(ULPTX_CMD_V(ULP_TX_SC_DSGL) |
911 ULPTX_NSGE(nfrags)); 911 ULPTX_NSGE(nfrags));
912 if (likely(--nfrags == 0)) 912 if (likely(--nfrags == 0))
913 return; 913 return;