PCI/MSI: Make pci_host_common_probe() declare its reliance on MSI domains
authorMarc Zyngier <maz@kernel.org>
Tue, 30 Mar 2021 15:11:42 +0000 (16:11 +0100)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tue, 20 Apr 2021 13:11:22 +0000 (14:11 +0100)
The generic PCI host driver relies on MSI domains for MSIs to
be provided to its end-points. Make this dependency explicit.

This cures the warnings occuring on arm/arm64 VMs when booted
with PCI virtio devices and no MSI controller (no GICv3 ITS,
for example).

It is likely that other drivers will need to express the same
dependency.

Link: https://lore.kernel.org/r/20210330151145.997953-12-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/controller/pci-host-common.c

index 6ab694f8d28365d2b0a91b449c548ee90873b869..d3924a44db02f893115214b4ab73623e1309bf83 100644 (file)
@@ -79,6 +79,7 @@ int pci_host_common_probe(struct platform_device *pdev)
 
        bridge->sysdata = cfg;
        bridge->ops = (struct pci_ops *)&ops->pci_ops;
+       bridge->msi_domain = true;
 
        return pci_host_probe(bridge);
 }