Thread (18 messages) 18 messages, 3 authors, 2023-02-20

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

flat view

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2023-02-20 17:24:17
Also in: lkml

On Mon, Feb 20, 2023 at 05:13:39PM +0100, Oleksij Rempel wrote:
On Mon, Feb 20, 2023 at 04:48:26PM +0100, Andrew Lunn wrote:
quoted
quoted
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.
I agree ethtool is not very well documented. However, i would follow
what -s does. You can pass link modes you want to advertise, and you
can turn auto-neg on and off. Does turning auto-neg off and on again
reset the links modes which are advertised? I don't actually know, but
i think the behaviour should be consistent for link modes and EEE
modes.
Hm.. "ethtool -s lan1 autoneg on" will restore supported values. Even
without switching it off.
Remember that -s is for the media capabilities, not EEE. There is
specific handling of the advertising mask in the userspace
ethtool.c::do_sset() but that doesn't exist for EEE, which merely
goes a ETHTOOL_GEEE, modifies the structure according to the arguments
given, and then calls ETHTOOL_SEEE. So:

# ethtool --set-eee lan1 eee on

will merely change eeecmd.eee_enabled to be set if it wasn't already,
but will not change eeecmd.advertised in any way - it'll contain
whatever it did before, which may or may not be zero.

This is in contrast to:

# ethtool -s lan1 autoneg on

which will set the advertisement to be the those that are supported.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help