pcs_link_up(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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 a struct 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's typedef phy_interface_t mode.
  • 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 πŸ‘‘


✨ 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