* [PATCH net-next v4 0/2] net: stmmac: Disable EEE on i.MX @ 2026-03-25 21:00 Laurent Pinchart 2026-03-25 21:00 ` [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE Laurent Pinchart 2026-03-25 21:00 ` [PATCH net-next v4 2/2] net: stmmac: imx: Disable EEE Laurent Pinchart 0 siblings, 2 replies; 6+ messages in thread From: Laurent Pinchart @ 2026-03-25 21:00 UTC (permalink / raw) To: netdev, imx Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Fabio Estevam, Francesco Dolcini, Frank Li, Jakub Kicinski, Joy Zou, Kieran Bingham, Marco Felsch, Paolo Abeni, Pengutronix Kernel Team, Russell King (Oracle), Stefan Klug, linux-arm-kernel Hello, This small patch series fixes a long-standing interrupt storm issue with stmmac on NXP i.MX platforms. The initial attempt to fix^Wwork around the problem in DT ([1]) was painfully but rightfully rejected by Russell, who helped me investigate the issue in depth. It turned out that the root cause is a mistake in how interrupts are wired in the SoC, a hardware bug that has been replicated in all i.MX SoCs that integrate an stmmac. The only viable solution is to disable EEE on those devices. Individual patches explain the issue in more details. Patch 1/2, authored by Russell, adds a new STMMAC_FLAG to disable EEE, and patch 2/2 sets the flag for i.MX platforms. [1] https://lore.kernel.org/r/20251026122905.29028-1-laurent.pinchart@ideasonboard.com Laurent Pinchart (1): net: stmmac: imx: Disable EEE Russell King (Oracle) (1): net: stmmac: provide flag to disable EEE drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c | 9 +++------ drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++++++- include/linux/stmmac.h | 13 +++++++------ 3 files changed, 16 insertions(+), 13 deletions(-) base-commit: d1e59a46973719e458bec78d00dd767d7a7ba71f -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE 2026-03-25 21:00 [PATCH net-next v4 0/2] net: stmmac: Disable EEE on i.MX Laurent Pinchart @ 2026-03-25 21:00 ` Laurent Pinchart 2026-03-26 15:53 ` Laurent Pinchart 2026-03-26 17:31 ` Kieran Bingham 2026-03-25 21:00 ` [PATCH net-next v4 2/2] net: stmmac: imx: Disable EEE Laurent Pinchart 1 sibling, 2 replies; 6+ messages in thread From: Laurent Pinchart @ 2026-03-25 21:00 UTC (permalink / raw) To: netdev, imx Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Fabio Estevam, Francesco Dolcini, Frank Li, Jakub Kicinski, Joy Zou, Kieran Bingham, Marco Felsch, Paolo Abeni, Pengutronix Kernel Team, Russell King (Oracle), Stefan Klug, linux-arm-kernel From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk> Some platforms have problems when EEE is enabled, and thus need a way to disable stmmac EEE support. Add a flag before the other LPI related flags which tells stmmac to avoid populating the phylink LPI capabilities, which causes phylink to call phy_disable_eee() for any PHY that is attached to the affected phylink instance. iMX8MP is an example - the lpi_intr_o signal is wired to an OR gate along with the main dwmac interrupts. Since lpi_intr_o is synchronous to the receive clock domain, and takes four clock cycles to clear, this leads to interrupt storms as the interrupt remains asserted for some time after the LPI control and status register is read. This problem becomes worse when the receive clock from the PHY stops when the receive path enters LPI state - which means that lpi_intr_o can not deassert until the clock restarts. Since the LPI state of the receive path depends on the link partner, this is out of our control. We could disable RX clock stop at the PHY, but that doesn't get around the slow-to-deassert lpi_intr_o mentioned in the above paragraph. Previously, iMX8MP worked around this by disabling gigabit EEE, but this is insufficient - the problem is also visible at 100M speeds, where the receive clock is slower. There is extensive discussion and investigation in the thread linked below, the result of which is summarised in this commit message. Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Closes: https://lore.kernel.org/r/20251026122905.29028-1-laurent.pinchart@ideasonboard.com Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Tested-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++++++- include/linux/stmmac.h | 13 +++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 9b6b49331639..ce51b9c22129 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1438,7 +1438,12 @@ static int stmmac_phylink_setup(struct stmmac_priv *priv) config->supported_interfaces, pcs->supported_interfaces); - if (priv->dma_cap.eee) { + /* Some platforms, e.g. iMX8MP, wire lpi_intr_o to the same interrupt + * used for stmmac's main interrupts, which leads to interrupt storms. + * STMMAC_FLAG_EEE_DISABLE allows EEE to be disabled on such platforms. + */ + if (priv->dma_cap.eee && + !(priv->plat->flags & STMMAC_FLAG_EEE_DISABLE)) { /* The GMAC 3.74a databook states that EEE is only supported * in MII, GMII, and RGMII interfaces. */ diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index 5b2bece81448..e62d21afd56d 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -207,12 +207,13 @@ enum dwmac_core_type { #define STMMAC_FLAG_MULTI_MSI_EN BIT(7) #define STMMAC_FLAG_EXT_SNAPSHOT_EN BIT(8) #define STMMAC_FLAG_INT_SNAPSHOT_EN BIT(9) -#define STMMAC_FLAG_RX_CLK_RUNS_IN_LPI BIT(10) -#define STMMAC_FLAG_EN_TX_LPI_CLOCKGATING BIT(11) -#define STMMAC_FLAG_EN_TX_LPI_CLK_PHY_CAP BIT(12) -#define STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY BIT(13) -#define STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD BIT(14) -#define STMMAC_FLAG_SERDES_SUPPORTS_2500M BIT(15) +#define STMMAC_FLAG_EEE_DISABLE BIT(10) +#define STMMAC_FLAG_RX_CLK_RUNS_IN_LPI BIT(11) +#define STMMAC_FLAG_EN_TX_LPI_CLOCKGATING BIT(12) +#define STMMAC_FLAG_EN_TX_LPI_CLK_PHY_CAP BIT(13) +#define STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY BIT(14) +#define STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD BIT(15) +#define STMMAC_FLAG_SERDES_SUPPORTS_2500M BIT(16) struct mac_device_info; -- Regards, Laurent Pinchart ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE 2026-03-25 21:00 ` [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE Laurent Pinchart @ 2026-03-26 15:53 ` Laurent Pinchart 2026-03-26 17:31 ` Kieran Bingham 1 sibling, 0 replies; 6+ messages in thread From: Laurent Pinchart @ 2026-03-26 15:53 UTC (permalink / raw) To: netdev, imx Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Fabio Estevam, Francesco Dolcini, Frank Li, Jakub Kicinski, Joy Zou, Kieran Bingham, Marco Felsch, Paolo Abeni, Pengutronix Kernel Team, Russell King (Oracle), Stefan Klug, linux-arm-kernel On Wed, Mar 25, 2026 at 11:00:02PM +0200, Laurent Pinchart wrote: > From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk> > > Some platforms have problems when EEE is enabled, and thus need a way > to disable stmmac EEE support. Add a flag before the other LPI related > flags which tells stmmac to avoid populating the phylink LPI > capabilities, which causes phylink to call phy_disable_eee() for any > PHY that is attached to the affected phylink instance. > > iMX8MP is an example - the lpi_intr_o signal is wired to an OR gate > along with the main dwmac interrupts. Since lpi_intr_o is synchronous > to the receive clock domain, and takes four clock cycles to clear, this > leads to interrupt storms as the interrupt remains asserted for some > time after the LPI control and status register is read. > > This problem becomes worse when the receive clock from the PHY stops > when the receive path enters LPI state - which means that lpi_intr_o > can not deassert until the clock restarts. Since the LPI state of the > receive path depends on the link partner, this is out of our control. > We could disable RX clock stop at the PHY, but that doesn't get around > the slow-to-deassert lpi_intr_o mentioned in the above paragraph. > > Previously, iMX8MP worked around this by disabling gigabit EEE, but > this is insufficient - the problem is also visible at 100M speeds, > where the receive clock is slower. > > There is extensive discussion and investigation in the thread linked > below, the result of which is summarised in this commit message. > > Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Closes: https://lore.kernel.org/r/20251026122905.29028-1-laurent.pinchart@ideasonboard.com > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > Tested-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com> And I just realized I haven't sent an R-b tag, despite having reviewed the patch. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++++++- > include/linux/stmmac.h | 13 +++++++------ > 2 files changed, 13 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index 9b6b49331639..ce51b9c22129 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -1438,7 +1438,12 @@ static int stmmac_phylink_setup(struct stmmac_priv *priv) > config->supported_interfaces, > pcs->supported_interfaces); > > - if (priv->dma_cap.eee) { > + /* Some platforms, e.g. iMX8MP, wire lpi_intr_o to the same interrupt > + * used for stmmac's main interrupts, which leads to interrupt storms. > + * STMMAC_FLAG_EEE_DISABLE allows EEE to be disabled on such platforms. > + */ > + if (priv->dma_cap.eee && > + !(priv->plat->flags & STMMAC_FLAG_EEE_DISABLE)) { > /* The GMAC 3.74a databook states that EEE is only supported > * in MII, GMII, and RGMII interfaces. > */ > diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h > index 5b2bece81448..e62d21afd56d 100644 > --- a/include/linux/stmmac.h > +++ b/include/linux/stmmac.h > @@ -207,12 +207,13 @@ enum dwmac_core_type { > #define STMMAC_FLAG_MULTI_MSI_EN BIT(7) > #define STMMAC_FLAG_EXT_SNAPSHOT_EN BIT(8) > #define STMMAC_FLAG_INT_SNAPSHOT_EN BIT(9) > -#define STMMAC_FLAG_RX_CLK_RUNS_IN_LPI BIT(10) > -#define STMMAC_FLAG_EN_TX_LPI_CLOCKGATING BIT(11) > -#define STMMAC_FLAG_EN_TX_LPI_CLK_PHY_CAP BIT(12) > -#define STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY BIT(13) > -#define STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD BIT(14) > -#define STMMAC_FLAG_SERDES_SUPPORTS_2500M BIT(15) > +#define STMMAC_FLAG_EEE_DISABLE BIT(10) > +#define STMMAC_FLAG_RX_CLK_RUNS_IN_LPI BIT(11) > +#define STMMAC_FLAG_EN_TX_LPI_CLOCKGATING BIT(12) > +#define STMMAC_FLAG_EN_TX_LPI_CLK_PHY_CAP BIT(13) > +#define STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY BIT(14) > +#define STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD BIT(15) > +#define STMMAC_FLAG_SERDES_SUPPORTS_2500M BIT(16) > > struct mac_device_info; > -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE 2026-03-25 21:00 ` [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE Laurent Pinchart 2026-03-26 15:53 ` Laurent Pinchart @ 2026-03-26 17:31 ` Kieran Bingham 2026-03-26 18:10 ` Russell King (Oracle) 1 sibling, 1 reply; 6+ messages in thread From: Kieran Bingham @ 2026-03-26 17:31 UTC (permalink / raw) To: Laurent Pinchart, imx, netdev Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Fabio Estevam, Francesco Dolcini, Frank Li, Jakub Kicinski, Joy Zou, Marco Felsch, Paolo Abeni, Pengutronix Kernel Team, Russell King (Oracle), Stefan Klug, linux-arm-kernel Quoting Laurent Pinchart (2026-03-25 21:00:02) > From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk> > > Some platforms have problems when EEE is enabled, and thus need a way > to disable stmmac EEE support. Add a flag before the other LPI related > flags which tells stmmac to avoid populating the phylink LPI > capabilities, which causes phylink to call phy_disable_eee() for any > PHY that is attached to the affected phylink instance. > > iMX8MP is an example - the lpi_intr_o signal is wired to an OR gate > along with the main dwmac interrupts. Since lpi_intr_o is synchronous > to the receive clock domain, and takes four clock cycles to clear, this > leads to interrupt storms as the interrupt remains asserted for some > time after the LPI control and status register is read. > > This problem becomes worse when the receive clock from the PHY stops > when the receive path enters LPI state - which means that lpi_intr_o > can not deassert until the clock restarts. Since the LPI state of the > receive path depends on the link partner, this is out of our control. > We could disable RX clock stop at the PHY, but that doesn't get around > the slow-to-deassert lpi_intr_o mentioned in the above paragraph. > > Previously, iMX8MP worked around this by disabling gigabit EEE, but > this is insufficient - the problem is also visible at 100M speeds, > where the receive clock is slower. > > There is extensive discussion and investigation in the thread linked > below, the result of which is summarised in this commit message. This one has been a roller coaster, but I'm glad we got to the bottom of it. I hope someone from synopsis takes note and and documents this for future silicon integrations. Can't wait to see where else this pops up. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Closes: https://lore.kernel.org/r/20251026122905.29028-1-laurent.pinchart@ideasonboard.com > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > Tested-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++++++- > include/linux/stmmac.h | 13 +++++++------ > 2 files changed, 13 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index 9b6b49331639..ce51b9c22129 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -1438,7 +1438,12 @@ static int stmmac_phylink_setup(struct stmmac_priv *priv) > config->supported_interfaces, > pcs->supported_interfaces); > > - if (priv->dma_cap.eee) { > + /* Some platforms, e.g. iMX8MP, wire lpi_intr_o to the same interrupt > + * used for stmmac's main interrupts, which leads to interrupt storms. > + * STMMAC_FLAG_EEE_DISABLE allows EEE to be disabled on such platforms. > + */ > + if (priv->dma_cap.eee && > + !(priv->plat->flags & STMMAC_FLAG_EEE_DISABLE)) { > /* The GMAC 3.74a databook states that EEE is only supported > * in MII, GMII, and RGMII interfaces. > */ > diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h > index 5b2bece81448..e62d21afd56d 100644 > --- a/include/linux/stmmac.h > +++ b/include/linux/stmmac.h > @@ -207,12 +207,13 @@ enum dwmac_core_type { > #define STMMAC_FLAG_MULTI_MSI_EN BIT(7) > #define STMMAC_FLAG_EXT_SNAPSHOT_EN BIT(8) > #define STMMAC_FLAG_INT_SNAPSHOT_EN BIT(9) > -#define STMMAC_FLAG_RX_CLK_RUNS_IN_LPI BIT(10) > -#define STMMAC_FLAG_EN_TX_LPI_CLOCKGATING BIT(11) > -#define STMMAC_FLAG_EN_TX_LPI_CLK_PHY_CAP BIT(12) > -#define STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY BIT(13) > -#define STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD BIT(14) > -#define STMMAC_FLAG_SERDES_SUPPORTS_2500M BIT(15) > +#define STMMAC_FLAG_EEE_DISABLE BIT(10) > +#define STMMAC_FLAG_RX_CLK_RUNS_IN_LPI BIT(11) > +#define STMMAC_FLAG_EN_TX_LPI_CLOCKGATING BIT(12) > +#define STMMAC_FLAG_EN_TX_LPI_CLK_PHY_CAP BIT(13) > +#define STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY BIT(14) > +#define STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD BIT(15) > +#define STMMAC_FLAG_SERDES_SUPPORTS_2500M BIT(16) > > struct mac_device_info; > > -- > Regards, > > Laurent Pinchart > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE 2026-03-26 17:31 ` Kieran Bingham @ 2026-03-26 18:10 ` Russell King (Oracle) 0 siblings, 0 replies; 6+ messages in thread From: Russell King (Oracle) @ 2026-03-26 18:10 UTC (permalink / raw) To: Kieran Bingham Cc: Laurent Pinchart, imx, netdev, Andrew Lunn, David S. Miller, Eric Dumazet, Fabio Estevam, Francesco Dolcini, Frank Li, Jakub Kicinski, Joy Zou, Marco Felsch, Paolo Abeni, Pengutronix Kernel Team, Stefan Klug, linux-arm-kernel On Thu, Mar 26, 2026 at 05:31:29PM +0000, Kieran Bingham wrote: > This one has been a roller coaster, but I'm glad we got to the bottom of > it. > > I hope someone from synopsis takes note and and documents this for > future silicon integrations. I would say that it _is_ clearly documented in the databook. v3.74a 4.3.4. LPI Interrupt already states that this signal is generated in the receive clock domain, and is not cleared immediately after the LPI control and status register is read. It goes on to state that this is because the signal to clear it has to cross from the CSR clock domain to the receive clock domain to clear the signal - and states that it is at least _four_ receive clock cycles. So, if the dwmac core is operating at 10Mbps, that means its receive clock is running at 2.5MHz which has a period of 400ns. In this case, the four receive clock cycles to clear this interrupt is 1.6us, assuming that the receive clock is running. However, if EEE is enabled, the receive clock comes from the PHY, which may gate off when the link re-enters LPI - and this event is under the control of the remote end, not the local end. So, what this means is that even though it states four receive clocks to clear the lpi_intr_o signal, that doesn't necessarily mean it will clear in 1.6us as the receive clock may be stopped. So, I think it is clearly stated in the databook already, but as it's just two paragraphs buried in around 1500 pages, that may explain why it has been missed on iMX. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last! ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH net-next v4 2/2] net: stmmac: imx: Disable EEE 2026-03-25 21:00 [PATCH net-next v4 0/2] net: stmmac: Disable EEE on i.MX Laurent Pinchart 2026-03-25 21:00 ` [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE Laurent Pinchart @ 2026-03-25 21:00 ` Laurent Pinchart 1 sibling, 0 replies; 6+ messages in thread From: Laurent Pinchart @ 2026-03-25 21:00 UTC (permalink / raw) To: netdev, imx Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Fabio Estevam, Francesco Dolcini, Frank Li, Jakub Kicinski, Joy Zou, Kieran Bingham, Marco Felsch, Paolo Abeni, Pengutronix Kernel Team, Russell King (Oracle), Stefan Klug, linux-arm-kernel The i.MX8MP suffers from an interrupt storm related to the stmmac and EEE. A long and tedious analysis ([1]) concluded that the SoC wires the stmmac lpi_intr_o signal to an OR gate along with the main dwmac interrupts, which causes an interrupt storm for two reasons. First, there's a race condition due to the interrupt deassertion being synchronous to the RX clock domain: - When the PHY exits LPI mode, it restarts generating the RX clock (clk_rx_i input signal to the GMAC). - The MAC detects exit from LPI, and asserts lpi_intr_o. This triggers the ENET_EQOS interrupt. - Before the CPU has time to process the interrupt, the PHY enters LPI mode again, and stops generating the RX clock. - The CPU processes the interrupt and reads the GMAC4_LPI_CTRL_STATUS registers. This does not clear lpi_intr_o as there's no clk_rx_i. An attempt was made to fixing the issue by not stopping RX_CLK in Rx LPI state ([2]). This alleviates the symptoms but doesn't fix the issue. Since lpi_intr_o takes four RX_CLK cycles to clear, an interrupt storm can still occur during that window. In 1000T mode this is harder to notice, but slower receive clocks cause hundreds to thousands of spurious interrupts. Fix the issue by disabling EEE completely on i.MX8MP. [1] https://lore.kernel.org/all/20251026122905.29028-1-laurent.pinchart@ideasonboard.com/ [2] https://lore.kernel.org/all/20251123053518.8478-1-laurent.pinchart@ideasonboard.com/ Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> --- Changes since v1: - Fix | operator placement --- drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c index 9d1bd72ffb73..01260dbbb698 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c @@ -325,11 +325,7 @@ static int imx_dwmac_probe(struct platform_device *pdev) return ret; } - if (data->flags & STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY) - plat_dat->flags |= STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY; - - if (data->flags & STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD) - plat_dat->flags |= STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD; + plat_dat->flags |= data->flags; /* Default TX Q0 to use TSO and rest TXQ for TBS */ for (int i = 1; i < plat_dat->tx_queues_to_use; i++) @@ -366,7 +362,8 @@ static struct imx_dwmac_ops imx8mp_dwmac_data = { .addr_width = 34, .mac_rgmii_txclk_auto_adj = false, .set_intf_mode = imx8mp_set_intf_mode, - .flags = STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY | + .flags = STMMAC_FLAG_EEE_DISABLE | + STMMAC_FLAG_HWTSTAMP_CORRECT_LATENCY | STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD, }; -- Regards, Laurent Pinchart ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-03-26 18:10 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-25 21:00 [PATCH net-next v4 0/2] net: stmmac: Disable EEE on i.MX Laurent Pinchart 2026-03-25 21:00 ` [PATCH net-next v4 1/2] net: stmmac: provide flag to disable EEE Laurent Pinchart 2026-03-26 15:53 ` Laurent Pinchart 2026-03-26 17:31 ` Kieran Bingham 2026-03-26 18:10 ` Russell King (Oracle) 2026-03-25 21:00 ` [PATCH net-next v4 2/2] net: stmmac: imx: Disable EEE Laurent Pinchart
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox