mbox series

[net-next,0/9] net: dsa: cleanup EEE (part 1)

Message ID Z1hNkEb13FMuDQiY@shell.armlinux.org.uk (mailing list archive)
Headers show
Series net: dsa: cleanup EEE (part 1) | expand

Message

Russell King (Oracle) Dec. 10, 2024, 2:17 p.m. UTC
Hi,

First part of DSA EEE cleanups.

Patch 1 removes a useless test that is always false. dp->pl will always
be set for user ports, so !dp->pl in the EEE methods will always be
false.

Patch 2 adds support for a new DSA support_eee() method, which tells
DSA whether the DSA driver supports EEE, and thus whether the ethtool
set_eee() and get_eee() methods should return -EOPNOTSUPP.

Patch 3 adds a trivial implementation for this new method which
indicates that EEE is supported.

Patches 4..8 adds implementations for .supports_eee() to all drivers
that support EEE in some form.

Patch 9 switches the core DSA code to require a .supports_eee()
implementation if DSA is supported. Any DSA driver that doesn't
implement this method after this patch will not support the ethtool
EEE methods.

Part 2 will remove the (now) useless .get_mac_eee() DSA operation.

 drivers/net/dsa/b53/b53_common.c       | 13 +++++++------
 drivers/net/dsa/b53/b53_priv.h         |  1 +
 drivers/net/dsa/bcm_sf2.c              |  1 +
 drivers/net/dsa/microchip/ksz_common.c | 20 +++++---------------
 drivers/net/dsa/mt7530.c               |  1 +
 drivers/net/dsa/mv88e6xxx/chip.c       |  1 +
 drivers/net/dsa/qca/qca8k-8xxx.c       |  1 +
 include/net/dsa.h                      |  2 ++
 net/dsa/port.c                         | 16 ++++++++++++++++
 net/dsa/user.c                         | 12 ++++++++++--
 10 files changed, 45 insertions(+), 23 deletions(-)

Comments

Vladimir Oltean Dec. 11, 2024, 3:59 p.m. UTC | #1
On Tue, Dec 10, 2024 at 02:17:52PM +0000, Russell King (Oracle) wrote:
> Hi,
> 
> First part of DSA EEE cleanups.
> 
> Patch 1 removes a useless test that is always false. dp->pl will always
> be set for user ports, so !dp->pl in the EEE methods will always be
> false.
> 
> Patch 2 adds support for a new DSA support_eee() method, which tells
> DSA whether the DSA driver supports EEE, and thus whether the ethtool
> set_eee() and get_eee() methods should return -EOPNOTSUPP.
> 
> Patch 3 adds a trivial implementation for this new method which
> indicates that EEE is supported.
> 
> Patches 4..8 adds implementations for .supports_eee() to all drivers
> that support EEE in some form.
> 
> Patch 9 switches the core DSA code to require a .supports_eee()
> implementation if DSA is supported. Any DSA driver that doesn't
> implement this method after this patch will not support the ethtool
> EEE methods.
> 
> Part 2 will remove the (now) useless .get_mac_eee() DSA operation.

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Vladimir Oltean Dec. 11, 2024, 4 p.m. UTC | #2
On Tue, Dec 10, 2024 at 02:17:52PM +0000, Russell King (Oracle) wrote:
> Part 2 will remove the (now) useless .get_mac_eee() DSA operation.

Thanks for the work. For part 2, could you also include changes to
Documentation/networking/dsa/ to explain the new usage pattern?
patchwork-bot+netdevbpf@kernel.org Dec. 12, 2024, 4:40 a.m. UTC | #3
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 10 Dec 2024 14:17:52 +0000 you wrote:
> Hi,
> 
> First part of DSA EEE cleanups.
> 
> Patch 1 removes a useless test that is always false. dp->pl will always
> be set for user ports, so !dp->pl in the EEE methods will always be
> false.
> 
> [...]

Here is the summary with links:
  - [net-next,1/9] net: dsa: remove check for dp->pl in EEE methods
    https://git.kernel.org/netdev/net-next/c/66c366392e55
  - [net-next,2/9] net: dsa: add hook to determine whether EEE is supported
    https://git.kernel.org/netdev/net-next/c/9723a77318b7
  - [net-next,3/9] net: dsa: provide implementation of .support_eee()
    https://git.kernel.org/netdev/net-next/c/99379f587278
  - [net-next,4/9] net: dsa: b53/bcm_sf2: implement .support_eee() method
    https://git.kernel.org/netdev/net-next/c/c86692fc2cb7
  - [net-next,5/9] net: dsa: mt753x: implement .support_eee() method
    https://git.kernel.org/netdev/net-next/c/7eb4f3d9fe17
  - [net-next,6/9] net: dsa: qca8k: implement .support_eee() method
    https://git.kernel.org/netdev/net-next/c/fe3ef44385b2
  - [net-next,7/9] net: dsa: mv88e6xxx: implement .support_eee() method
    https://git.kernel.org/netdev/net-next/c/eb3126e720e7
  - [net-next,8/9] net: dsa: ksz: implement .support_eee() method
    https://git.kernel.org/netdev/net-next/c/801fd546c1ca
  - [net-next,9/9] net: dsa: require .support_eee() method to be implemented
    https://git.kernel.org/netdev/net-next/c/88325a291a0c

You are awesome, thank you!