Re: [net v4] net: phy: Provide Module 4 KSZ9477 errata (DS80000754C)

From: Vladimir Oltean
Date: Tue Sep 05 2023 - 18:29:53 EST


On Tue, Sep 05, 2023 at 11:33:15AM +0200, Lukasz Majewski wrote:
> @@ -1847,6 +1844,12 @@ static int ksz9477_config_init(struct phy_device *phydev)
> return err;
> }
>
> + /* According to KSZ9477 Errata DS80000754C (Module 4) all EEE modes
> + * in this switch shall be regarded as broken.
> + */
> + if (phydev->dev_flags & MICREL_NO_EEE)
> + phydev->eee_broken_modes = -1;

I know this is just another quick'n'dirty code snippet exchanged over
email which turned into a proper patch, but wouldn't it be more
civilized to use "MDIO_EEE_100TX | MDIO_EEE_1000T" here, than to declare
EEE broken for link modes which aren't even supported by the internal
switch PHYs?

It's probably not causing practical harm, but currently, we tell
genphy_config_eee_advert() to include reserved bits of the MMD EEE
Advertising Register (MMD 0x07 : 0x3C) into its modification mask.