Re: [PATCH net-next v1 01/21] net: usb: lan78xx: Remove LAN8835 PHY fixup
From: Andrew Lunn
Date: Tue Dec 03 2024 - 15:29:08 EST
On Tue, Dec 03, 2024 at 08:21:34AM +0100, Oleksij Rempel wrote:
> Remove the PHY fixup for the LAN8835 PHY in the lan78xx driver due to
> the following reasons:
>
> - There is no publicly available information about the LAN8835 PHY.
> However, it appears to be the integrated PHY used in the LAN7800 and
> LAN7850 USB Ethernet controllers. These PHYs use the GMII interface,
> not RGMII as configured by the fixup.
>
> - The correct driver for handling the LAN8835 PHY functionality is the
> Microchip PHY driver (`drivers/net/phy/microchip.c`), which properly
> supports these integrated PHYs.
>
> - The PHY ID `0x0007C130` is actually used by the LAN8742A PHY, which
> only supports RMII. This interface is incompatible with the LAN78xx
> MAC, as the LAN7801 (the only LAN78xx version without an integrated
> PHY) supports only RGMII.
>
> - The mask applied for this fixup is overly broad, inadvertently
> covering both Microchip LAN88xx PHYs and unrelated SMSC LAN8742A PHYs,
> leading to potential conflicts with other devices.
>
> - Testing has shown that removing this fixup for LAN7800 and LAN7850
> does not result in any noticeable difference in functionality, as the
> Microchip PHY driver (`drivers/net/phy/microchip.c`) handles all
> necessary configurations for these integrated PHYs.
>
> - Registering this fixup globally (not limited to USB devices) risks
> conflicts by unintentionally modifying other interfaces whenever a
> LAN7801 adapter is connected to the system.
>
> Note that both LAN7800 and LAN7850 USB Ethernet controllers use an
> integrated PHY with the ID `0x0007C132`. Additionally, the LAN7515, a
> specialized part for Raspberry Pi, includes an integrated LAN7800 USB
> Ethernet controller and USB hub in a multifunctional chip design, and it
> also uses the same PHY ID (`0x0007C132`).
I had a long frustrating discussion about adding yet more such fixups
a while ago with somebody how did not understand the implications of
adding another one. It is good to see this one being removed, with a
good explanation why.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Andrew