From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
To: Andrew Lunn <andrew@lunn.ch>, Heiner Kallweit <hkallweit1@gmail.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH net-next 02/14] net: stmmac: ensure LPI is disabled when disabling EEE
Date: Wed, 05 Feb 2025 13:39:50 +0000 [thread overview]
Message-ID: <E1tffd8-003ZHb-AX@rmk-PC.armlinux.org.uk> (raw)
In-Reply-To: <Z6NqGnM2yL7Ayo-T@shell.armlinux.org.uk>
When EEE is disabled, we call stmmac_set_eee_lpi_timer(..., 0).
For dwmac4, this will result in LPIATE being cleared, but LPIEN and
LPITXA being set, causing LPI mode to be signalled (if it wasn't
before).
For others MACs, stmmac_set_eee_lpi_timer() does nothing, which means
that LPI mode will continue to be signalled despite the expectation
for it to be disabled.
In both cases, LPI mode will be terminated when the transmitter has
a packet to send, and LPIEN will be cleared by hardware.
Call stmmac_reset_eee_mode() to ensure that LPI mode is disabled when
EEE mode is requested to be disabled.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 9b44f4a8b7af..fecf9e8b29bf 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -494,6 +494,7 @@ static void stmmac_eee_init(struct stmmac_priv *priv, bool active)
priv->eee_sw_timer_en = false;
del_timer_sync(&priv->eee_ctrl_timer);
stmmac_disable_hw_lpi_timer(priv);
+ stmmac_reset_eee_mode(priv, priv->hw);
stmmac_set_eee_timer(priv, priv->hw, 0,
STMMAC_DEFAULT_TWT_LS);
if (priv->hw->xpcs)
--
2.30.2
next prev parent reply other threads:[~2025-02-05 13:40 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-05 13:39 [PATCH net-next 0/14] net: stmmac: yet more EEE updates Russell King (Oracle)
2025-02-05 13:39 ` [PATCH net-next 01/14] net: stmmac: delete software timer before disabling LPI Russell King (Oracle)
2025-02-05 13:39 ` Russell King (Oracle) [this message]
2025-02-05 13:39 ` [PATCH net-next 03/14] net: stmmac: dwmac4: ensure LPIATE is cleared Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 04/14] net: stmmac: split stmmac_init_eee() and move to phylink methods Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 05/14] net: stmmac: remove priv->dma_cap.eee test in tx_lpi methods Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 06/14] net: stmmac: remove unnecessary priv->eee_active tests Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 07/14] net: stmmac: remove unnecessary priv->eee_enabled tests Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 08/14] net: stmmac: clear priv->tx_path_in_lpi_mode when disabling LPI Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 09/14] net: stmmac: remove unnecessary LPI disable when enabling LPI Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 10/14] net: stmmac: use common LPI_CTRL_STATUS bit definitions Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 11/14] net: stmmac: add new MAC method set_lpi_mode() Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 12/14] net: stmmac: dwmac4: clear LPI_CTRL_STATUS_LPITCSE too Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 13/14] net: stmmac: use stmmac_set_lpi_mode() Russell King (Oracle)
2025-02-05 13:40 ` [PATCH net-next 14/14] net: stmmac: remove old EEE methods Russell King (Oracle)
2025-02-07 20:10 ` [PATCH net-next 0/14] net: stmmac: yet more EEE updates patchwork-bot+netdevbpf
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=E1tffd8-003ZHb-AX@rmk-PC.armlinux.org.uk \
--to=rmk+kernel@armlinux.org.uk \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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).