netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 net-next 0/9] net: ethernet: Rework EEE
@ 2023-06-18 18:41 Andrew Lunn
  2023-06-18 18:41 ` [PATCH v4 net-next 1/9] net: phy-c45: Fix genphy_c45_ethtool_set_eee description Andrew Lunn
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Andrew Lunn @ 2023-06-18 18:41 UTC (permalink / raw)
  To: netdev
  Cc: Russell King, Heiner Kallweit, Florian Fainelli, Oleksij Rempel,
	Andrew Lunn

Most MAC drivers get EEE wrong. The API to the PHY is not very
obvious, which is probably why. Rework the API, pushing most of the
EEE handling into phylib core, leaving the MAC drivers to just
enable/disable support for EEE in there change_link call back.

MAC drivers are now expect to indicate to phylib if they support
EEE. This will allow future patches to configure the PHY to advertise
no EEE link modes when EEE is not supported. The information could
also be used to enable SmartEEE if the PHY supports it.

With these changes, the uAPI configuration eee_enable becomes a global
on/off. tx-lpi must also be enabled before EEE is enabled. This fits
the discussion here:

https://lore.kernel.org/netdev/af880ce8-a7b8-138e-1ab9-8c89e662eecf@gmail.com/T/

This patchset puts in place all the infrastructure, and converts one
MAC driver to the new API. Following patchsets will convert other MAC
drivers, extend support into phylink, and when all MAC drivers are
converted to the new scheme, clean up some unneeded code.

v4
--

Only convert one MAC driver
Drop all phylink code
Conform to the uAPI discision.

v3
--
Rework phylink code to add a new callback.
Rework function to indicate clock should be stopped during LPI

Andrew Lunn (8):
  net: phy-c45: Fix genphy_c45_ethtool_set_eee description
  net: phy: Add phydev->enable_tx_lpi to simplify adjust link callbacks
  net: phy: Add helper to set EEE Clock stop enable bit
  net: phy: Keep track of EEE configuration
  net: phy: Immediately call adjust_link if only tx_lpi_enabled changes
  net: phy: Add phy_support_eee() indicating MAC support EEE
  net: fec: Move fec_enet_eee_mode_set() and helper earlier
  net: fec: Fixup EEE

Russell King (1):
  net: add helpers for EEE configuration

 drivers/net/ethernet/freescale/fec_main.c | 88 ++++++++++-------------
 drivers/net/phy/phy-c45.c                 | 20 ++++--
 drivers/net/phy/phy.c                     | 53 +++++++++++++-
 drivers/net/phy/phy_device.c              | 18 +++++
 include/linux/phy.h                       |  9 ++-
 include/net/eee.h                         | 38 ++++++++++
 6 files changed, 165 insertions(+), 61 deletions(-)
 create mode 100644 include/net/eee.h

-- 
2.40.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-06-22 15:43 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-18 18:41 [PATCH v4 net-next 0/9] net: ethernet: Rework EEE Andrew Lunn
2023-06-18 18:41 ` [PATCH v4 net-next 1/9] net: phy-c45: Fix genphy_c45_ethtool_set_eee description Andrew Lunn
2023-06-18 19:18   ` Russell King (Oracle)
2023-06-18 20:30     ` Andrew Lunn
2023-06-18 18:41 ` [PATCH v4 net-next 2/9] net: add helpers for EEE configuration Andrew Lunn
2023-06-19 15:26   ` Florian Fainelli
2023-06-18 18:41 ` [PATCH v4 net-next 3/9] net: phy: Add phydev->enable_tx_lpi to simplify adjust link callbacks Andrew Lunn
2023-06-18 18:41 ` [PATCH v4 net-next 4/9] net: phy: Add helper to set EEE Clock stop enable bit Andrew Lunn
2023-06-18 18:41 ` [PATCH v4 net-next 5/9] net: phy: Keep track of EEE configuration Andrew Lunn
2023-06-18 19:20   ` Russell King (Oracle)
2023-06-19 14:20   ` Simon Horman
2023-06-19 15:27   ` Florian Fainelli
2023-06-18 18:41 ` [PATCH v4 net-next 6/9] net: phy: Immediately call adjust_link if only tx_lpi_enabled changes Andrew Lunn
2023-06-18 18:41 ` [PATCH v4 net-next 7/9] net: phy: Add phy_support_eee() indicating MAC support EEE Andrew Lunn
2023-06-19 15:21   ` Florian Fainelli
2023-06-22 15:20     ` Russell King (Oracle)
2023-06-22 15:43       ` Andrew Lunn
2023-06-18 18:41 ` [PATCH v4 net-next 8/9] net: fec: Move fec_enet_eee_mode_set() and helper earlier Andrew Lunn
2023-06-19 15:22   ` Florian Fainelli
2023-06-18 18:41 ` [PATCH v4 net-next 9/9] net: fec: Fixup EEE Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).