aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_reg.h
diff options
context:
space:
mode:
authorEilon Greenstein <eilong@broadcom.com>2009-08-13 01:53:28 -0400
committerDavid S. Miller <davem@davemloft.net>2009-08-13 01:53:28 -0400
commitca00392cb8f5227c67ff52c656d91a764d022ab9 (patch)
tree007d82074e49d25d1ee6bfb484392032d463be91 /drivers/net/bnx2x_reg.h
parent6200f09036ee6f12822a9133dba7ed011b179c69 (diff)
bnx2x: Using the new FW
The new FW improves the packets per second rate. It required a lot of change in the FW which implies many changes in the driver to support it. It is now also possible for the driver to use a separate MSI-X vector for Rx and Tx - this also add some to the complicity of this change. All things said - after this patch, practically all performance matrixes show improvement. Though Vladislav Zolotarov is not signed on this patch, he did most of the job and deserves credit for that. 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.h60
1 files changed, 31 insertions, 29 deletions
diff --git a/drivers/net/bnx2x_reg.h b/drivers/net/bnx2x_reg.h
index 8e9e7a24f2fc..25639e2df52b 100644
--- a/drivers/net/bnx2x_reg.h
+++ b/drivers/net/bnx2x_reg.h
@@ -370,7 +370,6 @@
370#define CFC_REG_NUM_LCIDS_LEAVING 0x104018 370#define CFC_REG_NUM_LCIDS_LEAVING 0x104018
371/* [RW 8] The event id for aggregated interrupt 0 */ 371/* [RW 8] The event id for aggregated interrupt 0 */
372#define CSDM_REG_AGG_INT_EVENT_0 0xc2038 372#define CSDM_REG_AGG_INT_EVENT_0 0xc2038
373#define CSDM_REG_AGG_INT_EVENT_1 0xc203c
374#define CSDM_REG_AGG_INT_EVENT_10 0xc2060 373#define CSDM_REG_AGG_INT_EVENT_10 0xc2060
375#define CSDM_REG_AGG_INT_EVENT_11 0xc2064 374#define CSDM_REG_AGG_INT_EVENT_11 0xc2064
376#define CSDM_REG_AGG_INT_EVENT_12 0xc2068 375#define CSDM_REG_AGG_INT_EVENT_12 0xc2068
@@ -378,37 +377,27 @@
378#define CSDM_REG_AGG_INT_EVENT_14 0xc2070 377#define CSDM_REG_AGG_INT_EVENT_14 0xc2070
379#define CSDM_REG_AGG_INT_EVENT_15 0xc2074 378#define CSDM_REG_AGG_INT_EVENT_15 0xc2074
380#define CSDM_REG_AGG_INT_EVENT_16 0xc2078 379#define CSDM_REG_AGG_INT_EVENT_16 0xc2078
381#define CSDM_REG_AGG_INT_EVENT_17 0xc207c
382#define CSDM_REG_AGG_INT_EVENT_18 0xc2080
383#define CSDM_REG_AGG_INT_EVENT_19 0xc2084
384#define CSDM_REG_AGG_INT_EVENT_2 0xc2040 380#define CSDM_REG_AGG_INT_EVENT_2 0xc2040
385#define CSDM_REG_AGG_INT_EVENT_20 0xc2088
386#define CSDM_REG_AGG_INT_EVENT_21 0xc208c
387#define CSDM_REG_AGG_INT_EVENT_22 0xc2090
388#define CSDM_REG_AGG_INT_EVENT_23 0xc2094
389#define CSDM_REG_AGG_INT_EVENT_24 0xc2098
390#define CSDM_REG_AGG_INT_EVENT_25 0xc209c
391#define CSDM_REG_AGG_INT_EVENT_26 0xc20a0
392#define CSDM_REG_AGG_INT_EVENT_27 0xc20a4
393#define CSDM_REG_AGG_INT_EVENT_28 0xc20a8
394#define CSDM_REG_AGG_INT_EVENT_29 0xc20ac
395#define CSDM_REG_AGG_INT_EVENT_3 0xc2044 381#define CSDM_REG_AGG_INT_EVENT_3 0xc2044
396#define CSDM_REG_AGG_INT_EVENT_30 0xc20b0
397#define CSDM_REG_AGG_INT_EVENT_31 0xc20b4
398#define CSDM_REG_AGG_INT_EVENT_4 0xc2048 382#define CSDM_REG_AGG_INT_EVENT_4 0xc2048
399/* [RW 1] The T bit for aggregated interrupt 0 */ 383#define CSDM_REG_AGG_INT_EVENT_5 0xc204c
400#define CSDM_REG_AGG_INT_T_0 0xc20b8 384#define CSDM_REG_AGG_INT_EVENT_6 0xc2050
401#define CSDM_REG_AGG_INT_T_1 0xc20bc 385#define CSDM_REG_AGG_INT_EVENT_7 0xc2054
402#define CSDM_REG_AGG_INT_T_10 0xc20e0 386#define CSDM_REG_AGG_INT_EVENT_8 0xc2058
403#define CSDM_REG_AGG_INT_T_11 0xc20e4 387#define CSDM_REG_AGG_INT_EVENT_9 0xc205c
404#define CSDM_REG_AGG_INT_T_12 0xc20e8 388/* [RW 1] For each aggregated interrupt index whether the mode is normal (0)
405#define CSDM_REG_AGG_INT_T_13 0xc20ec 389 or auto-mask-mode (1) */
406#define CSDM_REG_AGG_INT_T_14 0xc20f0 390#define CSDM_REG_AGG_INT_MODE_10 0xc21e0
407#define CSDM_REG_AGG_INT_T_15 0xc20f4 391#define CSDM_REG_AGG_INT_MODE_11 0xc21e4
408#define CSDM_REG_AGG_INT_T_16 0xc20f8 392#define CSDM_REG_AGG_INT_MODE_12 0xc21e8
409#define CSDM_REG_AGG_INT_T_17 0xc20fc 393#define CSDM_REG_AGG_INT_MODE_13 0xc21ec
410#define CSDM_REG_AGG_INT_T_18 0xc2100 394#define CSDM_REG_AGG_INT_MODE_14 0xc21f0
411#define CSDM_REG_AGG_INT_T_19 0xc2104 395#define CSDM_REG_AGG_INT_MODE_15 0xc21f4
396#define CSDM_REG_AGG_INT_MODE_16 0xc21f8
397#define CSDM_REG_AGG_INT_MODE_6 0xc21d0
398#define CSDM_REG_AGG_INT_MODE_7 0xc21d4
399#define CSDM_REG_AGG_INT_MODE_8 0xc21d8
400#define CSDM_REG_AGG_INT_MODE_9 0xc21dc
412/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 401/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */
413#define CSDM_REG_CFC_RSP_START_ADDR 0xc2008 402#define CSDM_REG_CFC_RSP_START_ADDR 0xc2008
414/* [RW 16] The maximum value of the competion counter #0 */ 403/* [RW 16] The maximum value of the competion counter #0 */
@@ -1421,6 +1410,8 @@
1421/* [RW 1] e1hmf for WOL. If clr WOL signal o the PXP will be send on bit 0 1410/* [RW 1] e1hmf for WOL. If clr WOL signal o the PXP will be send on bit 0
1422 only. */ 1411 only. */
1423#define MISC_REG_E1HMF_MODE 0xa5f8 1412#define MISC_REG_E1HMF_MODE 0xa5f8
1413/* [RW 32] Debug only: spare RW register reset by core reset */
1414#define MISC_REG_GENERIC_CR_0 0xa460
1424/* [RW 32] GPIO. [31-28] FLOAT port 0; [27-24] FLOAT port 0; When any of 1415/* [RW 32] GPIO. [31-28] FLOAT port 0; [27-24] FLOAT port 0; When any of
1425 these bits is written as a '1'; the corresponding SPIO bit will turn off 1416 these bits is written as a '1'; the corresponding SPIO bit will turn off
1426 it's drivers and become an input. This is the reset state of all GPIO 1417 it's drivers and become an input. This is the reset state of all GPIO
@@ -1729,6 +1720,7 @@
1729/* [RW 3] for port0 enable for llfc ppp and pause. b0 - brb1 enable; b1- 1720/* [RW 3] for port0 enable for llfc ppp and pause. b0 - brb1 enable; b1-
1730 tsdm enable; b2- usdm enable */ 1721 tsdm enable; b2- usdm enable */
1731#define NIG_REG_LLFC_EGRESS_SRC_ENABLE_0 0x16070 1722#define NIG_REG_LLFC_EGRESS_SRC_ENABLE_0 0x16070
1723#define NIG_REG_LLFC_EGRESS_SRC_ENABLE_1 0x16074
1732/* [RW 1] SAFC enable for port0. This register may get 1 only when 1724/* [RW 1] SAFC enable for port0. This register may get 1 only when
1733 ~ppp_enable.ppp_enable = 0 and pause_enable.pause_enable =0 for the same 1725 ~ppp_enable.ppp_enable = 0 and pause_enable.pause_enable =0 for the same
1734 port */ 1726 port */
@@ -2079,6 +2071,7 @@
2079#define PXP2_REG_PGL_ADDR_94_F0 0x120540 2071#define PXP2_REG_PGL_ADDR_94_F0 0x120540
2080#define PXP2_REG_PGL_CONTROL0 0x120490 2072#define PXP2_REG_PGL_CONTROL0 0x120490
2081#define PXP2_REG_PGL_CONTROL1 0x120514 2073#define PXP2_REG_PGL_CONTROL1 0x120514
2074#define PXP2_REG_PGL_DEBUG 0x120520
2082/* [RW 32] third dword data of expansion rom request. this register is 2075/* [RW 32] third dword data of expansion rom request. this register is
2083 special. reading from it provides a vector outstanding read requests. if 2076 special. reading from it provides a vector outstanding read requests. if
2084 a bit is zero it means that a read request on the corresponding tag did 2077 a bit is zero it means that a read request on the corresponding tag did
@@ -2239,6 +2232,9 @@
2239 allocated for vq22 */ 2232 allocated for vq22 */
2240#define PXP2_REG_RD_MAX_BLKS_VQ22 0x1203d0 2233#define PXP2_REG_RD_MAX_BLKS_VQ22 0x1203d0
2241/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 2234/* [RW 8] The maximum number of blocks in Tetris Buffer that can be
2235 allocated for vq25 */
2236#define PXP2_REG_RD_MAX_BLKS_VQ25 0x1203dc
2237/* [RW 8] The maximum number of blocks in Tetris Buffer that can be
2242 allocated for vq6 */ 2238 allocated for vq6 */
2243#define PXP2_REG_RD_MAX_BLKS_VQ6 0x120390 2239#define PXP2_REG_RD_MAX_BLKS_VQ6 0x120390
2244/* [RW 8] The maximum number of blocks in Tetris Buffer that can be 2240/* [RW 8] The maximum number of blocks in Tetris Buffer that can be
@@ -3835,6 +3831,7 @@
3835#define TM_REG_LIN0_PHY_ADDR 0x164270 3831#define TM_REG_LIN0_PHY_ADDR 0x164270
3836/* [RW 1] Linear0 physical address valid. */ 3832/* [RW 1] Linear0 physical address valid. */
3837#define TM_REG_LIN0_PHY_ADDR_VALID 0x164248 3833#define TM_REG_LIN0_PHY_ADDR_VALID 0x164248
3834#define TM_REG_LIN0_SCAN_ON 0x1640d0
3838/* [RW 24] Linear0 array scan timeout. */ 3835/* [RW 24] Linear0 array scan timeout. */
3839#define TM_REG_LIN0_SCAN_TIME 0x16403c 3836#define TM_REG_LIN0_SCAN_TIME 0x16403c
3840/* [RW 32] Linear1 logic address. */ 3837/* [RW 32] Linear1 logic address. */
@@ -4363,6 +4360,7 @@
4363#define USDM_REG_AGG_INT_EVENT_31 0xc40b4 4360#define USDM_REG_AGG_INT_EVENT_31 0xc40b4
4364#define USDM_REG_AGG_INT_EVENT_4 0xc4048 4361#define USDM_REG_AGG_INT_EVENT_4 0xc4048
4365#define USDM_REG_AGG_INT_EVENT_5 0xc404c 4362#define USDM_REG_AGG_INT_EVENT_5 0xc404c
4363#define USDM_REG_AGG_INT_EVENT_6 0xc4050
4366/* [RW 1] For each aggregated interrupt index whether the mode is normal (0) 4364/* [RW 1] For each aggregated interrupt index whether the mode is normal (0)
4367 or auto-mask-mode (1) */ 4365 or auto-mask-mode (1) */
4368#define USDM_REG_AGG_INT_MODE_0 0xc41b8 4366#define USDM_REG_AGG_INT_MODE_0 0xc41b8
@@ -4379,6 +4377,10 @@
4379#define USDM_REG_AGG_INT_MODE_19 0xc4204 4377#define USDM_REG_AGG_INT_MODE_19 0xc4204
4380#define USDM_REG_AGG_INT_MODE_4 0xc41c8 4378#define USDM_REG_AGG_INT_MODE_4 0xc41c8
4381#define USDM_REG_AGG_INT_MODE_5 0xc41cc 4379#define USDM_REG_AGG_INT_MODE_5 0xc41cc
4380#define USDM_REG_AGG_INT_MODE_6 0xc41d0
4381/* [RW 1] The T bit for aggregated interrupt 5 */
4382#define USDM_REG_AGG_INT_T_5 0xc40cc
4383#define USDM_REG_AGG_INT_T_6 0xc40d0
4382/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */ 4384/* [RW 13] The start address in the internal RAM for the cfc_rsp lcid */
4383#define USDM_REG_CFC_RSP_START_ADDR 0xc4008 4385#define USDM_REG_CFC_RSP_START_ADDR 0xc4008
4384/* [RW 16] The maximum value of the competion counter #0 */ 4386/* [RW 16] The maximum value of the competion counter #0 */