]> www.infradead.org Git - users/hch/configfs.git/commitdiff
net: ethernet: mtk_eth_soc: implement .{get,set}_pauseparam ethtool ops
authorDaniel Golle <daniel@makrotopia.org>
Thu, 4 Jul 2024 10:14:55 +0000 (11:14 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 6 Jul 2024 00:41:16 +0000 (17:41 -0700)
Implement operations to get and set flow-control link parameters.
Both is done by simply calling phylink_ethtool_{get,set}_pauseparam().
Fix whitespace in mtk_ethtool_ops while at it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://patch.msgid.link/e3ece47323444631d6cb479f32af0dfd6d145be0.1720088047.git.daniel@makrotopia.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mediatek/mtk_eth_soc.c

index 2529b5b607c895d95dc83b65c96aef9e809964e6..0cc2dd85652fbc5db25ddcfde5bacbbd5e808853 100644 (file)
@@ -4464,6 +4464,20 @@ static int mtk_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
        return ret;
 }
 
+static void mtk_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam *pause)
+{
+       struct mtk_mac *mac = netdev_priv(dev);
+
+       phylink_ethtool_get_pauseparam(mac->phylink, pause);
+}
+
+static int mtk_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *pause)
+{
+       struct mtk_mac *mac = netdev_priv(dev);
+
+       return phylink_ethtool_set_pauseparam(mac->phylink, pause);
+}
+
 static u16 mtk_select_queue(struct net_device *dev, struct sk_buff *skb,
                            struct net_device *sb_dev)
 {
@@ -4492,8 +4506,10 @@ static const struct ethtool_ops mtk_ethtool_ops = {
        .get_strings            = mtk_get_strings,
        .get_sset_count         = mtk_get_sset_count,
        .get_ethtool_stats      = mtk_get_ethtool_stats,
+       .get_pauseparam         = mtk_get_pauseparam,
+       .set_pauseparam         = mtk_set_pauseparam,
        .get_rxnfc              = mtk_get_rxnfc,
-       .set_rxnfc              = mtk_set_rxnfc,
+       .set_rxnfc              = mtk_set_rxnfc,
 };
 
 static const struct net_device_ops mtk_netdev_ops = {