netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v1 1/3] net: dsa: add get_pause_stats support
@ 2022-06-24 12:59 Oleksij Rempel
  2022-06-24 12:59 ` [PATCH net-next v1 2/3] net: dsa: ar9331: add support for pause stats Oleksij Rempel
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Oleksij Rempel @ 2022-06-24 12:59 UTC (permalink / raw)
  To: Woojung Huh, Andrew Lunn, Vivien Didelot, Florian Fainelli,
	Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni
  Cc: Oleksij Rempel, kernel, linux-kernel, netdev, Lukas Wunner,
	UNGLinuxDriver

Add support for pause stats

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
 include/net/dsa.h |  2 ++
 net/dsa/slave.c   | 11 +++++++++++
 2 files changed, 13 insertions(+)

diff --git a/include/net/dsa.h b/include/net/dsa.h
index 14f07275852b..c8d7696cb2bf 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -890,6 +890,8 @@ struct dsa_switch_ops {
 				      struct ethtool_eth_ctrl_stats *ctrl_stats);
 	void	(*get_stats64)(struct dsa_switch *ds, int port,
 				   struct rtnl_link_stats64 *s);
+	void	(*get_pause_stats)(struct dsa_switch *ds, int port,
+				   struct ethtool_pause_stats *pause_stats);
 	void	(*self_test)(struct dsa_switch *ds, int port,
 			     struct ethtool_test *etest, u64 *data);
 
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 2e1ac638d135..b2710ee46644 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -1097,6 +1097,16 @@ static int dsa_slave_set_link_ksettings(struct net_device *dev,
 	return phylink_ethtool_ksettings_set(dp->pl, cmd);
 }
 
+static void dsa_slave_get_pause_stats(struct net_device *dev,
+				  struct ethtool_pause_stats *pause_stats)
+{
+	struct dsa_port *dp = dsa_slave_to_port(dev);
+	struct dsa_switch *ds = dp->ds;
+
+	if (ds->ops->get_pause_stats)
+		ds->ops->get_pause_stats(ds, dp->index, pause_stats);
+}
+
 static void dsa_slave_get_pauseparam(struct net_device *dev,
 				     struct ethtool_pauseparam *pause)
 {
@@ -2087,6 +2097,7 @@ static const struct ethtool_ops dsa_slave_ethtool_ops = {
 	.get_eee		= dsa_slave_get_eee,
 	.get_link_ksettings	= dsa_slave_get_link_ksettings,
 	.set_link_ksettings	= dsa_slave_set_link_ksettings,
+	.get_pause_stats	= dsa_slave_get_pause_stats,
 	.get_pauseparam		= dsa_slave_get_pauseparam,
 	.set_pauseparam		= dsa_slave_set_pauseparam,
 	.get_rxnfc		= dsa_slave_get_rxnfc,
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-06-29  7:08 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-24 12:59 [PATCH net-next v1 1/3] net: dsa: add get_pause_stats support Oleksij Rempel
2022-06-24 12:59 ` [PATCH net-next v1 2/3] net: dsa: ar9331: add support for pause stats Oleksij Rempel
2022-06-24 22:03   ` Vladimir Oltean
2022-06-26 17:10     ` Oleksij Rempel
2022-06-27 16:15       ` Jakub Kicinski
2022-06-27 20:02         ` Vladimir Oltean
2022-06-28  3:09           ` Jakub Kicinski
2022-06-28  7:22             ` Andrew Lunn
2022-06-28  8:45               ` Oleksij Rempel
2022-06-28 16:10                 ` Jakub Kicinski
2022-06-29  7:07                   ` Oleksij Rempel
2022-06-24 12:59 ` [PATCH net-next v1 3/3] net: dsa: microchip: add pause stats support Oleksij Rempel
2022-06-24 21:52   ` Vladimir Oltean
2022-06-24 22:03 ` [PATCH net-next v1 1/3] net: dsa: add get_pause_stats support Vladimir Oltean

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).