aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x/bnx2x_reg.h
diff options
context:
space:
mode:
authorVladislav Zolotarov <vladz@broadcom.com>2010-12-13 00:44:25 -0500
committerDavid S. Miller <davem@davemloft.net>2010-12-16 16:15:55 -0500
commitbcab15c5d780bafb38311f00fcb263d03d2b00f1 (patch)
treec50e4971d9c0d071b65dc4c849828d46140fb3a9 /drivers/net/bnx2x/bnx2x_reg.h
parente4901dde12d92b70dd13fa8b3bbc9df7a6129aab (diff)
bnx2x: Add DCB/PFC support - link layer
Add appropriate HW DCB/PFC configuration Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_reg.h')
-rw-r--r--drivers/net/bnx2x/bnx2x_reg.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/net/bnx2x/bnx2x_reg.h b/drivers/net/bnx2x/bnx2x_reg.h
index 64bdda189e5a..bfd875b72906 100644
--- a/drivers/net/bnx2x/bnx2x_reg.h
+++ b/drivers/net/bnx2x/bnx2x_reg.h
@@ -1615,6 +1615,8 @@
1615#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_NO_VLAN (0x1<<4) 1615#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_NO_VLAN (0x1<<4)
1616#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_UNCST (0x1<<2) 1616#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_UNCST (0x1<<2)
1617#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_VLAN (0x1<<3) 1617#define NIG_LLH0_BRB1_DRV_MASK_REG_LLH0_BRB1_DRV_MASK_VLAN (0x1<<3)
1618#define NIG_LLH0_XCM_MASK_REG_LLH0_XCM_MASK_BCN (0x1<<0)
1619#define NIG_LLH1_XCM_MASK_REG_LLH1_XCM_MASK_BCN (0x1<<0)
1618#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT (0x1<<0) 1620#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT (0x1<<0)
1619#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_SERDES0_LINK_STATUS (0x1<<9) 1621#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_SERDES0_LINK_STATUS (0x1<<9)
1620#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK10G (0x1<<15) 1622#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK10G (0x1<<15)
@@ -1744,12 +1746,16 @@
1744 ~ppp_enable.ppp_enable = 0 and pause_enable.pause_enable =0 for the same 1746 ~ppp_enable.ppp_enable = 0 and pause_enable.pause_enable =0 for the same
1745 port */ 1747 port */
1746#define NIG_REG_LLFC_ENABLE_0 0x16208 1748#define NIG_REG_LLFC_ENABLE_0 0x16208
1749#define NIG_REG_LLFC_ENABLE_1 0x1620c
1747/* [RW 16] classes are high-priority for port0 */ 1750/* [RW 16] classes are high-priority for port0 */
1748#define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_0 0x16058 1751#define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_0 0x16058
1752#define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_1 0x1605c
1749/* [RW 16] classes are low-priority for port0 */ 1753/* [RW 16] classes are low-priority for port0 */
1750#define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_0 0x16060 1754#define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_0 0x16060
1755#define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_1 0x16064
1751/* [RW 1] Output enable of message to LLFC BMAC IF for port0 */ 1756/* [RW 1] Output enable of message to LLFC BMAC IF for port0 */
1752#define NIG_REG_LLFC_OUT_EN_0 0x160c8 1757#define NIG_REG_LLFC_OUT_EN_0 0x160c8
1758#define NIG_REG_LLFC_OUT_EN_1 0x160cc
1753#define NIG_REG_LLH0_ACPI_PAT_0_CRC 0x1015c 1759#define NIG_REG_LLH0_ACPI_PAT_0_CRC 0x1015c
1754#define NIG_REG_LLH0_ACPI_PAT_6_LEN 0x10154 1760#define NIG_REG_LLH0_ACPI_PAT_6_LEN 0x10154
1755#define NIG_REG_LLH0_BRB1_DRV_MASK 0x10244 1761#define NIG_REG_LLH0_BRB1_DRV_MASK 0x10244
@@ -1912,11 +1918,17 @@
1912 ~safc_enable.safc_enable = 0 and ppp_enable.ppp_enable =0 for the same 1918 ~safc_enable.safc_enable = 0 and ppp_enable.ppp_enable =0 for the same
1913 port */ 1919 port */
1914#define NIG_REG_PAUSE_ENABLE_0 0x160c0 1920#define NIG_REG_PAUSE_ENABLE_0 0x160c0
1921#define NIG_REG_PAUSE_ENABLE_1 0x160c4
1915/* [RW 1] Input enable for RX PBF LP IF */ 1922/* [RW 1] Input enable for RX PBF LP IF */
1916#define NIG_REG_PBF_LB_IN_EN 0x100b4 1923#define NIG_REG_PBF_LB_IN_EN 0x100b4
1917/* [RW 1] Value of this register will be transmitted to port swap when 1924/* [RW 1] Value of this register will be transmitted to port swap when
1918 ~nig_registers_strap_override.strap_override =1 */ 1925 ~nig_registers_strap_override.strap_override =1 */
1919#define NIG_REG_PORT_SWAP 0x10394 1926#define NIG_REG_PORT_SWAP 0x10394
1927/* [RW 1] PPP enable for port0. This register may get 1 only when
1928 * ~safc_enable.safc_enable = 0 and pause_enable.pause_enable =0 for the
1929 * same port */
1930#define NIG_REG_PPP_ENABLE_0 0x160b0
1931#define NIG_REG_PPP_ENABLE_1 0x160b4
1920/* [RW 1] output enable for RX parser descriptor IF */ 1932/* [RW 1] output enable for RX parser descriptor IF */
1921#define NIG_REG_PRS_EOP_OUT_EN 0x10104 1933#define NIG_REG_PRS_EOP_OUT_EN 0x10104
1922/* [RW 1] Input enable for RX parser request IF */ 1934/* [RW 1] Input enable for RX parser request IF */
@@ -1983,6 +1995,14 @@
1983#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G (0x1<<15) 1995#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G (0x1<<15)
1984#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS (0xf<<18) 1996#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS (0xf<<18)
1985#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE 18 1997#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE 18
1998/* [RW 31] The upper bound of the weight of COS0 in the ETS command arbiter. */
1999#define PBF_REG_COS0_UPPER_BOUND 0x15c05c
2000/* [RW 31] The weight of COS0 in the ETS command arbiter. */
2001#define PBF_REG_COS0_WEIGHT 0x15c054
2002/* [RW 31] The upper bound of the weight of COS1 in the ETS command arbiter. */
2003#define PBF_REG_COS1_UPPER_BOUND 0x15c060
2004/* [RW 31] The weight of COS1 in the ETS command arbiter. */
2005#define PBF_REG_COS1_WEIGHT 0x15c058
1986/* [RW 1] Disable processing further tasks from port 0 (after ending the 2006/* [RW 1] Disable processing further tasks from port 0 (after ending the
1987 current task in process). */ 2007 current task in process). */
1988#define PBF_REG_DISABLE_NEW_TASK_PROC_P0 0x14005c 2008#define PBF_REG_DISABLE_NEW_TASK_PROC_P0 0x14005c
@@ -1993,9 +2013,16 @@
1993 current task in process). */ 2013 current task in process). */
1994#define PBF_REG_DISABLE_NEW_TASK_PROC_P4 0x14006c 2014#define PBF_REG_DISABLE_NEW_TASK_PROC_P4 0x14006c
1995#define PBF_REG_DISABLE_PF 0x1402e8 2015#define PBF_REG_DISABLE_PF 0x1402e8
2016/* [RW 1] Indicates that ETS is performed between the COSes in the command
2017 * arbiter. If reset strict priority w/ anti-starvation will be performed
2018 * w/o WFQ. */
2019#define PBF_REG_ETS_ENABLED 0x15c050
1996/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic 2020/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic
1997 * Ethernet header. */ 2021 * Ethernet header. */
1998#define PBF_REG_HDRS_AFTER_BASIC 0x15c0a8 2022#define PBF_REG_HDRS_AFTER_BASIC 0x15c0a8
2023/* [RW 1] Indicates which COS is conncted to the highest priority in the
2024 * command arbiter. */
2025#define PBF_REG_HIGH_PRIORITY_COS_NUM 0x15c04c
1999#define PBF_REG_IF_ENABLE_REG 0x140044 2026#define PBF_REG_IF_ENABLE_REG 0x140044
2000/* [RW 1] Init bit. When set the initial credits are copied to the credit 2027/* [RW 1] Init bit. When set the initial credits are copied to the credit
2001 registers (except the port credits). Should be set and then reset after 2028 registers (except the port credits). Should be set and then reset after
@@ -2021,6 +2048,10 @@
2021#define PBF_REG_MAC_LB_ENABLE 0x140040 2048#define PBF_REG_MAC_LB_ENABLE 0x140040
2022/* [RW 6] Bit-map indicating which headers must appear in the packet */ 2049/* [RW 6] Bit-map indicating which headers must appear in the packet */
2023#define PBF_REG_MUST_HAVE_HDRS 0x15c0c4 2050#define PBF_REG_MUST_HAVE_HDRS 0x15c0c4
2051/* [RW 16] The number of strict priority arbitration slots between 2 RR
2052 * arbitration slots. A value of 0 means no strict priority cycles; i.e. the
2053 * strict-priority w/ anti-starvation arbiter is a RR arbiter. */
2054#define PBF_REG_NUM_STRICT_ARB_SLOTS 0x15c064
2024/* [RW 10] Port 0 threshold used by arbiter in 16 byte lines used when pause 2055/* [RW 10] Port 0 threshold used by arbiter in 16 byte lines used when pause
2025 not suppoterd. */ 2056 not suppoterd. */
2026#define PBF_REG_P0_ARB_THRSH 0x1400e4 2057#define PBF_REG_P0_ARB_THRSH 0x1400e4
@@ -4975,7 +5006,23 @@
4975#define EMAC_REG_EMAC_TX_MODE 0xbc 5006#define EMAC_REG_EMAC_TX_MODE 0xbc
4976#define EMAC_REG_EMAC_TX_STAT_AC 0x280 5007#define EMAC_REG_EMAC_TX_STAT_AC 0x280
4977#define EMAC_REG_EMAC_TX_STAT_AC_COUNT 22 5008#define EMAC_REG_EMAC_TX_STAT_AC_COUNT 22
5009#define EMAC_REG_RX_PFC_MODE 0x320
5010#define EMAC_REG_RX_PFC_MODE_PRIORITIES (1L<<2)
5011#define EMAC_REG_RX_PFC_MODE_RX_EN (1L<<1)
5012#define EMAC_REG_RX_PFC_MODE_TX_EN (1L<<0)
5013#define EMAC_REG_RX_PFC_PARAM 0x324
5014#define EMAC_REG_RX_PFC_PARAM_OPCODE_BITSHIFT 0
5015#define EMAC_REG_RX_PFC_PARAM_PRIORITY_EN_BITSHIFT 16
5016#define EMAC_REG_RX_PFC_STATS_XOFF_RCVD 0x328
5017#define EMAC_REG_RX_PFC_STATS_XOFF_RCVD_COUNT (0xffff<<0)
5018#define EMAC_REG_RX_PFC_STATS_XOFF_SENT 0x330
5019#define EMAC_REG_RX_PFC_STATS_XOFF_SENT_COUNT (0xffff<<0)
5020#define EMAC_REG_RX_PFC_STATS_XON_RCVD 0x32c
5021#define EMAC_REG_RX_PFC_STATS_XON_RCVD_COUNT (0xffff<<0)
5022#define EMAC_REG_RX_PFC_STATS_XON_SENT 0x334
5023#define EMAC_REG_RX_PFC_STATS_XON_SENT_COUNT (0xffff<<0)
4978#define EMAC_RX_MODE_FLOW_EN (1L<<2) 5024#define EMAC_RX_MODE_FLOW_EN (1L<<2)
5025#define EMAC_RX_MODE_KEEP_MAC_CONTROL (1L<<3)
4979#define EMAC_RX_MODE_KEEP_VLAN_TAG (1L<<10) 5026#define EMAC_RX_MODE_KEEP_VLAN_TAG (1L<<10)
4980#define EMAC_RX_MODE_PROMISCUOUS (1L<<8) 5027#define EMAC_RX_MODE_PROMISCUOUS (1L<<8)
4981#define EMAC_RX_MODE_RESET (1L<<0) 5028#define EMAC_RX_MODE_RESET (1L<<0)