Re: [PATCH 2/6] PCI/MSI: add hooks to populate the msi_domain field

From: Yijing Wang
Date: Tue Dec 09 2014 - 07:24:48 EST

>>> 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?


>> 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,
> M.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at