From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: "Andrew Lunn" <andrew+netdev@lunn.ch>,
davem@davemloft.net, "Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Russell King" <linux@armlinux.org.uk>,
"Heiner Kallweit" <hkallweit1@gmail.com>,
"Alexis Lothoré" <alexis.lothore@bootlin.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Emil Renner Berthing" <kernel@esmil.dk>,
"Minda Chen" <minda.chen@starfivetech.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Jan Petrous" <jan.petrous@oss.nxp.com>,
"Ovidiu Panait" <ovidiu.panait.rb@renesas.com>,
Jose.Abreu@synopsys.com
Cc: Maxime Chevallier <maxime.chevallier@bootlin.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
thomas.petazzoni@bootlin.com,
linux-arm-kernel@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com
Subject: [PATCH net 1/6] net: stmmac: selftests: Check multiple MMC counters
Date: Wed, 26 Aug 2026 16:04:53 +0200 [thread overview]
Message-ID: <20260826140500.616466-2-maxime.chevallier@bootlin.com> (raw)
In-Reply-To: <20260826140500.616466-1-maxime.chevallier@bootlin.com>
The MMC counters report MAC statistics. Multiple counters can be
enabled when the IP is integrated, however there's no way to know
exactly which ones. Un-implemented counters seem to report 0.
It was found that on StarFive JH7110 and Amlogic SM1, the counter that's
used by the selftest (mmc_tx_framecount_g) isn't implemented, triggering
an MMC selftest failure.
Both the above SoCs seem to implement mmc_rx_framecount_gb, let's use
this counter as well for MMC counter validation.
Note that this doesn't guarantee that we won't encounter the same issue
again if another IP implements yet another set of counters that don't
include that new one.
If the game of whack-a-mole with implemented counters becomes too hard to
maintain, we may simply consider removing the MMC selftest entirely.
Fixes: 091810dbded9 ("net: stmmac: Introduce selftests support")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
.../net/ethernet/stmicro/stmmac/stmmac_selftests.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
index a2b917dd60e5..14db0c0e0ba9 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
@@ -395,11 +395,17 @@ static int stmmac_test_mmc(struct stmmac_priv *priv)
stmmac_mmc_read(priv, priv->mmcaddr, &final);
/*
- * The number of MMC counters available depends on HW configuration
- * so we just use this one to validate the feature. I hope there is
- * not a version without this counter.
+ * The number of MMC counters available depends on HW configuration,
+ * and there doesn't seem to be a way to enumerate the implemented
+ * counters.
+ *
+ * Let's check a hand-picked set of counters, knowing that :
+ * - Starfive JH7110 doesn't implement mmc_tx_framecount_g
+ * - Amlogic SM1 doesn't implement any mmc_tx_*
+ *
*/
- if (final.mmc_tx_framecount_g <= initial.mmc_tx_framecount_g)
+ if (final.mmc_tx_framecount_g <= initial.mmc_tx_framecount_g &&
+ final.mmc_rx_framecount_gb <= initial.mmc_rx_framecount_gb)
return -EINVAL;
return 0;
--
2.55.0
next prev parent reply other threads:[~2026-08-26 14:05 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-26 14:04 [PATCH net 0/6] net: stmmac: More selftest related fixes Maxime Chevallier
2026-08-26 14:04 ` Maxime Chevallier [this message]
2026-08-26 17:14 ` [PATCH net 1/6] net: stmmac: selftests: Check multiple MMC counters Andrew Lunn
2026-08-26 20:24 ` Maxime Chevallier
2026-08-26 14:04 ` [PATCH net 2/6] net: stmmac: dwmac1000: Account for the primary MAC address for UC filtering Maxime Chevallier
2026-08-26 18:20 ` Andrew Lunn
2026-08-26 14:04 ` [PATCH net 3/6] net: stmmac: dwmac4: " Maxime Chevallier
2026-08-26 18:20 ` Andrew Lunn
2026-08-26 14:04 ` [PATCH net 4/6] net: stmmac: dwxgmac: " Maxime Chevallier
2026-08-26 18:21 ` Andrew Lunn
2026-08-26 14:04 ` [PATCH net 5/6] net: stmmac: selftests: Account for the UC filter list for filtering tests Maxime Chevallier
2026-08-26 18:25 ` Andrew Lunn
2026-08-26 20:21 ` Maxime Chevallier
2026-08-26 14:04 ` [PATCH net 6/6] net: stmmac: selftests: Don't test flow control for small rx fifos Maxime Chevallier
2026-08-26 18:28 ` Andrew Lunn
2026-08-27 17:53 ` [PATCH net 0/6] net: stmmac: More selftest related fixes Jakub Kicinski
2026-08-27 20:16 ` Maxime Chevallier
2026-08-27 20:40 ` Jakub Kicinski
2026-08-27 19:40 ` patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260826140500.616466-2-maxime.chevallier@bootlin.com \
--to=maxime.chevallier@bootlin.com \
--cc=Jose.Abreu@synopsys.com \
--cc=alexandre.torgue@foss.st.com \
--cc=alexis.lothore@bootlin.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=jan.petrous@oss.nxp.com \
--cc=jbrunet@baylibre.com \
--cc=kernel@esmil.dk \
--cc=khilman@baylibre.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux@armlinux.org.uk \
--cc=martin.blumenstingl@googlemail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=minda.chen@starfivetech.com \
--cc=neil.armstrong@linaro.org \
--cc=netdev@vger.kernel.org \
--cc=ovidiu.panait.rb@renesas.com \
--cc=pabeni@redhat.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox