netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v5 00/23] net: add EEE support for KSZ9477 and AR8035 with i.MX6
@ 2023-02-06 13:50 Oleksij Rempel
  2023-02-06 13:50 ` [PATCH net-next v5 01/23] net: dsa: microchip: enable EEE support Oleksij Rempel
                   ` (23 more replies)
  0 siblings, 24 replies; 37+ messages in thread
From: Oleksij Rempel @ 2023-02-06 13:50 UTC (permalink / raw)
  To: Woojung Huh, UNGLinuxDriver, Andrew Lunn, Vivien Didelot,
	Florian Fainelli, Vladimir Oltean, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Wei Fang, Heiner Kallweit
  Cc: Oleksij Rempel, kernel, linux-kernel, netdev, Arun.Ramadoss,
	intel-wired-lan

changes v5:
- spell fixes
- move part of genphy_c45_read_eee_abilities() to
  genphy_c45_read_eee_cap1()
- validate MDIO_PCS_EEE_ABLE register against 0xffff val.
- rename *eee_100_10000* to *eee_cap1*
- use linkmode_intersects(phydev->supported, PHY_EEE_CAP1_FEATURES)
  instead of !linkmode_empty()
- add documentation to linkmode/register helpers

changes v4:
- remove following helpers:
  mmd_eee_cap_to_ethtool_sup_t
  mmd_eee_adv_to_ethtool_adv_t
  ethtool_adv_to_mmd_eee_adv_t
  and port drivers from this helpers to linkmode helpers.
- rebase against latest net-next
- port phy_init_eee() to genphy_c45_eee_is_active()

changes v3:
- rework some parts of EEE infrastructure and move it to c45 code.
- add supported_eee storage and start using it in EEE code and by the
  micrel driver.
- add EEE support for ar8035 PHY
- add SmartEEE support to FEC i.MX series.

changes v2:
- use phydev->supported instead of reading MII_BMSR regiaster
- fix @get_eee > @set_eee

With this patch series we provide EEE control for KSZ9477 family of switches and
AR8035 with i.MX6 configuration.
According to my tests, on a system with KSZ8563 switch and 100Mbit idle link,
we consume 0,192W less power per port if EEE is enabled.

Oleksij Rempel (23):
  net: dsa: microchip: enable EEE support
  net: phy: add genphy_c45_read_eee_abilities() function
  net: phy: micrel: add ksz9477_get_features()
  net: phy: export phy_check_valid() function
  net: phy: add genphy_c45_ethtool_get/set_eee() support
  net: phy: c22: migrate to genphy_c45_write_eee_adv()
  net: phy: c45: migrate to genphy_c45_write_eee_adv()
  net: phy: migrate phy_init_eee() to genphy_c45_eee_is_active()
  net: phy: start using genphy_c45_ethtool_get/set_eee()
  net: phy: add driver specific get/set_eee support
  net: phy: at803x: implement ethtool access to SmartEEE functionality
  net: phy: at803x: ar8035: fix EEE support for half duplex links
  net: phy: add PHY specifica flag to signal SmartEEE support
  net: phy: at803x: add PHY_SMART_EEE flag to AR8035
  net: phy: add phy_has_smarteee() helper
  net: fec: add support for PHYs with SmartEEE support
  e1000e: replace EEE ethtool helpers to linkmode variants
  igb: replace EEE ethtool helpers to linkmode variants
  igc: replace EEE ethtool helpers to linkmode variants
  tg3: replace EEE ethtool helpers to linkmode variants
  r8152: replace EEE ethtool helpers to linkmode variants
  net: usb: ax88179_178a: replace EEE ethtool helpers to linkmode
    variants
  net: mdio: drop EEE ethtool helpers in favor to linkmode variants

 drivers/net/dsa/microchip/ksz_common.c       |  65 ++++
 drivers/net/ethernet/broadcom/tg3.c          |   9 +-
 drivers/net/ethernet/freescale/fec_main.c    |  22 +-
 drivers/net/ethernet/intel/e1000e/ethtool.c  |  16 +-
 drivers/net/ethernet/intel/igb/igb_ethtool.c |  23 +-
 drivers/net/ethernet/intel/igc/igc_ethtool.c |  12 +-
 drivers/net/phy/at803x.c                     | 142 ++++++++-
 drivers/net/phy/micrel.c                     |  21 ++
 drivers/net/phy/phy-c45.c                    | 316 ++++++++++++++++++-
 drivers/net/phy/phy.c                        | 155 ++-------
 drivers/net/phy/phy_device.c                 |  26 +-
 drivers/net/usb/ax88179_178a.c               |  24 +-
 drivers/net/usb/r8152.c                      |  34 +-
 include/linux/mdio.h                         | 167 +++++-----
 include/linux/phy.h                          |  28 ++
 include/uapi/linux/mdio.h                    |   8 +
 16 files changed, 808 insertions(+), 260 deletions(-)

