Re: [PATCH net-next 0/7] Allow controlling PHY loopback and isolate modes

From: Florian Fainelli
Date: Thu Sep 12 2024 - 14:28:28 EST


On 9/12/24 11:21, Andrew Lunn wrote:
The loopback control from that API is added as it fits the API
well, and having the ability to easily set the PHY in MII-loopback
mode is a helpful tool to have when bringing-up a new device and
troubleshooting the link setup.

We might want to take a step back and think about loopback some more.

Loopback can be done at a number of points in the device(s). Some
Marvell PHYs can do loopback in the PHY PCS layer. Some devices also
support loopback in the PHY SERDES layer. I've not seen it for Marvell
devices, but maybe some PHYs allow loopback much closer to the line?
And i expect some MAC PCS allow loopback.

So when talking about loopback, we might also want to include the
concept of where the loopback occurs, and maybe it needs to be a NIC
wide concept, not a PHY concept?

Agreed, you can loop pretty much anywhere in the data path, assuming the hardware allows it. For the hardware I maintain, we can loop back within the MAC as close as possible from the interface to DRAM, or as "far" as possible, within the MII signals, but without actually involving the PHY.

Similarly, the PHY can loop as close as possible from the electrical data lines, or as far as possible by looping the *MII pins, before hitting the MAC.

So if nothing else, we have at least 4 kinds of loopbacks that could be supported, it is not clear whether we want to define all of those as standardized "modes" within Linux, and let drivers implement the ones they can, or if we just let drivers implement the mode they have, and advertise those. Meaning your user experience could vary.
--
Florian