mbox series

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

Message ID 20240214-keee-u32-cleanup-v2-0-4ac534b83d66@lunn.ch (mailing list archive)
Headers show
Series drivers: net: Convert EEE handling to use linkmode bitmaps | expand

Message

Andrew Lunn Feb. 14, 2024, 11:13 p.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. This patchset convert some MAC drivers
still using the old _u32 to link modes, with the aim of soon being
able to remove the legacy _u32 members in the keee structure.

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. Comments on why its actually useful and should be kept are
gratefully received.

Signed-off-by: Andrew Lunn <andrew@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 (8):
      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

 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     | 33 ++++++++-----
 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                   |  9 ++--
 drivers/net/usb/r8152.c                          | 31 ++++++------
 9 files changed, 123 insertions(+), 96 deletions(-)
---
base-commit: d1d77120bc2867b3e449e07ee656a26b2fb03d1e
change-id: 20240204-keee-u32-cleanup-b86d68458d80

Best regards,

Comments

Paul Menzel Feb. 15, 2024, 7 a.m. UTC | #1
Dear Andrew,


Thank you very much for this patch-set.


Am 15.02.24 um 12:13 AM schrieb Andrew Lunn:
> 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. This patchset convert some MAC drivers

Maybe reference the commit introducing them?

One small nit: convert*s*

> still using the old _u32 to link modes, with the aim of soon being
> able to remove the legacy _u32 members in the keee structure.
> 
> 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. Comments on why its actually useful and should be kept are
> gratefully received.

Nice find.


Kind regards,

Paul


> Signed-off-by: Andrew Lunn <andrew@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 (8):
>        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
> 
>   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     | 33 ++++++++-----
>   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                   |  9 ++--
>   drivers/net/usb/r8152.c                          | 31 ++++++------
>   9 files changed, 123 insertions(+), 96 deletions(-)
> ---
> base-commit: d1d77120bc2867b3e449e07ee656a26b2fb03d1e
> change-id: 20240204-keee-u32-cleanup-b86d68458d80
> 
> Best regards,
Andrew Lunn Feb. 16, 2024, 12:15 a.m. UTC | #2
> Am 15.02.24 um 12:13 AM schrieb Andrew Lunn:
> > 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. This patchset convert some MAC drivers
> 
> Maybe reference the commit introducing them?

That would be:

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
 
> One small nit: convert*s*

Thanks.

	Andrew