[PATCH] arm64: dts: imx8mp-debix-model-a: Disable EEE for 1000T
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Oct 27 16:08:21 PDT 2025
On Mon, Oct 27, 2025 at 09:32:24AM +0000, Russell King (Oracle) wrote:
> On Mon, Oct 27, 2025 at 09:27:49AM +0200, Laurent Pinchart wrote:
> > I've tried to diagnose the issue by adding interrupt counters to
> > dwmac4_irq_status(), counting interrupts for each bit of GMAC_INT_STATUS
> > (0x00b0). Bit RGSMIIIS (0) is the only one that seems linked to the
> > interrupts storm, increasing at around 10k per second. However, the
> > corresponding bit in GMAC_INT_EN (0x00b4) is *not* set.
>
> This is a change in the PCS series rather than the EEE series. It would
> be good to narrow down whehn this problem appeared for you.
>
> The RGSMIIIS bit set without RGSMIIIM (0x00b4 bit 0) shouldn't result
> in an interrupt storm since the status will be masked. That doens't
> mean that RGSMIIIS won't be set. So, at this point I'm not worried
> about that.
>
> Can you print the intr_status and intr_values in dwmac4_irq_status(),
> maybe something like this:
>
> static int ctr = 0;
>
> if (ctr++ >= 9996) {
> printk("stmmac: INTS=%08x INTE=%08x\n", intr_status,
> intr_enable);
>
> if (ctr >= 10000)
> ctr = 0;
> }
>
> /* Discard disabled bits */
> intr_status &= intr_enable;
>
> which should avoid too much noise during "normal" operation. It'll
> print six consecutive interrupts every 10000.
I'm always getting the same values:
[ 62.638187] stmmac: INTS=00000001 INTE=00001030
Now the funny part. I get about 20 of those messages printed to the
serial console every time I press enter, and rarely otherwise. Typing
other characters in the console do not trigger the messages.
> > I ould suspect that the LPI RX exit interrupt is the one that fires
> > constantly given its name, but I'm not sure how to test that.
>
> You can check this because the LPI interrupts have statistic counter
> associated with them. ethtool -S should give these, look for
> lpi_mode_n.
# ethtool -S eth0 | grep lpi
irq_tx_path_in_lpi_mode_n: 32
irq_tx_path_exit_lpi_mode_n: 32
irq_rx_path_in_lpi_mode_n: 2512
irq_rx_path_exit_lpi_mode_n: 2508
That seems reasonable.
--
Regards,
Laurent Pinchart
More information about the linux-arm-kernel
mailing list