__igc_access_xmdio_reg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __igc_access_xmdio_reg(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so welcome to the __igc_access_xmdio_reg</p> page from the Kernel API Manual ✨ this one's all about poking at an XMDIO register β€” yes, the whole function is literally just "read or write one XMDIO register" and honestly? iconic. short, sweet, does one thing. we love a focused main character 🫢


✨ NAME ✨

__igc_access_xmdio_reg β€” Read/write XMDIO register πŸ’«

like, that's it. that's the whole gig. reading, writing, XMDIO, register. periodt πŸ’…


🌸 SYNOPSIS 🌸

s32 __igc_access_xmdio_reg (struct igc_hw *hw , u16 address , u8
dev_addr , u16 *data , bool read );

it hands you back an s32 (no cap, that's the return type, it's right there) and it takes five things. four of them are info, one of them is a pointer you're gonna write through. bestie, be careful with that pointer πŸ™ˆ


πŸ¦‹ ARGUMENTS πŸ¦‹

  • hw β€” pointer to the HW structure 🧚 like, the whole hardware context, this is where everything lives
  • address β€” XMDIO address to program 🌸 the spot you're aiming at
  • dev_addr β€” device address to program πŸ’– which device we're talking to, noted as a u8 btw
  • data β€” pointer to value to read/write from/to the XMDIO address πŸ‘‘ ok so this one's a pointer to a u16 and it's doing double duty β€” it's the value coming in when you write, and the value going out when you read. flexible! also means you better not hand it garbage, fr fr 😭
  • read β€” boolean flag to indicate read or write ⭐ literally the vibe check of the whole call: true means read, false means write. the whole behaviour of this function hinges on this one little bool, we stan a decisive king

🌈 SEE ALSO 🌈

first up, the actual source, in case you wanna go read the real thing (and honestly you should):

  • Kernel file ./drivers/net/ethernet/intel/igc/igc_phy.c πŸ“

and then the whole friend group, all of them, in the order the manual gives them πŸ’œ:

nineteen whole cross-references, no skips, we listed every single one because that's what besties do 🫢

ok real talk: this page gives you the signature and the arg meanings, and that's it β€” no error codes listed here, no extra behaviour notes, so don't go inventing any. if you need the deep lore it's in igc_phy.c. iykyk πŸ’€

and that's the page!! this lil beauty lives in ./drivers/net/ethernet/intel/igc, dated October 2026, and the manual itself calls it __igc_access_xmdio_reg(9). mwah πŸ’‹ slay, go read your registers responsibly βœ¨πŸŽ€

πŸ“¦ where this page comes from