STRUCT MSI_DEVICE_DATA(9)
π 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 frmutexβ 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 π«Ά:
struct msi_ctrl(9)msi_alloc_desc(9)msi_domain_insert_msi_desc(9)msi_domain_free_msi_descs_range(9)msi_domain_add_simple_msi_descs(9)msi_setup_device_data(9)__msi_lock_descs(9)__msi_unlock_descs(9)msi_domain_first_desc(9)msi_next_desc(9)msi_domain_get_virq(9)msi_device_populate_sysfs(9)msi_device_destroy_sysfs(9)msi_domain_set_affinity(9)msi_create_irq_domain(9)msi_create_parent_irq_domain(9)msi_parent_init_dev_msi_info(9)msi_create_device_irq_domain(9)msi_remove_device_irq_domain(9)msi_match_device_irq_domain(9)msi_domain_alloc_irqs_range_locked(9)msi_domain_alloc_irqs_range(9)msi_domain_alloc_irqs_all_locked(9)msi_domain_alloc_irq_at(9)msi_device_domain_alloc_wired(9)msi_domain_free_irqs_range_locked(9)msi_domain_free_irqs_range(9)msi_domain_free_irqs_all_locked(9)msi_domain_free_irqs_all(9)msi_device_domain_free_wired(9)msi_get_domain_info(9)msi_device_has_isolated_msi(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms