From: Andrew Lunn <andrew@lunn.ch>
To: netdev <netdev@vger.kernel.org>
Cc: Florian Fainelli <f.fainelli@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <rmk+kernel@armlinux.org.uk>,
Oleksij Rempel <o.rempel@pengutronix.de>,
Andrew Lunn <andrew@lunn.ch>
Subject: [RFC/RFT 04/23] net: phy: Keep track of EEE tx_lpi_enabled
Date: Mon, 27 Mar 2023 19:01:42 +0200 [thread overview]
Message-ID: <20230327170201.2036708-5-andrew@lunn.ch> (raw)
In-Reply-To: <20230327170201.2036708-1-andrew@lunn.ch>
Have phylib keep track of the EEE tx_lpi_enabled configuration. This
simplifies the MAC drivers, in that they don't need to store it.
Future patches to phylib will also make use of this information to
further simplify the MAC drivers.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
drivers/net/phy/phy.c | 5 ++++-
include/linux/phy.h | 2 ++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index d3d6ff4ed488..7d9205c3f235 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -1585,7 +1585,7 @@ EXPORT_SYMBOL(phy_get_eee_err);
* @data: ethtool_eee data
*
* Description: it reportes the Supported/Advertisement/LP Advertisement
- * capabilities.
+ * capabilities, etc.
*/
int phy_ethtool_get_eee(struct phy_device *phydev, struct ethtool_eee *data)
{
@@ -1596,6 +1596,7 @@ int phy_ethtool_get_eee(struct phy_device *phydev, struct ethtool_eee *data)
mutex_lock(&phydev->lock);
ret = genphy_c45_ethtool_get_eee(phydev, data);
+ data->tx_lpi_enabled = phydev->tx_lpi_enabled;
mutex_unlock(&phydev->lock);
return ret;
@@ -1618,6 +1619,8 @@ int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data)
mutex_lock(&phydev->lock);
ret = genphy_c45_ethtool_set_eee(phydev, data);
+ if (!ret)
+ phydev->tx_lpi_enabled = data->tx_lpi_enabled;
mutex_unlock(&phydev->lock);
return ret;
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 12addd1c29f2..f746d0b10e68 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -578,6 +578,7 @@ struct macsec_ops;
* @advertising_eee: Currently advertised EEE linkmodes
* @eee_enabled: Flag indicating whether the EEE feature is enabled
* @eee_active: EEE is active for the current link mode
+ * @tx_lpi_enabled: EEE should send LPI
* @lp_advertising: Current link partner advertised linkmodes
* @host_interfaces: PHY interface modes supported by host
* @eee_broken_modes: Energy efficient ethernet modes which should be prohibited
@@ -693,6 +694,7 @@ struct phy_device {
/* Energy efficient ethernet modes which should be prohibited */
u32 eee_broken_modes;
bool eee_active;
+ bool tx_lpi_enabled;
#ifdef CONFIG_LED_TRIGGER_PHY
struct phy_led_trigger *phy_led_triggers;
--
2.39.2
next prev parent reply other threads:[~2023-03-27 17:03 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-27 17:01 [RFC/RFT 00/23] net: ethernet: Rework EEE Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 01/23] net: phy: Add phydev->eee_active to simplify adjust link callbacks Andrew Lunn
2023-03-27 17:54 ` Russell King (Oracle)
2023-03-27 17:01 ` [RFC/RFT 02/23] net: phylink: Plumb eee_active in mac_link_up call Andrew Lunn
2023-03-27 17:57 ` Russell King (Oracle)
2023-03-27 21:53 ` Russell King (Oracle)
2023-03-27 22:45 ` Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 03/23] net: phy: Add helper to set EEE Clock stop enable bit Andrew Lunn
2023-03-27 17:58 ` Russell King (Oracle)
2023-03-28 5:03 ` Oleksij Rempel
2023-03-28 5:13 ` Oleksij Rempel
2023-03-28 12:09 ` Andrew Lunn
2023-03-27 17:01 ` Andrew Lunn [this message]
2023-03-27 17:58 ` [RFC/RFT 04/23] net: phy: Keep track of EEE tx_lpi_enabled Russell King (Oracle)
2023-03-27 17:01 ` [RFC/RFT 05/23] net: phy: Immediately call adjust_link if only tx_lpi_enabled changes Andrew Lunn
2023-03-27 18:02 ` Russell King (Oracle)
2023-03-27 22:13 ` Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 06/23] net: marvell: mvneta: Simplify EEE configuration Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 07/23] net: stmmac: Drop usage of phy_init_eee() Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 08/23] net: stmmac: Simplify ethtool get eee Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 09/23] net: lan743x: Fixup EEE Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 10/23] net: fec: Move fec_enet_eee_mode_set() and helper earlier Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 11/23] net: FEC: Fixup EEE Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 12/23] net: genet: " Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 13/23] net: sxgdb: " Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 14/23] net: dsa: mt7530: Swap to using phydev->eee_active Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 15/23] net: dsa: b53: " Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 16/23] net: phylink: Remove unused phylink_init_eee() Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 17/23] net: phy: remove unused phy_init_eee() Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 18/23] net: usb: lan78xx: Fixup EEE Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 19/23] net: phy: Add phy_support_eee() indicating MAC support EEE Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 20/23] net: phylink: Add MAC_EEE to mac_capabilites Andrew Lunn
2023-03-27 21:59 ` Russell King (Oracle)
2023-03-27 22:15 ` Andrew Lunn
2023-03-27 17:01 ` [RFC/RFT 21/23] net: phylink: Extend mac_capabilities in MAC drivers which support EEE Andrew Lunn
2023-03-27 17:02 ` [RFC/RFT 22/23] net: phylib: call phy_support_eee() " Andrew Lunn
2023-03-27 17:02 ` [RFC/RFT 23/23] net: phy: Disable EEE advertisement by default Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230327170201.2036708-5-andrew@lunn.ch \
--to=andrew@lunn.ch \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=rmk+kernel@armlinux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).