PCI/MSI: Allow the MSI domain to be device-specific
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 2 Oct 2015 13:43:06 +0000 (14:43 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Fri, 16 Oct 2015 12:07:16 +0000 (13:07 +0100)
commit54fa97eeb9e22b47d68b67ee00987afa7fbc2178
treebf5cbab9a60df9291dcc92592f21a1c52cc593ee
parent098259eb16675a83e1d6ea31e06dc3ec152810a2
PCI/MSI: Allow the MSI domain to be device-specific

So far, we've always considered that for a given PCI device, its
MSI controller was either set by the architecture-specific
pcibios hook, or simply inherited from the host bridge.

This doesn't cover things like firmware-defined topologies like
msi-map (DT) or IORT (ACPI), which can provide information about
which MSI controller to use on a per-device basis.

This patch adds the necessary hook into the MSI code to allow this
feature, and provides the msi-map functionnality as a first
implementation.

Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/pci/msi.c
drivers/pci/probe.c
include/linux/msi.h