-- 
2.30.2


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

end of thread, other threads:[~2023-02-08  8:30 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-06 13:50 [PATCH net-next v5 00/23] net: add EEE support for KSZ9477 and AR8035 with i.MX6 Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 01/23] net: dsa: microchip: enable EEE support Oleksij Rempel
2023-02-07  0:44   ` Andrew Lunn
2023-02-06 13:50 ` [PATCH net-next v5 02/23] net: phy: add genphy_c45_read_eee_abilities() function Oleksij Rempel
2023-02-06 14:46   ` Arun.Ramadoss
2023-02-07  0:44   ` Andrew Lunn
2023-02-08  5:19   ` Jakub Kicinski
2023-02-06 13:50 ` [PATCH net-next v5 03/23] net: phy: micrel: add ksz9477_get_features() Oleksij Rempel
2023-02-07  0:45   ` Andrew Lunn
2023-02-06 13:50 ` [PATCH net-next v5 04/23] net: phy: export phy_check_valid() function Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 05/23] net: phy: add genphy_c45_ethtool_get/set_eee() support Oleksij Rempel
2023-02-06 14:54   ` Arun.Ramadoss
2023-02-06 13:50 ` [PATCH net-next v5 06/23] net: phy: c22: migrate to genphy_c45_write_eee_adv() Oleksij Rempel
2023-02-07  0:52   ` Andrew Lunn
2023-02-06 13:50 ` [PATCH net-next v5 07/23] net: phy: c45: " Oleksij Rempel
2023-02-07  0:52   ` Andrew Lunn
2023-02-06 13:50 ` [PATCH net-next v5 08/23] net: phy: migrate phy_init_eee() to genphy_c45_eee_is_active() Oleksij Rempel
2023-02-07  0:54   ` Andrew Lunn
2023-02-06 13:50 ` [PATCH net-next v5 09/23] net: phy: start using genphy_c45_ethtool_get/set_eee() Oleksij Rempel
2023-02-07  1:05   ` Andrew Lunn
2023-02-06 13:50 ` [PATCH net-next v5 10/23] net: phy: add driver specific get/set_eee support Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 11/23] net: phy: at803x: implement ethtool access to SmartEEE functionality Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 12/23] net: phy: at803x: ar8035: fix EEE support for half duplex links Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 13/23] net: phy: add PHY specifica flag to signal SmartEEE support Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 14/23] net: phy: at803x: add PHY_SMART_EEE flag to AR8035 Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 15/23] net: phy: add phy_has_smarteee() helper Oleksij Rempel
2023-02-08  5:20   ` Jakub Kicinski
2023-02-06 13:50 ` [PATCH net-next v5 16/23] net: fec: add support for PHYs with SmartEEE support Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 17/23] e1000e: replace EEE ethtool helpers to linkmode variants Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 18/23] igb: " Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 19/23] igc: " Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 20/23] tg3: " Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 21/23] r8152: " Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 22/23] net: usb: ax88179_178a: " Oleksij Rempel
2023-02-06 13:50 ` [PATCH net-next v5 23/23] net: mdio: drop EEE ethtool helpers in favor " Oleksij Rempel
2023-02-08  5:25 ` [PATCH net-next v5 00/23] net: add EEE support for KSZ9477 and AR8035 with i.MX6 Jakub Kicinski
2023-02-08  8:30   ` Oleksij Rempel

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).