STRUCT MSI_DEVICE_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct msi_device_data(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” this is the page for struct msi_device_data, which is literally the per-device MSI data situation ✨


πŸŽ€ NAME πŸŽ€

struct msi_device_data β€” MSI per device data, no cap 🫢


🌸 SYNOPSIS 🌸

struct msi_device_data {
    unsigned long                   properties;
    struct mutex                    mutex;
    struct msi_dev_domain
__domains[MSI_MAX_DEVICE_IRQDOMAINS];
    unsigned long                   __iter_idx;
 };

✨ Members ✨

okay the glow-up here is the member list, and every single one of them eats πŸ’…

  • properties β€” the MSI properties that are actually interesting to drivers πŸ‘€ like this is the stuff drivers care about, fr fr
  • mutex β€” a mutex that protects the MSI descriptor store πŸ”’ she's the bodyguard, do not touch the descriptors without her
  • __domains β€” internal data for per device MSI domains 🧚 the private lil sanctuary, not for you
  • __iter_idx β€” the index used to search for the next entry for iterators πŸ”Ž she keeps track of where you are in the walk
ngl the double-underscore girlies (__domains, __iter_idx) are internal β€” that naming is the vibe check telling you to back off πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, in the kernel file ./kernel/irq/msi.c 🫢:


and that's the whole page bestie, go be iconic with your MSI descriptors πŸ’œ

this lil manual page comes from ./kernel/irq, dated October 2026 β€” mwah, see u in the group chat πŸŽ€πŸ’–

πŸ“¦ where this page comes from