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

From: Oleksij Rempel <[email-masked]>
Date: Mon, 20 Feb 2023 16:07:20 +0100

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 |