bna: TX Intr Coalescing Fix
authorRasesh Mody <rmody@brocade.com>
Tue, 11 Dec 2012 12:24:52 +0000 (12:24 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 11 Dec 2012 23:25:48 +0000 (18:25 -0500)
Change Details:
        For Tx IB, IPM was enabled with inter_pkt_timeo of 0. This caused the
Tx IB not to generate interrupt till inter_pkt_count of packets have been
received. Correct definition for BFI_TX_INTERPKT_TIMEO & BFI_TX_INTERPKT_COUNT

Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/brocade/bna/bna_hw_defs.h
drivers/net/ethernet/brocade/bna/bna_tx_rx.c

index b8c4e21fbf4c28a89e74832b32bb9065bf8e07c5..af3f7bb0b3b8302854f4eebff78519af1a3a40bb 100644 (file)
@@ -46,7 +46,8 @@
 #define BFI_MAX_INTERPKT_COUNT         0xFF
 #define BFI_MAX_INTERPKT_TIMEO         0xF     /* in 0.5us units */
 #define BFI_TX_COALESCING_TIMEO                20      /* 20 * 5 = 100us */
-#define BFI_TX_INTERPKT_COUNT          32
+#define BFI_TX_INTERPKT_COUNT          12      /* Pkt Cnt = 12 */
+#define BFI_TX_INTERPKT_TIMEO          15      /* 15 * 0.5 = 7.5us */
 #define        BFI_RX_COALESCING_TIMEO         12      /* 12 * 5 = 60us */
 #define        BFI_RX_INTERPKT_COUNT           6       /* Pkt Cnt = 6 */
 #define        BFI_RX_INTERPKT_TIMEO           3       /* 3 * 0.5 = 1.5us */
index bb5467bd3090bcc6215ea2aa3fcef221e8be319c..4df6d4b50b453c3a3557e997c6c583198d9a8b2d 100644 (file)
@@ -3569,7 +3569,7 @@ bna_tx_create(struct bna *bna, struct bnad *bnad,
                if (intr_info->intr_type == BNA_INTR_T_INTX)
                        txq->ib.intr_vector = (1 <<  txq->ib.intr_vector);
                txq->ib.coalescing_timeo = tx_cfg->coalescing_timeo;
-               txq->ib.interpkt_timeo = 0; /* Not used */
+               txq->ib.interpkt_timeo = BFI_TX_INTERPKT_TIMEO;
                txq->ib.interpkt_count = BFI_TX_INTERPKT_COUNT;
 
                /* TCB */