msi_parent_i...dev_msi_info(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, this is the Kernel API Manual page for msi_parent_init_dev_msi_info, and the header is out here looking like msi_parent_i...dev_msi_info(9) because truncation said slay πŸ’…. Its whole mission? Delegate initialization of device MSI info down in the domain hierarchy. That's the name, that's the vibe, no cap. 🫢


✨ SYNOPSIS ✨

bool msi_parent_init_dev_msi_info (struct device *dev , struct
irq_domain *domain , struct irq_domain *msi_parent_domain , struct
msi_domain_info *msi_child_info );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the device for which the domain should be created. like, the main character device in question πŸ’…
  • domain β€” the domain in the hierarchy this op is being called on.
  • msi_parent_domain β€” the IRQ_DOMAIN_FLAG_MSI_PARENT domain for the child to be created.
  • msi_child_info β€” the MSI domain info of the IRQ_DOMAIN_FLAG_MSI_DEVICE domain to be created.

πŸ”₯ RETURN πŸ”₯

true on success, false otherwise. that's it. binary slay. ✨


🧚 DESCRIPTION 🧚

This is the most complex problem of per device MSI domains and the underlying interrupt domain hierarchy β€” like the final boss of domain setup, fr fr. 😭

The device domain to be initialized requests the broadest feature set possible, and the underlying domain hierarchy puts restrictions on it.

That's trivial for a simple parent->child relationship, but it gets interesting with an intermediate domain: root->parent->child. The intermediate 'parent' can expand the capabilities which the 'root' domain is providing. So that creates a classic hen and egg problem: Which entity is doing the restrictions/expansions? 🐣

One solution is to let the root domain handle the initialization β€” that's why there is the domain and the msi_parent_domain pointer. periodt. πŸ’–


🌈 SEE ALSO 🌈

the whole gang is here, bestie:

mwah πŸ’‹ β€” this page came from ./kernel/irq, stamped October 2026, and signed msi_parent_i...dev_msi_info(9). bye bestie, go delegate those MSI infos πŸ’–

πŸ“¦ where this page comes from