Re: [PATCH v3 net-next 2/4] net: phylink: introduce helpers for replaying link callbacks
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2026-01-19 14:03:08
Also in:
lkml
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2026-01-19 14:03:08
Also in:
lkml
On Mon, Jan 19, 2026 at 02:19:52PM +0200, Vladimir Oltean wrote:
Some drivers of MAC + tightly integrated PCS (example: SJA1105 + XPCS covered by same reset domain) need to perform resets at runtime. The reset is triggered by the MAC driver, and it needs to restore its and the PCS' registers, all invisible to phylink. However, there is a desire to simplify the API through which the MAC and the PCS interact, so this becomes challenging. Phylink holds all the necessary state to help with this operation, and can offer two helpers which walk the MAC and PCS drivers again through the callbacks required during a destructive reset operation. The procedure is as follows: Before reset, MAC driver calls phylink_replay_link_begin(): - Triggers phylink mac_link_down() and pcs_link_down() methods After reset, MAC driver calls phylink_replay_link_end(): - Triggers phylink mac_config() -> pcs_config() -> mac_link_up() -> pcs_link_up() methods. MAC and PCS registers are restored with no other custom driver code. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
This approach looks reasonable from a quick glance (which is all I currently have time to do at the moment.) Reviewed-by: Russell King (Oracle) <redacted> Thanks! -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!