public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* RFC: phylink: disable PHY autonomous EEE when MAC manages LPI
@ 2026-03-31 21:27 Nicolai Buchwitz
  2026-03-31 22:56 ` Andrew Lunn
  0 siblings, 1 reply; 12+ messages in thread
From: Nicolai Buchwitz @ 2026-03-31 21:27 UTC (permalink / raw)
  To: netdev; +Cc: Russell King, Andrew Lunn

Hi

Some PHYs (e.g. Broadcom BCM54xx "AutogrEEEn") manage EEE LPI
autonomously without forwarding LPI signaling to the MAC. This works
fine when the MAC doesn't support EEE, but conflicts with MACs that
implement their own LPI control via phylink's mac_enable_tx_lpi /
mac_disable_tx_lpi.

When the MAC has lpi_capabilities set, the PHY should use Native EEE
mode so the MAC can control LPI entry/exit and observe RX LPI
transitions.

I'm thinking of a flag on phy_device (similar to mac_managed_pm) that
phylink sets when the MAC has lpi_capabilities, and that PHY drivers
check in config_init to disable their autonomous EEE mode:

   /* set by phylink when MAC manages LPI */
   phydev->mac_managed_lpi = true;

   /* in bcm54xx_config_init: */
   if (phydev->mac_managed_lpi)
       bcm_phy_modify_exp(phydev, MII_BUF_CNTL0,
                          AUTOGREEEN_EN, 0);

This came up while adding EEE support to the Cadence macb driver (used
on Raspberry Pi 5 with a BCM54210PE PHY). The PHY's AutogrEEEn mode
prevented the MAC from tracking LPI state. As a workaround, the
Raspberry Pi tree currently carries a downstream patch that
unconditionally disables AutogrEEEn for all BCM54xx PHYs, since both
genet and macb now support EEE properly. That's obviously not suitable
for upstream where other MACs paired with BCM54xx may not have LPI
support.

Does this seem like a reasonable approach, or is there a better way to
handle PHY autonomous EEE within phylink?

Thanks

Nicolai

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

end of thread, other threads:[~2026-04-02 13:32 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-31 21:27 RFC: phylink: disable PHY autonomous EEE when MAC manages LPI Nicolai Buchwitz
2026-03-31 22:56 ` Andrew Lunn
2026-04-01  7:43   ` Russell King (Oracle)
2026-04-01 12:12     ` Nicolai Buchwitz
2026-04-01 12:48       ` Russell King (Oracle)
2026-04-01 13:11       ` Andrew Lunn
2026-04-01 15:05         ` Russell King (Oracle)
2026-04-01 15:38           ` Andrew Lunn
2026-04-01 16:02             ` Russell King (Oracle)
2026-04-02  7:53               ` Nicolai Buchwitz
2026-04-02 12:32                 ` Russell King (Oracle)
2026-04-02 13:32                   ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox