pcs_link_up(9)
π
pcs_link_up β program the PCS for the resolved link configuration
Okay bestie, welcome to the pcs_link_up(9) page β straight out of the Kernel API Manual, no cap. Let's get into it. π¦
β¨ SYNOPSIS β¨
void pcs_link_up (struct phylink_pcs *pcs , unsigned int neg_mode ,
phy_interface_t interface , int speed , int duplex );
π ARGUMENTS π
pcsβ a pointer to astruct phylink_pcs. Your main character struct, literally. πneg_modeβ the link negotiation mode (peep the DESCRIPTION below, it's all explained there π).interfaceβ the link'stypedef phy_interface_tmode.speedβ the link speed. Zoom zoom. π₯duplexβ the link duplex.
πΈ DESCRIPTION πΈ
So this call gets made just before mac_link_up, and its whole job is to inform the PCS of the resolved link parameters. Think of it as the little heads-up text before the main event π«Ά.
Real talk on when it actually matters: a PCS operating in SGMII mode without in-band AN needs to be manually configured for the link and duplex setting. That's the case where this is doing the work. Otherwise? It should be a no-op β literally just vibing, doing nothing. π
Now, the mode argument β you should test that via the phylink_mode_*() family of functions. Or, for a PCS that sets pcs->neg_mode to true, you test it against the PHYLINK_PCS_NEG_* definitions instead. Pick the right one for your setup, don't mix and match bestie. π
π SEE ALSO π
- Kernel file
./include/linux/phylink.hπ struct phylink_link_state(9)struct phylink_config(9)struct phylink_mac_ops(9)mac_get_caps(9)mac_select_pcs(9)mac_prepare(9)mac_config(9)mac_finish(9)mac_link_down(9)mac_link_up(9)mac_disable_tx_lpi(9)mac_enable_tx_lpi(9)mac_wol_set(9)struct phylink_pcs(9)struct phylink_pcs_ops(9)pcs_validate(9)pcs_inband_caps(9)pcs_enable(9)pcs_disable(9)pcs_get_state(9)pcs_config(9)pcs_an_restart(9)pcs_disable_eee(9)pcs_enable_eee(9)pcs_pre_init(9)phylink_get_link_timer_ns(9)phylink_mac_implements_lpi(9)
β¨ and that's the whole page, bestie β¨ π§ This one lives under ./include/linux, dated October 2026 β so like, future vibes fr fr. Go configure that PCS and slay. ππ
π¦ 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