diff options
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r-- | drivers/net/bnx2.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 353c73fa3433..8d0022d0cc45 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -4438,18 +4438,21 @@ bnx2_init_chip(struct bnx2 *bp) | |||
4438 | } | 4438 | } |
4439 | 4439 | ||
4440 | if (bp->flags & BNX2_FLAG_USING_MSIX) { | 4440 | if (bp->flags & BNX2_FLAG_USING_MSIX) { |
4441 | u32 base = ((BNX2_TX_VEC - 1) * BNX2_HC_SB_CONFIG_SIZE) + | ||
4442 | BNX2_HC_SB_CONFIG_1; | ||
4443 | |||
4441 | REG_WR(bp, BNX2_HC_MSIX_BIT_VECTOR, | 4444 | REG_WR(bp, BNX2_HC_MSIX_BIT_VECTOR, |
4442 | BNX2_HC_MSIX_BIT_VECTOR_VAL); | 4445 | BNX2_HC_MSIX_BIT_VECTOR_VAL); |
4443 | 4446 | ||
4444 | REG_WR(bp, BNX2_HC_SB_CONFIG_1, | 4447 | REG_WR(bp, base, |
4445 | BNX2_HC_SB_CONFIG_1_TX_TMR_MODE | | 4448 | BNX2_HC_SB_CONFIG_1_TX_TMR_MODE | |
4446 | BNX2_HC_SB_CONFIG_1_ONE_SHOT); | 4449 | BNX2_HC_SB_CONFIG_1_ONE_SHOT); |
4447 | 4450 | ||
4448 | REG_WR(bp, BNX2_HC_TX_QUICK_CONS_TRIP_1, | 4451 | REG_WR(bp, base + BNX2_HC_TX_QUICK_CONS_TRIP_OFF, |
4449 | (bp->tx_quick_cons_trip_int << 16) | | 4452 | (bp->tx_quick_cons_trip_int << 16) | |
4450 | bp->tx_quick_cons_trip); | 4453 | bp->tx_quick_cons_trip); |
4451 | 4454 | ||
4452 | REG_WR(bp, BNX2_HC_TX_TICKS_1, | 4455 | REG_WR(bp, base + BNX2_HC_TX_TICKS_OFF, |
4453 | (bp->tx_ticks_int << 16) | bp->tx_ticks); | 4456 | (bp->tx_ticks_int << 16) | bp->tx_ticks); |
4454 | 4457 | ||
4455 | val |= BNX2_HC_CONFIG_SB_ADDR_INC_128B; | 4458 | val |= BNX2_HC_CONFIG_SB_ADDR_INC_128B; |