Support bulking hardware TX queue by using netdev_xmit_more().

Signed-off-by: Sieng Piaw Liew <liew.s.p...@gmail.com>
---
 drivers/net/ethernet/broadcom/bcm63xx_enet.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.c 
b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
index 90f8214b4d22..21744dae30ce 100644
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -634,7 +634,8 @@ bcm_enet_start_xmit(struct sk_buff *skb, struct net_device 
*dev)
        netdev_sent_queue(dev, skb->len);
 
        /* kick tx dma */
-       enet_dmac_writel(priv, priv->dma_chan_en_mask,
+       if (!netdev_xmit_more() || !priv->tx_desc_count)
+               enet_dmac_writel(priv, priv->dma_chan_en_mask,
                                 ENETDMAC_CHANCFG, priv->tx_chan);
 
        /* stop queue if no more desc available */
-- 
2.17.1

Reply via email to