Commit 3799cf47 authored by Eilon Greenstein's avatar Eilon Greenstein Committed by David S. Miller

bnx2x: Disable HC coalescing when setting timeout to zero.

Problem reported by Flavio Leitner <fleitner@redhat.com>:
When setting rx/tx coalescing timeout to the values less than 12 traffic was
stopped.

The FW supports coalescing in 12us granularity, and so value of less then 12
should be interpreted as disabling coalescing
Signed-off-by: default avatarVlad Zolotarov <vladz@broadcom.com>
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d23e4365
...@@ -4434,7 +4434,7 @@ static void bnx2x_update_coalesce(struct bnx2x *bp) ...@@ -4434,7 +4434,7 @@ static void bnx2x_update_coalesce(struct bnx2x *bp)
REG_WR16(bp, BAR_USTRORM_INTMEM + REG_WR16(bp, BAR_USTRORM_INTMEM +
USTORM_SB_HC_DISABLE_OFFSET(port, sb_id, USTORM_SB_HC_DISABLE_OFFSET(port, sb_id,
U_SB_ETH_RX_CQ_INDEX), U_SB_ETH_RX_CQ_INDEX),
bp->rx_ticks ? 0 : 1); (bp->rx_ticks/12) ? 0 : 1);
/* HC_INDEX_C_ETH_TX_CQ_CONS */ /* HC_INDEX_C_ETH_TX_CQ_CONS */
REG_WR8(bp, BAR_CSTRORM_INTMEM + REG_WR8(bp, BAR_CSTRORM_INTMEM +
...@@ -4444,7 +4444,7 @@ static void bnx2x_update_coalesce(struct bnx2x *bp) ...@@ -4444,7 +4444,7 @@ static void bnx2x_update_coalesce(struct bnx2x *bp)
REG_WR16(bp, BAR_CSTRORM_INTMEM + REG_WR16(bp, BAR_CSTRORM_INTMEM +
CSTORM_SB_HC_DISABLE_OFFSET(port, sb_id, CSTORM_SB_HC_DISABLE_OFFSET(port, sb_id,
C_SB_ETH_TX_CQ_INDEX), C_SB_ETH_TX_CQ_INDEX),
bp->tx_ticks ? 0 : 1); (bp->tx_ticks/12) ? 0 : 1);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment