__libie_pci_get_mmio_addr(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __libie_pci_get_mmio_addr β€” like, the whole vibe

okay so bestie, welcome to the Kernel API Manual ✨ and specifically to section 9 and to __libie_pci_get_mmio_addr, which is genuinely one of those little helpers that just works and we love her for it 🫢


🌸 NAME 🌸

__libie_pci_get_mmio_addr β€” get the MMIO virtual address πŸ”₯

✨ SYNOPSIS ✨

void __iomem * __libie_pci_get_mmio_addr (struct libie_mmio_info
*mmio_info , resource_size_t offset , int num_args , ... );

no cap, that's the whole signature β€” she takes a pointer, an offset, a count, and then vibes with whatever else you hand her πŸ’…

πŸŽ€ ARGUMENTS πŸŽ€

  • mmio_info β€” contains list of MMIO regions. that's it, that's the list, she's holding the whole map πŸ—ΊοΈ
  • offset β€” register offset to find. you're like "hey where does this one live" and she goes and finds it πŸ”
  • num_args β€” number of additional arguments present. gotta tell her how many lil extras are coming πŸ’«
  • ... β€” optional BAR index (0 by default). so if you don't say anything, she just assumes 0, queen of low-effort defaults πŸ‘‘

πŸ¦‹ DESCRIPTION πŸ¦‹

This function finds the virtual address of a register offset by iterating through the non-linear MMIO regions that are mapped by the driver.

like literally, she walks through the non-linear MMIO regions β€” mapped by the driver β€” one by one, until she finds the virtual address for the register offset you asked about. it's giving "search party but make it elegant" 🧚

The list is traversed oldest to newest, so accessing an older mapping via this function while deleting a newer one is allowed. iykyk β€” that ordering is the whole point, and yes, you can absolutely read an old mapping while a newer one is being torn down. slay πŸ’…

πŸ’€ RETURN πŸ’€

valid MMIO virtual address or NULL.

that's it. you get an address, or you get NULL and you can cry about it 😭 (fr fr, check for the NULL, bestie.)

🌈 SEE ALSO 🌈


and that's the page!! πŸŽ€ source/version is ./drivers/net/ethernet/intel/l..., dated October 2026 β€” mwah, go read the other ones too, they're all in the same little family πŸ‘‘πŸ’–

πŸ“¦ where this page comes from