PCI: iproc: Support multi-MSI only on uniprocessor kernel
authorSandor Bodo-Merle <sbodomerle@gmail.com>
Tue, 22 Jun 2021 15:26:30 +0000 (17:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:05:52 +0000 (16:05 +0200)
commit607caa080119f4972949fe313481c12b3a50fbbf
treefc6b2a9e1879474b48045c4c17e7f77c022b64ce
parent54dc6fcce3de6c6efa9a3dfb1e5fb3a0d68df459
PCI: iproc: Support multi-MSI only on uniprocessor kernel

[ Upstream commit 2dc0a201d0f59e6818ef443609f0850a32910844 ]

The interrupt affinity scheme used by this driver is incompatible with
multi-MSI as it implies moving the doorbell address to that of another MSI
group.  This isn't possible for multi-MSI, as all the MSIs must have the
same doorbell address. As such it is restricted to systems with a single
CPU.

Link: https://lore.kernel.org/r/20210622152630.40842-2-sbodomerle@gmail.com
Fixes: fc54bae28818 ("PCI: iproc: Allow allocation of multiple MSIs")
Reported-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Sandor Bodo-Merle <sbodomerle@gmail.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Pali Rohár <pali@kernel.org>
Acked-by: Ray Jui <ray.jui@broadcom.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/pcie-iproc-msi.c