diff options
author | Dmitry Kravkov <dmitry@broadcom.com> | 2011-08-08 23:10:29 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-11 10:14:53 -0400 |
commit | 9f0096a1578bca77b28762c89b29affee69a20f4 (patch) | |
tree | 06c6df4da24842e324510b7d315ca8be4bc190d9 /drivers/net | |
parent | 2031bd3a8adce1259756e7f142b230c010035995 (diff) |
bnx2x: properly clean indirect addresses
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')
-rw-r--r-- | drivers/net/bnx2x/bnx2x_main.c | 15 | ||||
-rw-r--r-- | drivers/net/bnx2x/bnx2x_reg.h | 26 |
2 files changed, 32 insertions, 9 deletions
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c index 1f5467f9548c..f74582a22c68 100644 --- a/drivers/net/bnx2x/bnx2x_main.c +++ b/drivers/net/bnx2x/bnx2x_main.c | |||
@@ -10259,10 +10259,17 @@ static int __devinit bnx2x_init_dev(struct pci_dev *pdev, | |||
10259 | /* clean indirect addresses */ | 10259 | /* clean indirect addresses */ |
10260 | pci_write_config_dword(bp->pdev, PCICFG_GRC_ADDRESS, | 10260 | pci_write_config_dword(bp->pdev, PCICFG_GRC_ADDRESS, |
10261 | PCICFG_VENDOR_ID_OFFSET); | 10261 | PCICFG_VENDOR_ID_OFFSET); |
10262 | REG_WR(bp, PXP2_REG_PGL_ADDR_88_F0 + BP_PORT(bp)*16, 0); | 10262 | /* Clean the following indirect addresses for all functions since it |
10263 | REG_WR(bp, PXP2_REG_PGL_ADDR_8C_F0 + BP_PORT(bp)*16, 0); | 10263 | * is not used by the driver. |
10264 | REG_WR(bp, PXP2_REG_PGL_ADDR_90_F0 + BP_PORT(bp)*16, 0); | 10264 | */ |
10265 | REG_WR(bp, PXP2_REG_PGL_ADDR_94_F0 + BP_PORT(bp)*16, 0); | 10265 | REG_WR(bp, PXP2_REG_PGL_ADDR_88_F0, 0); |
10266 | REG_WR(bp, PXP2_REG_PGL_ADDR_8C_F0, 0); | ||
10267 | REG_WR(bp, PXP2_REG_PGL_ADDR_90_F0, 0); | ||
10268 | REG_WR(bp, PXP2_REG_PGL_ADDR_94_F0, 0); | ||
10269 | REG_WR(bp, PXP2_REG_PGL_ADDR_88_F1, 0); | ||
10270 | REG_WR(bp, PXP2_REG_PGL_ADDR_8C_F1, 0); | ||
10271 | REG_WR(bp, PXP2_REG_PGL_ADDR_90_F1, 0); | ||
10272 | REG_WR(bp, PXP2_REG_PGL_ADDR_94_F1, 0); | ||
10266 | 10273 | ||
10267 | /* | 10274 | /* |
10268 | * Enable internal target-read (in case we are probed after PF FLR). | 10275 | * Enable internal target-read (in case we are probed after PF FLR). |
diff --git a/drivers/net/bnx2x/bnx2x_reg.h b/drivers/net/bnx2x/bnx2x_reg.h index 27b5ecb11830..40266c14e6dc 100644 --- a/drivers/net/bnx2x/bnx2x_reg.h +++ b/drivers/net/bnx2x/bnx2x_reg.h | |||
@@ -3007,11 +3007,27 @@ | |||
3007 | /* [R 6] Debug only: Number of used entries in the data FIFO */ | 3007 | /* [R 6] Debug only: Number of used entries in the data FIFO */ |
3008 | #define PXP2_REG_HST_DATA_FIFO_STATUS 0x12047c | 3008 | #define PXP2_REG_HST_DATA_FIFO_STATUS 0x12047c |
3009 | /* [R 7] Debug only: Number of used entries in the header FIFO */ | 3009 | /* [R 7] Debug only: Number of used entries in the header FIFO */ |
3010 | #define PXP2_REG_HST_HEADER_FIFO_STATUS 0x120478 | 3010 | #define PXP2_REG_HST_HEADER_FIFO_STATUS 0x120478 |
3011 | #define PXP2_REG_PGL_ADDR_88_F0 0x120534 | 3011 | #define PXP2_REG_PGL_ADDR_88_F0 0x120534 |
3012 | #define PXP2_REG_PGL_ADDR_8C_F0 0x120538 | 3012 | /* [R 32] GRC address for configuration access to PCIE config address 0x88. |
3013 | #define PXP2_REG_PGL_ADDR_90_F0 0x12053c | 3013 | * any write to this PCIE address will cause a GRC write access to the |
3014 | #define PXP2_REG_PGL_ADDR_94_F0 0x120540 | 3014 | * address that's in t this register */ |
3015 | #define PXP2_REG_PGL_ADDR_88_F1 0x120544 | ||
3016 | #define PXP2_REG_PGL_ADDR_8C_F0 0x120538 | ||
3017 | /* [R 32] GRC address for configuration access to PCIE config address 0x8c. | ||
3018 | * any write to this PCIE address will cause a GRC write access to the | ||
3019 | * address that's in t this register */ | ||
3020 | #define PXP2_REG_PGL_ADDR_8C_F1 0x120548 | ||
3021 | #define PXP2_REG_PGL_ADDR_90_F0 0x12053c | ||
3022 | /* [R 32] GRC address for configuration access to PCIE config address 0x90. | ||
3023 | * any write to this PCIE address will cause a GRC write access to the | ||
3024 | * address that's in t this register */ | ||
3025 | #define PXP2_REG_PGL_ADDR_90_F1 0x12054c | ||
3026 | #define PXP2_REG_PGL_ADDR_94_F0 0x120540 | ||
3027 | /* [R 32] GRC address for configuration access to PCIE config address 0x94. | ||
3028 | * any write to this PCIE address will cause a GRC write access to the | ||
3029 | * address that's in t this register */ | ||
3030 | #define PXP2_REG_PGL_ADDR_94_F1 0x120550 | ||
3015 | #define PXP2_REG_PGL_CONTROL0 0x120490 | 3031 | #define PXP2_REG_PGL_CONTROL0 0x120490 |
3016 | #define PXP2_REG_PGL_CONTROL1 0x120514 | 3032 | #define PXP2_REG_PGL_CONTROL1 0x120514 |
3017 | #define PXP2_REG_PGL_DEBUG 0x120520 | 3033 | #define PXP2_REG_PGL_DEBUG 0x120520 |