mbox series

[net-next,0/5] ethtool: add support for EEE linkmodes beyond bit 32

Message ID 783d4a61-2f08-41fc-b91d-bd5f512586a2@gmail.com (mailing list archive)
Headers show
Series ethtool: add support for EEE linkmodes beyond bit 32 | expand

Message

Heiner Kallweit Jan. 1, 2024, 9:22 p.m. UTC
So far only 32bit legacy bitmaps are passed to userspace. This makes
it impossible to manage EEE linkmodes beyond bit 32, e.g. manage EEE
for 2500BaseT and 5000BaseT. This series adds support for passing
full linkmode bitmaps between kernel and userspace.

Fortunately the netlink-based part of ethtool is quite smart and no
changes are needed in ethtool. However this applies to the netlink
interface only, the ioctl interface for now remains restricted to
legacy bitmaps.

Next step will be adding support for the c45 EEE2 standard registers
(3.21, 7.62, 7.63) to the genphy_c45 functions dealing with EEE.
I have a follow-up series for this ready to be submitted.

Heiner Kallweit (5):
  ethtool: add struct ethtool_keee and extend struct ethtool_eee
  ethtool: add basic handling of struct ethtool_keee
  ethtool: send EEE linkmode bitmaps to userspace
  net: phy: c45: prepare genphy_c45_ethtool_set_eee for follow-up
    extension
  net: phy: c45: extend genphy_c45_ethtool_[set|get]_eee

 drivers/net/phy/phy-c45.c    | 57 +++++++++++++++++----------
 include/linux/ethtool.h      | 18 +++++++++
 include/uapi/linux/ethtool.h |  4 +-
 net/ethtool/eee.c            | 75 +++++++++++++++++++++++++-----------
 4 files changed, 109 insertions(+), 45 deletions(-)

Comments

Heiner Kallweit Jan. 6, 2024, 7:44 p.m. UTC | #1
On 01.01.2024 22:22, Heiner Kallweit wrote:
> So far only 32bit legacy bitmaps are passed to userspace. This makes
> it impossible to manage EEE linkmodes beyond bit 32, e.g. manage EEE
> for 2500BaseT and 5000BaseT. This series adds support for passing
> full linkmode bitmaps between kernel and userspace.
> 
> Fortunately the netlink-based part of ethtool is quite smart and no
> changes are needed in ethtool. However this applies to the netlink
> interface only, the ioctl interface for now remains restricted to
> legacy bitmaps.
> 
> Next step will be adding support for the c45 EEE2 standard registers
> (3.21, 7.62, 7.63) to the genphy_c45 functions dealing with EEE.
> I have a follow-up series for this ready to be submitted.
> 
> Heiner Kallweit (5):
>   ethtool: add struct ethtool_keee and extend struct ethtool_eee
>   ethtool: add basic handling of struct ethtool_keee
>   ethtool: send EEE linkmode bitmaps to userspace
>   net: phy: c45: prepare genphy_c45_ethtool_set_eee for follow-up
>     extension
>   net: phy: c45: extend genphy_c45_ethtool_[set|get]_eee
> 
>  drivers/net/phy/phy-c45.c    | 57 +++++++++++++++++----------
>  include/linux/ethtool.h      | 18 +++++++++
>  include/uapi/linux/ethtool.h |  4 +-
>  net/ethtool/eee.c            | 75 +++++++++++++++++++++++++-----------
>  4 files changed, 109 insertions(+), 45 deletions(-)
> 
This version of the series can be set to "changes requested".
I'll submit a follow-up RFC series as basis for further discussion.