Subject: Re: [PATCH net-next 1/2] net: phy: micrel: disable EEE on KSZ9477-type PHY

From: Oleksij Rempel <[email-masked]>
Date: Fri, 20 Dec 2024 15:40:45 +0100

On Fri, Dec 20, 2024 at 02:51:32PM +0100, Heiner Kallweit wrote:
> On several supported switches the integrated PHY's have buggy EEE.
> On the GBit-capable ones it's always the same type of PHY with PHY ID
> 0x00221631. So we can simplify the erratum handling by simply clearing
> phydev->supported_eee for this PHY type.
> 
> Note: The KSZ9477 PHY driver also covers e.g. the internal PHY of
>       KSZ9563 (ID: 0x00221637), which is unaffected by the EEE issue.
>       Therefore check for the exact PHY ID.
> 
> Signed-off-by: Heiner Kallweit <[email-masked]>
> ---
>  drivers/net/phy/micrel.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
> index 3ef508840..ece6d026e 100644
> --- a/drivers/net/phy/micrel.c
> +++ b/drivers/net/phy/micrel.c
> @@ -1522,6 +1522,12 @@ static int ksz9477_get_features(struct phy_device *phydev)
>  	if (ret)
>  		return ret;
>  
> +	/* See KSZ9477 Errata DS80000754C Module 4 */
> +	if (phydev->phy_id == PHY_ID_KSZ9477) {
> +		linkmode_zero(phydev->supported_eee);
> +		return 0;
> +	}

Hm.. with this change, we won't be able to disable EEE. Zeroed
supported_eee will avoid writing to the EEE advertisement register.

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |