aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x/bnx2x_link.h
diff options
context:
space:
mode:
authorVlad Zolotarov <vladz@broadcom.com>2011-06-14 07:33:44 -0400
committerDavid S. Miller <davem@conan.davemloft.net>2011-06-15 10:56:37 -0400
commit619c5cb6885b936c44ae1422ef805b69c6291485 (patch)
tree4604ae08f1eb12c6ad1f65106879c2e73946ae12 /drivers/net/bnx2x/bnx2x_link.h
parent042181f5aa8833a8918e1a91cfaf292146ffc62c (diff)
New 7.0 FW: bnx2x, cnic, bnx2i, bnx2fc
New FW/HSI (7.0): - Added support to 578xx chips - Improved HSI - much less driver's direct access to the FW internal memory needed. New implementation of the HSI handling layer in the bnx2x (bnx2x_sp.c): - Introduced chip dependent objects that have chip independent interfaces for configuration of MACs, multicast addresses, Rx mode, indirection table, fast path queues and function initialization/cleanup. - Objects functionality is based on the private function pointers, which allows not only a per-chip but also PF/VF differentiation while still preserving the same interface towards the driver. - Objects interface is not influenced by the HSI changes which do not require providing new parameters keeping the code outside the bnx2x_sp.c invariant with regard to such HSI chnages. Changes in a CNIC, bnx2fc and bnx2i modules due to the new HSI. Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@conan.davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_link.h')
-rw-r--r--drivers/net/bnx2x/bnx2x_link.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/drivers/net/bnx2x/bnx2x_link.h b/drivers/net/bnx2x/bnx2x_link.h
index a106d8cbd69f..3fef7782490a 100644
--- a/drivers/net/bnx2x/bnx2x_link.h
+++ b/drivers/net/bnx2x/bnx2x_link.h
@@ -81,6 +81,7 @@
81#define PFC_BRB_FULL_LB_XOFF_THRESHOLD 170 81#define PFC_BRB_FULL_LB_XOFF_THRESHOLD 170
82#define PFC_BRB_FULL_LB_XON_THRESHOLD 250 82#define PFC_BRB_FULL_LB_XON_THRESHOLD 250
83 83
84#define MAXVAL(a, b) (((a) > (b)) ? (a) : (b))
84/***********************************************************/ 85/***********************************************************/
85/* Structs */ 86/* Structs */
86/***********************************************************/ 87/***********************************************************/
@@ -262,6 +263,8 @@ struct link_vars {
262#define MAC_TYPE_NONE 0 263#define MAC_TYPE_NONE 0
263#define MAC_TYPE_EMAC 1 264#define MAC_TYPE_EMAC 1
264#define MAC_TYPE_BMAC 2 265#define MAC_TYPE_BMAC 2
266#define MAC_TYPE_UMAC 3
267#define MAC_TYPE_XMAC 4
265 268
266 u8 phy_link_up; /* internal phy link indication */ 269 u8 phy_link_up; /* internal phy link indication */
267 u8 link_up; 270 u8 link_up;
@@ -363,6 +366,20 @@ int bnx2x_phy_probe(struct link_params *params);
363u8 bnx2x_fan_failure_det_req(struct bnx2x *bp, u32 shmem_base, 366u8 bnx2x_fan_failure_det_req(struct bnx2x *bp, u32 shmem_base,
364 u32 shmem2_base, u8 port); 367 u32 shmem2_base, u8 port);
365 368
369/* DCBX structs */
370
371/* Number of maximum COS per chip */
372#define DCBX_E2E3_MAX_NUM_COS (2)
373#define DCBX_E3B0_MAX_NUM_COS_PORT0 (6)
374#define DCBX_E3B0_MAX_NUM_COS_PORT1 (3)
375#define DCBX_E3B0_MAX_NUM_COS ( \
376 MAXVAL(DCBX_E3B0_MAX_NUM_COS_PORT0, \
377 DCBX_E3B0_MAX_NUM_COS_PORT1))
378
379#define DCBX_MAX_NUM_COS ( \
380 MAXVAL(DCBX_E3B0_MAX_NUM_COS, \
381 DCBX_E2E3_MAX_NUM_COS))
382
366/* PFC port configuration params */ 383/* PFC port configuration params */
367struct bnx2x_nig_brb_pfc_port_params { 384struct bnx2x_nig_brb_pfc_port_params {
368 /* NIG */ 385 /* NIG */
@@ -370,8 +387,8 @@ struct bnx2x_nig_brb_pfc_port_params {
370 u32 llfc_out_en; 387 u32 llfc_out_en;
371 u32 llfc_enable; 388 u32 llfc_enable;
372 u32 pkt_priority_to_cos; 389 u32 pkt_priority_to_cos;
373 u32 rx_cos0_priority_mask; 390 u8 num_of_rx_cos_priority_mask;
374 u32 rx_cos1_priority_mask; 391 u32 rx_cos_priority_mask[DCBX_MAX_NUM_COS];
375 u32 llfc_high_priority_classes; 392 u32 llfc_high_priority_classes;
376 u32 llfc_low_priority_classes; 393 u32 llfc_low_priority_classes;
377 /* BRB */ 394 /* BRB */