Re: [PATCH net-next v1 3/4] net: phy: do not force EEE support

From: Oleksij Rempel
Date: Mon Feb 20 2023 - 10:09:43 EST


On Mon, Feb 20, 2023 at 02:21:42PM +0000, Russell King (Oracle) wrote:
> On Mon, Feb 20, 2023 at 02:56:04PM +0100, Oleksij Rempel wrote:
> > if (data->eee_enabled) {
> > + phydev->eee_enabled = true;
> > if (data->advertised)
> > - adv[0] = data->advertised;
> > - else
> > - linkmode_copy(adv, phydev->supported_eee);
> > + phydev->advertising_eee[0] = data->advertised;
>
> There is a behavioural change here that isn't mentioned in the patch
> description - if data->advertised was zero, you were setting the
> link modes to the full EEE supported set. After this patch, you
> appear to leave advertising_eee untouched (so whatever it was.)
>
> Which is the correct behaviour for this interface?

Hm.. ethtool do not provide enough information about expected behavior.
Here is my expectation:
- "ethtool --set-eee lan1 eee on" should enable EEE if it is disabled.
- "ethtool --set-eee lan1 advertise 0x10" should change set of
advertised modes.
- a sequence of "..advertise 0x10", "..eee on", "eee off" should restore
preconfigured advertise modes. advertising_eee instead of
supported_eee.

Seems like there is still one missing use case: if advertising_eee is
zero, we should use supported_eee value for "...eee on" case.

Other ideas?
--
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 |