genphy_c45_read_lpa(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– genphy_c45_read_lpa (9) β€” Kernel API Manual, bestie edition πŸ’–

okay so welcome to the group chat, the manual name is literally genphy_c45_read_lpa(9) and today we're reading the link partner's whole vibe. no cap.


✨ NAME ✨

genphy_c45_read_lpa β€” read the link partner advertisement and pause 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

int genphy_c45_read_lpa (struct phy_device *phydev );

πŸŽ€ ARGUMENTS πŸŽ€

  • phydev β€” the target phy_device struct. that's the main character right there πŸ‘‘

🌸 DESCRIPTION 🌸

okay so picture this: we read the Clause 45 defined base (7.19) and 10G (7.33) status registers, and we fill in the link partner advertisement, pause and asym_pause members in phydev. the way that it just… populates the struct. iconic. πŸ’…

key deets, bestie, don't skip:

  • this assumes that the auto-negotiation MMD is present ✨
  • and that the backplane bit (7.48.0) is clear ✨
  • Clause 45 PHY drivers are expected to fill in the remainder of the link partner advert from vendor registers β€” like yes, do the rest yourself, we only did the base and 10G part πŸ™ˆ

no cap, that's the whole job. slay.

⭐ reminder: the assumptions above are load-bearing. auto-negotiation MMD present, backplane bit 7.48.0 clear. don't come for me if you skip those.

πŸ’œ SEE ALSO πŸ’œ

the kernel file is ./drivers/net/phy/phy-c45.c, and here's the whole friend group πŸ”₯:


and that's the page, bestie 🧚 this one lives in ./drivers/net/phy, dated October 2026 β€” go read your PHYs, ily, mwah πŸ’‹

πŸ“¦ where this page comes from