net: stmmac: tso init prepared for multiple queues
authorJoao Pinto <Joao.Pinto@synopsys.com>
Wed, 15 Mar 2017 11:04:54 +0000 (11:04 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Mar 2017 21:44:33 +0000 (14:44 -0700)
This patch configures TSO for all available tx queues.

Signed-off-by: Joao Pinto <jpinto@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index 2868391..c802286 100644 (file)
@@ -1966,6 +1966,8 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp)
 {
        struct stmmac_priv *priv = netdev_priv(dev);
        u32 rx_cnt = priv->plat->rx_queues_to_use;
+       u32 tx_cnt = priv->plat->tx_queues_to_use;
+       u32 chan;
        int ret;
 
        /* DMA initialization and SW reset */
@@ -2049,8 +2051,10 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp)
        stmmac_set_rings_length(priv);
 
        /* Enable TSO */
-       if (priv->tso)
-               priv->hw->dma->enable_tso(priv->ioaddr, 1, STMMAC_CHAN0);
+       if (priv->tso) {
+               for (chan = 0; chan < tx_cnt; chan++)
+                       priv->hw->dma->enable_tso(priv->ioaddr, 1, chan);
+       }
 
        return 0;
 }