aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2008-01-30 00:34:08 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-31 22:27:13 -0500
commit6f743ca052575a26439d796249d9e7740b8192d7 (patch)
tree1fb81426131ff21d4201b565e9d007c4fbc2686c /drivers/net/bnx2.c
parentf3014c0cb60ec15a0a2542cbfae7e8d888aa5cf8 (diff)
[BNX2]: Refine tx coalescing setup.
Make the tx coalescing setup code independent of the MSIX vector. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r--drivers/net/bnx2.c9
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;