phylink_replay_link_begin(9)
π phylink_replay_link_begin(9) β a Kernel API Manual moment
okay so bestie, you're in the <pink>phylink_replay_link_begin</pink> page of the Kernel API Manual, and honestly? this one is short, sweet, and lowkey iconic. it's giving "small helper, big job." let's get into it β¨
β¨ NAME β¨
phylink_replay_link_begin β begin replay of link callbacks for driver which loses state π
like, the driver forgot everything (state loss era π) and now we gotta start over. this is the "begin" half, iykyk.
π¦ SYNOPSIS π¦
void phylink_replay_link_begin (struct phylink *pl );
nothing returned, nothing gained β just vibes and a void. it's giving "i do the work, i don't need credit." π
π«Ά ARGUMENTS π«Ά
plβ a pointer to astruct phylinkreturned fromphylink_create. ngl, if you didn't get it fromphylink_create, bestie... what are you doing. π
πΈ DESCRIPTION πΈ
so this is a helper for MAC drivers which may perform a destructive reset at runtime. yes, destructive. that's not a cute word and we're not gonna pretend it is. π
when that happens, two things get called:
- the own driver's
mac_link_downmethod - the
pcs_link_downmethod of the split PCS (if any) π§
it's similar to phylink_stop, except it does not alter the state of the phylib PHY β the assumption being that the PHY is not affected by the MAC destructive reset. so like... the PHY is fine, she's unbothered, she's in her main character energy, and we leave her alone. periodt. π
lowkey important: the "it does not alter the state of the phylib PHY" part is the whole point of this function existing. that's the difference. don't miss it fr fr.
π₯ SEE ALSO π₯
the whole phylink friend group showed up, and they all came dressed as manpage refs. every single one. no gatekeeping π«Ά
Kernel file ./drivers/net/phy/phylink.cstruct phylink(9)phylink_set_port_modes(9)phylink_interface_max_speed(9)phylink_caps_to_link_caps(9)phylink_caps_to_linkmodes(9)phylink_limit_mac_speed(9)phylink_cap_from_speed_duplex(9)phylink_get_capabilities(9)phylink_validate_mask_caps(9)phylink_pcs_neg_mode(9)phylink_set_fixed_link(9)phylink_create(9)phylink_destroy(9)phylink_expects_phy(9)phylink_connect_phy(9)phylink_of_phy_connect(9)phylink_fwnode_phy_connect(9)phylink_disconnect_phy(9)phylink_mac_change(9)phylink_pcs_change(9)phylink_start(9)phylink_stop(9)phylink_rx_clk_stop_block(9)phylink_rx_clk_stop_unblock(9)phylink_suspend(9)phylink_prepare_resume(9)phylink_resume(9)phylink_ethtool_get_wol(9)phylink_ethtool_set_wol(9)phylink_ethtool_ksettings_get(9)phylink_ethtool_ksettings_set(9)phylink_ethtool_nway_reset(9)phylink_ethtool_get_pauseparam(9)phylink_ethtool_set_pauseparam(9)phylink_get_eee_err(9)phylink_ethtool_get_eee(9)phylink_ethtool_set_eee(9)phylink_mii_ioctl(9)phylink_speed_down(9)phylink_speed_up(9)phylink_decode_usxgmii_word(9)phylink_decode_usgmii_word(9)phylink_mii_c22_pcs_decode_state(9)phylink_mii_c22_pcs_get_state(9)phylink_mii_c22_pcs_encode_advertisement(9)phylink_mii_c22_pcs_config(9)phylink_mii_c22_pcs_an_restart(9)phylink_replay_link_end(9)
and yes, phylink_replay_link_end(9) is right there at the end, because every begin needs her end. balance. π
and that's the whole page!! π this little beauty lives over in ./drivers/net/phy, dated October 2026, and the whole thing is filed under phylink_replay_link_begin(9) in the Kernel API Manual. go read phylink_replay_link_end(9) next and complete the set, bestie β you've got this πβ¨π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms