mbox series

[net-next,v5,0/9] drivers: net: Convert EEE handling to use linkmode bitmaps

Message ID 20240226-keee-u32-cleanup-v5-0-9e7323c41c38@lunn.ch
Headers show
Series drivers: net: Convert EEE handling to use linkmode bitmaps | expand

Message

Andrew Lunn Feb. 27, 2024, 1:29 a.m. UTC
EEE has until recently been limited to lower speeds due to the use of
the legacy u32 for link speeds. This restriction has been lifted, with
the use of linkmode bitmaps, added in the following patches:

1f069de63602 ethtool: add linkmode bitmap support to struct ethtool_keee
1d756ff13da6 ethtool: add suffix _u32 to legacy bitmap members of struct ethtool_keee
285cc15cc555 ethtool: adjust struct ethtool_keee to kernel needs
0b3100bc8fa7 ethtool: switch back from ethtool_keee to ethtool_eee for ioctl
d80a52335374 ethtool: replace struct ethtool_eee with a new struct ethtool_keee on kernel side

This patchset converts the remaining MAC drivers still using the old
_u32 to link modes.

A couple of Intel drivers do odd things with EEE, setting the autoneg
bit. It is unclear why, no other driver does, ethtool does not display
it, and EEE is always negotiated. One patch in this series deletes
this code.

With all users of the legacy _u32 changed to link modes, the _u32
values are removed from keee, and support for them in the ethtool core
is removed.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
Changes in v5:
- Restore zeroing eee_data.advertised in ax8817_178a
- Fix lp_advertised -> supported in ixgdb
- Link to v4: https://lore.kernel.org/r/20240218-keee-u32-cleanup-v4-0-71f13b7c3e60@lunn.ch

Changes in v4:
- Add missing conversion in igb
- Add missing conversion in r8152
- Add patch to remove now unused _u32 members
- Link to v3: https://lore.kernel.org/r/20240217-keee-u32-cleanup-v3-0-fcf6b62a0c7f@lunn.ch

Changes in v3:
- Add list of commits adding linkmodes to EEE to cover letter
- Fix grammar error in cover letter.
- Add Reviewed-by from Jacob Keller
- Link to v2: https://lore.kernel.org/r/20240214-keee-u32-cleanup-v2-0-4ac534b83d66@lunn.ch

Changes in v2:
- igb: Fix type 100BaseT to 1000BaseT.
- Link to v1: https://lore.kernel.org/r/20240204-keee-u32-cleanup-v1-0-fb6e08329d9a@lunn.ch

---
Andrew Lunn (9):
      net: usb: r8152: Use linkmode helpers for EEE
      net: usb: ax88179_178a: Use linkmode helpers for EEE
      net: qlogic: qede: Use linkmode helpers for EEE
      net: ethernet: ixgbe: Convert EEE to use linkmodes
      net: intel: i40e/igc: Remove setting Autoneg in EEE capabilities
      net: intel: e1000e: Use linkmode helpers for EEE
      net: intel: igb: Use linkmode helpers for EEE
      net: intel: igc: Use linkmode helpers for EEE
      net: ethtool: eee: Remove legacy _u32 from keee

 drivers/net/ethernet/intel/e1000e/ethtool.c      | 17 +++++--
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c   |  7 +--
 drivers/net/ethernet/intel/igb/igb_ethtool.c     | 35 +++++++++-----
 drivers/net/ethernet/intel/igc/igc_ethtool.c     | 13 ++---
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 48 ++++++++++---------
 drivers/net/ethernet/qlogic/qede/qede_ethtool.c  | 60 +++++++++++++++---------
 drivers/net/usb/Kconfig                          |  1 +
 drivers/net/usb/ax88179_178a.c                   | 10 ++--
 drivers/net/usb/r8152.c                          | 33 +++++++------
 include/linux/ethtool.h                          |  3 --
 net/ethtool/eee.c                                | 31 ++----------
 net/ethtool/ioctl.c                              | 29 ++++--------
 12 files changed, 140 insertions(+), 147 deletions(-)
---
base-commit: 25d4342574644bca5cbe1ace865955e406b9a741
change-id: 20240204-keee-u32-cleanup-b86d68458d80

Best regards,

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 28, 2024, 12:20 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Mon, 26 Feb 2024 19:29:06 -0600 you wrote:
> EEE has until recently been limited to lower speeds due to the use of
> the legacy u32 for link speeds. This restriction has been lifted, with
> the use of linkmode bitmaps, added in the following patches:
> 
> 1f069de63602 ethtool: add linkmode bitmap support to struct ethtool_keee
> 1d756ff13da6 ethtool: add suffix _u32 to legacy bitmap members of struct ethtool_keee
> 285cc15cc555 ethtool: adjust struct ethtool_keee to kernel needs
> 0b3100bc8fa7 ethtool: switch back from ethtool_keee to ethtool_eee for ioctl
> d80a52335374 ethtool: replace struct ethtool_eee with a new struct ethtool_keee on kernel side
> 
> [...]

Here is the summary with links:
  - [net-next,v5,1/9] net: usb: r8152: Use linkmode helpers for EEE
    https://git.kernel.org/netdev/net-next/c/17206c116d75
  - [net-next,v5,2/9] net: usb: ax88179_178a: Use linkmode helpers for EEE
    https://git.kernel.org/netdev/net-next/c/93e6da6cce4a
  - [net-next,v5,3/9] net: qlogic: qede: Use linkmode helpers for EEE
    https://git.kernel.org/netdev/net-next/c/9f8b8adca800
  - [net-next,v5,4/9] net: ethernet: ixgbe: Convert EEE to use linkmodes
    https://git.kernel.org/netdev/net-next/c/9356b6db9d05
  - [net-next,v5,5/9] net: intel: i40e/igc: Remove setting Autoneg in EEE capabilities
    https://git.kernel.org/netdev/net-next/c/01cf893bf0f4
  - [net-next,v5,6/9] net: intel: e1000e: Use linkmode helpers for EEE
    https://git.kernel.org/netdev/net-next/c/02de1741eaf1
  - [net-next,v5,7/9] net: intel: igb: Use linkmode helpers for EEE
    https://git.kernel.org/netdev/net-next/c/41b9797de4d6
  - [net-next,v5,8/9] net: intel: igc: Use linkmode helpers for EEE
    https://git.kernel.org/netdev/net-next/c/1e45b5f28a57
  - [net-next,v5,9/9] net: ethtool: eee: Remove legacy _u32 from keee
    https://git.kernel.org/netdev/net-next/c/292fac464b01

You are awesome, thank you!