igc_read_xmdio_reg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… igc_read_xmdio_reg(9) πŸ’…

okay so this is a page from the Kernel API Manual, bestie β€” yes we're in kernel-doc land now, and no cap, this one's actually cute and small.


✨ NAME ✨

igc_read_xmdio_reg β€” read an XMDIO register πŸŽ€

literally what it says on the tin. you hand it an address, it goes and fetches the register value for you. slay. πŸ¦‹


🌸 SYNOPSIS 🌸

s32 igc_read_xmdio_reg (struct igc_hw *hw , u16 addr , u8 dev_addr , u16
*data );

that's the whole signature, no notes πŸ”₯


πŸ’– ARGUMENTS πŸ’–

  • hw β€” pointer to the HW structure. it's your hardware handle, the main character of the whole call. 🫢
  • addr β€” the XMDIO address to program. this is the where, and you gotta give it a real one, okay? πŸ“
  • dev_addr β€” device address to program. yep, a second address β€” think of it as which device on the bus we're talking to. πŸ’…
  • data β€” value to be read from the EMI address. it's a pointer, so the read result lands here and you get to go look at it. ⭐
ngl the four args are just: which hw, which address, which device, and where do i put the answer. that's it. that's the whole vibe check. 😭

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/net/ethernet/intel/igc/igc_phy.c β€” that's where the source actually lives, iykyk 🧚

and now the whole friend group, in the order the page gives them, no skipping, periodt:

lowercase tip from me to you: igc_write_xmdio_reg(9) is literally the sibling of this one β€” one reads, one writes. __igc_access_xmdio_reg(9) is the one hiding behind the register with double underscores, the little lowkey helper. πŸ‘‘

okay that's the page!! shoutout to the kernel API manual, source <rainbow>./drivers/net/ethernet/intel/igc</rainbow>, dated October 2026 β€” mwah, love that for us πŸ’œπŸ¦‹βœ¨ go read some registers bestie, you got this πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from