]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: stmmac: mmc_core: Add GMAC mmc tx/rx missing statistics
authorMinda Chen <minda.chen@starfivetech.com>
Mon, 8 Apr 2024 01:29:43 +0000 (09:29 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Apr 2024 14:19:50 +0000 (15:19 +0100)
The missing statistics including Rx_Receive_Error_Packets and
Tx_OSize_Packets_Good.

Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/mmc.h
drivers/net/ethernet/stmicro/stmmac/mmc_core.c
drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c

index dff02d75d519713e61ffa5db651ece91242aece0..5d1ea3e07459a390f2d561b4147c7c0c3f33e4ce 100644 (file)
@@ -52,6 +52,7 @@ struct stmmac_counters {
        unsigned int mmc_tx_excessdef;
        unsigned int mmc_tx_pause_frame;
        unsigned int mmc_tx_vlan_frame_g;
+       unsigned int mmc_tx_oversize_g;
        unsigned int mmc_tx_lpi_usec;
        unsigned int mmc_tx_lpi_tran;
 
@@ -80,6 +81,7 @@ struct stmmac_counters {
        unsigned int mmc_rx_fifo_overflow;
        unsigned int mmc_rx_vlan_frames_gb;
        unsigned int mmc_rx_watchdog_error;
+       unsigned int mmc_rx_error;
        unsigned int mmc_rx_lpi_usec;
        unsigned int mmc_rx_lpi_tran;
        unsigned int mmc_rx_discard_frames_gb;
index b0db5f4e8fe86f72db7856d6fbaca30817c1ee1e..0fab842902a850022a3be368d4972e4f4e9bcdc9 100644 (file)
@@ -53,6 +53,7 @@
 #define MMC_TX_EXCESSDEF               0x6c
 #define MMC_TX_PAUSE_FRAME             0x70
 #define MMC_TX_VLAN_FRAME_G            0x74
+#define MMC_TX_OVERSIZE_G              0x78
 
 /* MMC RX counter registers */
 #define MMC_RX_FRAMECOUNT_GB           0x80
@@ -79,6 +80,7 @@
 #define MMC_RX_FIFO_OVERFLOW           0xd4
 #define MMC_RX_VLAN_FRAMES_GB          0xd8
 #define MMC_RX_WATCHDOG_ERROR          0xdc
+#define MMC_RX_ERROR                   0xe0
 
 #define MMC_TX_LPI_USEC                        0xec
 #define MMC_TX_LPI_TRAN                        0xf0
@@ -289,6 +291,7 @@ static void dwmac_mmc_read(void __iomem *mmcaddr, struct stmmac_counters *mmc)
        mmc->mmc_tx_excessdef += readl(mmcaddr + MMC_TX_EXCESSDEF);
        mmc->mmc_tx_pause_frame += readl(mmcaddr + MMC_TX_PAUSE_FRAME);
        mmc->mmc_tx_vlan_frame_g += readl(mmcaddr + MMC_TX_VLAN_FRAME_G);
+       mmc->mmc_tx_oversize_g   += readl(mmcaddr + MMC_TX_OVERSIZE_G);
        mmc->mmc_tx_lpi_usec += readl(mmcaddr + MMC_TX_LPI_USEC);
        mmc->mmc_tx_lpi_tran += readl(mmcaddr + MMC_TX_LPI_TRAN);
 
@@ -324,6 +327,7 @@ static void dwmac_mmc_read(void __iomem *mmcaddr, struct stmmac_counters *mmc)
        mmc->mmc_rx_fifo_overflow += readl(mmcaddr + MMC_RX_FIFO_OVERFLOW);
        mmc->mmc_rx_vlan_frames_gb += readl(mmcaddr + MMC_RX_VLAN_FRAMES_GB);
        mmc->mmc_rx_watchdog_error += readl(mmcaddr + MMC_RX_WATCHDOG_ERROR);
+       mmc->mmc_rx_error += readl(mmcaddr + MMC_RX_ERROR);
        mmc->mmc_rx_lpi_usec += readl(mmcaddr + MMC_RX_LPI_USEC);
        mmc->mmc_rx_lpi_tran += readl(mmcaddr + MMC_RX_LPI_TRAN);
 
index e1537a57815f387082acdb954ee6b40d397990c0..542e2633a6f52223bf15ef31fb17d2377fb4583c 100644 (file)
@@ -212,6 +212,7 @@ static const struct stmmac_stats stmmac_mmc[] = {
        STMMAC_MMC_STAT(mmc_tx_excessdef),
        STMMAC_MMC_STAT(mmc_tx_pause_frame),
        STMMAC_MMC_STAT(mmc_tx_vlan_frame_g),
+       STMMAC_MMC_STAT(mmc_tx_oversize_g),
        STMMAC_MMC_STAT(mmc_tx_lpi_usec),
        STMMAC_MMC_STAT(mmc_tx_lpi_tran),
        STMMAC_MMC_STAT(mmc_rx_framecount_gb),
@@ -238,6 +239,7 @@ static const struct stmmac_stats stmmac_mmc[] = {
        STMMAC_MMC_STAT(mmc_rx_fifo_overflow),
        STMMAC_MMC_STAT(mmc_rx_vlan_frames_gb),
        STMMAC_MMC_STAT(mmc_rx_watchdog_error),
+       STMMAC_MMC_STAT(mmc_rx_error),
        STMMAC_MMC_STAT(mmc_rx_lpi_usec),
        STMMAC_MMC_STAT(mmc_rx_lpi_tran),
        STMMAC_MMC_STAT(mmc_rx_discard_frames_gb),