Re: [PATCH v3 net-next 2/4] net: phylink: introduce helpers for replaying link callbacks

From: Russell King (Oracle)

Date: Mon Jan 19 2026 - 09:03:08 EST


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@xxxxxxx>

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) <rmk+kernel@xxxxxxxxxxxxxxx>

Thanks!

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!