>>> Well, this is not supposed to be a perfect solution yet, but instead a >>> basis for discussion. What I'd like to find out is: >>> >>> - What is the minimum granularity for associating a device with its MSI >>> domain in existing platforms? >> >> PCI device, after Gerry's msi irq domain patchset which now in linux-next, >> in x86, we will find msi irq domain by pci_dev. > > Are you *really* associating the MSI domain on a per pci-device basis? > That is, you have devices on the same PCI bus talking to different MSI hw? Yes. > >> I generally agree your first patch which associate basic device with msi irq domain. >> >>> - What topology data structures do you use to find out what MSI >>> controller a device should be matched with? >> >> Now only arm and arm64 use msi controller to setup/teardown msi irqs, >> in arm, now msi controller saved in pci_sys_data, and for arm64, it seems >> to be saved in pci_bus. For a more common method to find msi controller/irq domain, >> I prefer pci_dev/device. > > Forget about msi_controller, the whole goal of this series is to make it > obsolete. On your x86 platform, what how do you identify which MSI > domain should be associated with a given PCI device? Surely you must > have a set of data structures or ACPI tables which give you that > information. Yes, by ACPI DMAR table. > >>> - What in-tree platform already has this requirements? >> >> As mentioned above, x86 does. > > Let me rephrase that in a non-ambiguous manner: can you point me to a > file implementing this in mainline? Please refer to arch/x86/kernel/apic/msi.c native_setup_msi_irqs() in linux-next tree. Thanks! Yijing. > > Thanks, > > M. > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html