net: ngbe: add ethtool stats support
authorJiawen Wu <jiawenwu@trustnetic.com>
Wed, 11 Oct 2023 09:19:06 +0000 (17:19 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 13 Oct 2023 23:56:07 +0000 (16:56 -0700)
Support to show ethtool statistics.

Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Link: https://lore.kernel.org/r/20231011091906.70486-4-jiawenwu@trustnetic.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c
drivers/net/ethernet/wangxun/ngbe/ngbe_hw.c
drivers/net/ethernet/wangxun/ngbe/ngbe_main.c

index ec0e869e9aacfe4708d082f05e9ac7f693c8bed6..afbdf6919071a05afc53e2a0e17dddbfb18788f7 100644 (file)
@@ -49,6 +49,11 @@ static const struct ethtool_ops ngbe_ethtool_ops = {
        .nway_reset             = phy_ethtool_nway_reset,
        .get_wol                = ngbe_get_wol,
        .set_wol                = ngbe_set_wol,
+       .get_sset_count         = wx_get_sset_count,
+       .get_strings            = wx_get_strings,
+       .get_ethtool_stats      = wx_get_ethtool_stats,
+       .get_eth_mac_stats      = wx_get_mac_stats,
+       .get_pause_stats        = wx_get_pause_stats,
 };
 
 void ngbe_set_ethtool_ops(struct net_device *netdev)
index 6562a2de95277c73758e9a8a6651ad2c0c5c9803..6459bc1d7c2249e6f623170b772b6c6229557716 100644 (file)
@@ -85,6 +85,8 @@ int ngbe_reset_hw(struct wx *wx)
        }
        ngbe_reset_misc(wx);
 
+       wx_clear_hw_cntrs(wx);
+
        /* Store the permanent mac address */
        wx_get_mac_addr(wx, wx->mac.perm_addr);
 
index 2b431db6085a61238b7486b941c2503fe6ee3938..652e6576e36a4978865e196c700e5a1157012a36 100644 (file)
@@ -332,6 +332,8 @@ static void ngbe_disable_device(struct wx *wx)
 
                wr32(wx, WX_PX_TR_CFG(reg_idx), WX_PX_TR_CFG_SWFLSH);
        }
+
+       wx_update_stats(wx);
 }
 
 static void ngbe_down(struct wx *wx)