Re: Aw: Re: [PATCH] pci: mediatek: fix warning in msi.h

From: Marc Zyngier
Date: Tue Nov 03 2020 - 05:29:22 EST


On 2020-11-03 10:16, Thomas Gleixner wrote:
On Tue, Nov 03 2020 at 09:54, Marc Zyngier wrote:
On 2020-11-02 22:18, Thomas Gleixner wrote:
On Mon, Nov 02 2020 at 17:16, Thomas Gleixner wrote:
On Mon, Nov 02 2020 at 11:30, Marc Zyngier wrote:
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -871,6 +871,8 @@ static void pci_set_bus_msi_domain(struct pci_bus
*bus)
d = pci_host_bridge_msi_domain(b);

dev_set_msi_domain(&bus->dev, d);
+ if (!d)
+ bus->bus_flags |= PCI_BUS_FLAGS_NO_MSI;

Hrm, that might break legacy setups (no irqdomain support). I'd rather
prefer to explicitly tell the pci core at host registration time.

s/might break/ breaks / Just validated :)

For my own edification, can you point me to the failing case?

Any architecture which selects PCI_MSI_ARCH_FALLBACKS and does not have
irqdomain support runs into:

if (!d)
bus->bus_flags |= PCI_BUS_FLAGS_NO_MSI;

which in turn makes pci_msi_supported() return 0 and consequently makes
pci_enable_msi[x]() fail.

I pointer that out in [1], together with a potential fix. Not sure if
anything else breaks though.

Thanks,

M.

[1] https://lore.kernel.org/r/336d6588567949029c52ecfbb87660c1@xxxxxxxxxx/
--
Jazz is not dead. It just smells funny...