summaryrefslogtreecommitdiffstats
path: root/drivers/net/spider_net_ethtool.c
diff options
context:
space:
mode:
authorJim Lewis <jim@jklewis.com>2006-08-14 23:00:23 -0700
committerJeff Garzik <jeff@garzik.org>2006-08-19 17:44:30 -0400
commitb68a60e598c0d1e738c807c47cb181e8cc52a0d8 (patch)
treecc06e0cd5a74c4ebdc5e5fecd2ab7a47d28f8130 /drivers/net/spider_net_ethtool.c
parent7e29f8bf39de372e3903a0b12f34285d30a8a244 (diff)
[PATCH] Add ethtool -g support to Spidernet network driver
Add ethtool -g (show ring sizes) support to the Spidernet network driver. Signed-off-by: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/spider_net_ethtool.c')
-rw-r--r--drivers/net/spider_net_ethtool.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/spider_net_ethtool.c b/drivers/net/spider_net_ethtool.c
index a5bb0b7633a..02209222b8c 100644
--- a/drivers/net/spider_net_ethtool.c
+++ b/drivers/net/spider_net_ethtool.c
@@ -130,6 +130,18 @@ spider_net_ethtool_set_tx_csum(struct net_device *netdev, uint32_t data)
return 0;
}
+static void
+spider_net_ethtool_get_ringparam(struct net_device *netdev,
+ struct ethtool_ringparam *ering)
+{
+ struct spider_net_card *card = netdev->priv;
+
+ ering->tx_max_pending = SPIDER_NET_TX_DESCRIPTORS_MAX;
+ ering->tx_pending = card->tx_desc;
+ ering->rx_max_pending = SPIDER_NET_RX_DESCRIPTORS_MAX;
+ ering->rx_pending = card->rx_desc;
+}
+
struct ethtool_ops spider_net_ethtool_ops = {
.get_settings = spider_net_ethtool_get_settings,
.get_drvinfo = spider_net_ethtool_get_drvinfo,
@@ -141,5 +153,6 @@ struct ethtool_ops spider_net_ethtool_ops = {
.set_rx_csum = spider_net_ethtool_set_rx_csum,
.get_tx_csum = spider_net_ethtool_get_tx_csum,
.set_tx_csum = spider_net_ethtool_set_tx_csum,
+ .get_ringparam = spider_net_ethtool_get_ringparam,
};