[PATCH 01/20] net: phy: realtek: Fix events detection failure in LPI mode
Andrew Lunn
andrew at lunn.ch
Mon Feb 8 14:03:36 EST 2021
> Hi Andrew,
>
> I honestly tried to find any doc with a glimpse of errata for RTL8211E
> PHY, but with no luck. Official datasheet didn't have any info regarding
> possible hw bugs too. Thus I had no choice but to find a fix of the
> problem myself.
>
> It took me some time to figure out why the events weren't reported after
> the very first link setup (turned out only a full HW reset clears the
> PC1R.10 bit state). I thought it could have been connected with some
> sleep/idle/power-safe mode. So I disabled the EEE initialization in the
> STMMAC driver. It worked. Then I left the EEE mode enabled, but called the
> phy_init_eee(phy, 0) method with "clk_stop_enable==0", so PHY wouldn't
> stop RXC in LPI mode. And it wonderfully worked. Then I started to dig in
> from another side. I left "RXC disable in LPI" mode enabled and tried to
> figure out what was going on with the PHY when it stopped reporting events
> just by reading from its CSR using phytool utility. It was curious to
> discover that any attempt to read from any PHY register caused the problem
> disappearance (LED2 started blinking, events got to be reported). Since I
> did nothing but a mere reading from a random even EEE-unrelated register I
> inferred that the problem must be in some HW/PHY bug. That's how I've got
> to the patch introduced here. If you have any better idea what could be a
> reason of that weird behavior I'd be glad to test it out on my device.
It is a reasonable explanation, and a read should not do any harm.
Reviewed-by: Andrew Lunn <andrew at lunn.ch>
Andrew
More information about the linux-arm-kernel
mailing list