Re: [RFC 04/11] net: phy: Handle c22 regs presence better

From: Jeremy Linton
Date: Mon May 25 2020 - 18:17:32 EST


On 5/25/20 5:06 PM, Andrew Lunn wrote:
Yes, we know even for the NXP reference hardware, one of the phy's doesn't
probe out correctly because it doesn't respond to the ieee defined
registers. I think at this point, there really isn't anything we can do
about that unless we involve the (ACPI) firmware in currently nonstandard

So, my goals here have been to first, not break anything, and then do a
slightly better job finding phy's that are (mostly?) responding correctly to
the 802.3 spec. So we can say "if you hardware is ACPI conformant, and you
have IEEE conformant phy's you should be ok". So, for your example phy, I
guess the immediate answer is "use DT" or "find a conformant phy", or even
"abstract it in the firmware and use a mailbox interface".
Hi Jeremy

You need to be careful here, when you say "use DT". With a c45 PHY
of_mdiobus_register_phy() calls get_phy_device() to see if the device
exists on the bus. So your changes to get_phy_device() etc, needs to
continue to find devices it used to find, even if they are not fully
complient to 802.3.

Yes, that is my "don't break anything". But, in a number of cases I can't tell if something is an intentional "bug", or what exactly the intended side effect actually was. The c22 bit0 sanitation is in this bucket, because its basically disabling the MMD0 probe..

I know for sure we find phys that previously weren't found. OTOH, i'm not sure how many that were previously "found" are now getting kicked out by because they are doing something "bad" that looked like a bug.