diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-02-12 03:36:43 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-16 02:31:15 -0500 |
commit | 1c06328c0345638ea7532b45cadfe713c9e9781e (patch) | |
tree | f0bc6c0986f22802655b347367ff5222074870dc /drivers/net/bnx2x_reg.h | |
parent | 8a1c38d17d88c8df3dcbea1c01a390ab2087f8ad (diff) |
bnx2x: Flow control enhancement
Setting better HW thresholds and enabling FW capabilities for better
enforcement. Also set the HW to more efficiently use the internal buffers if
this is a single port design
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_reg.h')
-rw-r--r-- | drivers/net/bnx2x_reg.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/net/bnx2x_reg.h b/drivers/net/bnx2x_reg.h index b654d5d2a92b..713b5f9ea1e2 100644 --- a/drivers/net/bnx2x_reg.h +++ b/drivers/net/bnx2x_reg.h | |||
@@ -30,8 +30,20 @@ | |||
30 | address BRB1_IND_FREE_LIST_PRS_CRDT+1 initialize free tail. At address | 30 | address BRB1_IND_FREE_LIST_PRS_CRDT+1 initialize free tail. At address |
31 | BRB1_IND_FREE_LIST_PRS_CRDT+2 initialize parser initial credit. */ | 31 | BRB1_IND_FREE_LIST_PRS_CRDT+2 initialize parser initial credit. */ |
32 | #define BRB1_REG_FREE_LIST_PRS_CRDT 0x60200 | 32 | #define BRB1_REG_FREE_LIST_PRS_CRDT 0x60200 |
33 | /* [RW 10] The number of free blocks above which the High_llfc signal to | ||
34 | interface #n is de-asserted. */ | ||
35 | #define BRB1_REG_HIGH_LLFC_HIGH_THRESHOLD_0 0x6014c | ||
36 | /* [RW 10] The number of free blocks below which the High_llfc signal to | ||
37 | interface #n is asserted. */ | ||
38 | #define BRB1_REG_HIGH_LLFC_LOW_THRESHOLD_0 0x6013c | ||
33 | /* [RW 23] LL RAM data. */ | 39 | /* [RW 23] LL RAM data. */ |
34 | #define BRB1_REG_LL_RAM 0x61000 | 40 | #define BRB1_REG_LL_RAM 0x61000 |
41 | /* [RW 10] The number of free blocks above which the Low_llfc signal to | ||
42 | interface #n is de-asserted. */ | ||
43 | #define BRB1_REG_LOW_LLFC_HIGH_THRESHOLD_0 0x6016c | ||
44 | /* [RW 10] The number of free blocks below which the Low_llfc signal to | ||
45 | interface #n is asserted. */ | ||
46 | #define BRB1_REG_LOW_LLFC_LOW_THRESHOLD_0 0x6015c | ||
35 | /* [R 24] The number of full blocks. */ | 47 | /* [R 24] The number of full blocks. */ |
36 | #define BRB1_REG_NUM_OF_FULL_BLOCKS 0x60090 | 48 | #define BRB1_REG_NUM_OF_FULL_BLOCKS 0x60090 |
37 | /* [ST 32] The number of cycles that the write_full signal towards MAC #0 | 49 | /* [ST 32] The number of cycles that the write_full signal towards MAC #0 |
@@ -1684,6 +1696,19 @@ | |||
1684 | /* [RW 4] led mode for port0: 0 MAC; 1-3 PHY1; 4 MAC2; 5-7 PHY4; 8-MAC3; | 1696 | /* [RW 4] led mode for port0: 0 MAC; 1-3 PHY1; 4 MAC2; 5-7 PHY4; 8-MAC3; |
1685 | 9-11PHY7; 12 MAC4; 13-15 PHY10; */ | 1697 | 9-11PHY7; 12 MAC4; 13-15 PHY10; */ |
1686 | #define NIG_REG_LED_MODE_P0 0x102f0 | 1698 | #define NIG_REG_LED_MODE_P0 0x102f0 |
1699 | /* [RW 3] for port0 enable for llfc ppp and pause. b0 - brb1 enable; b1- | ||
1700 | tsdm enable; b2- usdm enable */ | ||
1701 | #define NIG_REG_LLFC_EGRESS_SRC_ENABLE_0 0x16070 | ||
1702 | /* [RW 1] SAFC enable for port0. This register may get 1 only when | ||
1703 | ~ppp_enable.ppp_enable = 0 and pause_enable.pause_enable =0 for the same | ||
1704 | port */ | ||
1705 | #define NIG_REG_LLFC_ENABLE_0 0x16208 | ||
1706 | /* [RW 16] classes are high-priority for port0 */ | ||
1707 | #define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_0 0x16058 | ||
1708 | /* [RW 16] classes are low-priority for port0 */ | ||
1709 | #define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_0 0x16060 | ||
1710 | /* [RW 1] Output enable of message to LLFC BMAC IF for port0 */ | ||
1711 | #define NIG_REG_LLFC_OUT_EN_0 0x160c8 | ||
1687 | #define NIG_REG_LLH0_ACPI_PAT_0_CRC 0x1015c | 1712 | #define NIG_REG_LLH0_ACPI_PAT_0_CRC 0x1015c |
1688 | #define NIG_REG_LLH0_ACPI_PAT_6_LEN 0x10154 | 1713 | #define NIG_REG_LLH0_ACPI_PAT_6_LEN 0x10154 |
1689 | #define NIG_REG_LLH0_BRB1_DRV_MASK 0x10244 | 1714 | #define NIG_REG_LLH0_BRB1_DRV_MASK 0x10244 |
@@ -1754,6 +1779,10 @@ | |||
1754 | #define NIG_REG_NIG_INT_STS_1 0x103c0 | 1779 | #define NIG_REG_NIG_INT_STS_1 0x103c0 |
1755 | /* [R 32] Parity register #0 read */ | 1780 | /* [R 32] Parity register #0 read */ |
1756 | #define NIG_REG_NIG_PRTY_STS 0x103d0 | 1781 | #define NIG_REG_NIG_PRTY_STS 0x103d0 |
1782 | /* [RW 1] Pause enable for port0. This register may get 1 only when | ||
1783 | ~safc_enable.safc_enable = 0 and ppp_enable.ppp_enable =0 for the same | ||
1784 | port */ | ||
1785 | #define NIG_REG_PAUSE_ENABLE_0 0x160c0 | ||
1757 | /* [RW 1] Input enable for RX PBF LP IF */ | 1786 | /* [RW 1] Input enable for RX PBF LP IF */ |
1758 | #define NIG_REG_PBF_LB_IN_EN 0x100b4 | 1787 | #define NIG_REG_PBF_LB_IN_EN 0x100b4 |
1759 | /* [RW 1] Value of this register will be transmitted to port swap when | 1788 | /* [RW 1] Value of this register will be transmitted to port swap when |