projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ag71xx: store ring size order instead of ring size to avoid div/mod
[openwrt.git]
/
target
/
linux
/
ar71xx
/
files
/
drivers
/
net
/
ethernet
/
atheros
/
ag71xx
/
ag71xx_ethtool.c
diff --git
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
index
cad9f2f
..
3395cab
100644
(file)
--- a/
target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
+++ b/
target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
@@
-71,8
+71,8
@@
static void ag71xx_ethtool_get_ringparam(struct net_device *dev,
er->rx_mini_max_pending = 0;
er->rx_jumbo_max_pending = 0;
er->rx_mini_max_pending = 0;
er->rx_jumbo_max_pending = 0;
- er->tx_pending =
ag->tx_ring.size
;
- er->rx_pending =
ag->rx_ring.size
;
+ er->tx_pending =
BIT(ag->tx_ring.order)
;
+ er->rx_pending =
BIT(ag->rx_ring.order)
;
er->rx_mini_pending = 0;
er->rx_jumbo_pending = 0;
er->rx_mini_pending = 0;
er->rx_jumbo_pending = 0;
@@
-109,8
+109,8
@@
static int ag71xx_ethtool_set_ringparam(struct net_device *dev,
if (ag->tx_ring.desc_split)
tx_size *= AG71XX_TX_RING_DS_PER_PKT;
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
;
+ ag->tx_ring.
order = ag71xx_ring_size_order(tx_size)
;
+ ag->rx_ring.
order = ag71xx_ring_size_order(rx_size)
;
if (netif_running(dev))
err = dev->netdev_ops->ndo_open(dev);
if (netif_running(dev))
err = dev->netdev_ops->ndo_open(dev);