ar71xx: split packets into multiple descriptors on ar716x
[openwrt/svn-archive/archive.git] / target / linux / ar71xx / files / drivers / net / ethernet / atheros / ag71xx / ag71xx_ethtool.c
index 498fbed1ff1d234b95eb32c7d5efcf6521f70318..cad9f2ff069e760f7b3ad67d95896c44721830ac 100644 (file)
@@ -75,6 +75,9 @@ static void ag71xx_ethtool_get_ringparam(struct net_device *dev,
        er->rx_pending = ag->rx_ring.size;
        er->rx_mini_pending = 0;
        er->rx_jumbo_pending = 0;
+
+       if (ag->tx_ring.desc_split)
+               er->tx_pending /= AG71XX_TX_RING_DS_PER_PKT;
 }
 
 static int ag71xx_ethtool_set_ringparam(struct net_device *dev,
@@ -103,6 +106,9 @@ static int ag71xx_ethtool_set_ringparam(struct net_device *dev,
                        return err;
        }
 
+       if (ag->tx_ring.desc_split)
+               tx_size *= AG71XX_TX_RING_DS_PER_PKT;
+
        ag->tx_ring.size = tx_size;
        ag->rx_ring.size = rx_size;