Star64_linux/drivers/pci/controller/dwc
Lucas Stach 3afc8299f3 PCI: dwc: skip MSI init if MSIs have been explicitly disabled
Since 7c5925afbc (PCI: dwc: Move MSI IRQs allocation to IRQ domains
hierarchical API) the MSI init claims one of the controller IRQs as a
chained IRQ line for the MSI controller. On some designs, like the i.MX6,
this line is shared with a PCIe legacy IRQ. When the line is claimed for
the MSI domain, any device trying to use this legacy IRQs will fail to
request this IRQ line.

As MSI and legacy IRQs are already mutually exclusive on the DWC core,
as the core won't forward any legacy IRQs once any MSI has been enabled,
users wishing to use legacy IRQs already need to explictly disable MSI
support (usually via the pci=nomsi kernel commandline option). To avoid
any issues with MSI conflicting with legacy IRQs, just skip all of the
DWC MSI initalization, including the IRQ line claim, when MSI is disabled.

Fixes: 7c5925afbc ("PCI: dwc: Move MSI IRQs allocation to IRQ domains hierarchical API")
Tested-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Cc: stable@vger.kernel.org
2019-03-01 12:05:45 +00:00
..
Kconfig PCI: imx6: Add support for i.MX8MQ 2019-02-04 12:04:53 +00:00
Makefile Merge branch 'remotes/lorenzo/pci/uniphier' 2019-01-02 15:31:15 -06:00
pci-dra7xx.c PCI: dwc: dra7xx: Invoke phy_set_mode() API to set PHY mode to PHY_MODE_PCIE 2019-01-31 17:21:17 +00:00
pci-exynos.c PCI: exynos: Drop unnecessary root_bus_nr setting 2018-07-13 14:07:47 +01:00
pci-imx6.c PCI: dwc: Make use of BIT() in constant definitions 2019-03-01 10:55:32 +00:00
pci-keystone.c PCI: keystone: Cleanup macros defined in pci-keystone.c 2018-10-17 09:59:02 +01:00
pci-layerscape.c pci-v4.21-changes 2019-01-05 17:57:34 -08:00
pci-meson.c PCI: amlogic: Add the Amlogic Meson PCIe controller driver 2018-12-19 10:24:30 +00:00
pcie-armada8k.c PCI: armada8k: Add support for gpio controlled reset signal 2018-12-18 12:01:16 +00:00
pcie-artpec6.c PCI: Update xxx_pcie_ep_raise_irq() and pci_epc_raise_irq() signatures 2018-07-19 11:34:42 +01:00
pcie-designware-ep.c PCI: dwc: Print debug error message when MSI-X entry control mask bit is set 2019-02-12 19:17:33 +00:00
pcie-designware-host.c PCI: dwc: skip MSI init if MSIs have been explicitly disabled 2019-03-01 12:05:45 +00:00
pcie-designware-plat.c PCI: dwc: Remove unnecessary header include (signal.h) 2019-02-01 12:33:19 +00:00
pcie-designware.c PCI: dwc: Make use of BIT() in constant definitions 2019-03-01 10:55:32 +00:00
pcie-designware.h PCI: dwc: Remove superfluous shifting in definitions 2019-03-01 10:55:32 +00:00
pcie-hisi.c
pcie-histb.c PCI: histb: Constify dw_pcie_host_ops structure 2018-11-08 13:54:44 +00:00
pcie-kirin.c PCI: kirin: Fix section mismatch warning 2018-10-01 17:16:23 +01:00
pcie-qcom.c PCI: qcom: Don't deassert reset GPIO during probe 2019-02-28 09:46:10 +00:00
pcie-spear13xx.c PCI: spear13xx: Drop unnecessary root_bus_nr setting 2018-07-13 14:10:55 +01:00
pcie-uniphier.c PCI: uniphier: Add UniPhier PCIe host controller support 2018-12-19 10:25:44 +00:00