linux/drivers/pci/controller
Vignesh Raghavendra 9a5595ab21 PCI: dwc: pci-dra7xx: Fix MSI IRQ handling
Due to an issue with PCIe wrapper logic built for the DWC PCIe IP on
dra7xx, the driver needs to ensure that there are no pending MSI IRQ
vector set (i.e PCIE_MSI_INTR0_STATUS reads 0 at least once) before
exiting IRQ handler otherwise the dra7xx PCIe wrapper will not register
new MSI IRQs even though PCIE_MSI_INTR0_STATUS reports IRQs are pending.

Therefore it's no longer possible to use default IRQ handler provided by
DWC library.

Add an irqchip implementation inside pci-dra7xx.c and install new MSI
IRQ handler to handle the above errata.

This fixes a bug, where PCIe wifi cards with 4 DMA queues like Intel
8260 used to throw following error and stall during ping/iperf3 tests.

[   97.776310] iwlwifi 0000:01:00.0: Queue 9 stuck for 2500 ms.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
2020-03-27 14:40:23 +00:00
..
cadence Merge branch 'remotes/lorenzo/pci/mmio-dma-ranges' 2019-11-28 08:54:53 -06:00
dwc PCI: dwc: pci-dra7xx: Fix MSI IRQ handling 2020-03-27 14:40:23 +00:00
Kconfig Merge branch 'remotes/lorenzo/pci/brcmstb' 2020-01-29 17:00:03 -06:00
Makefile PCI: brcmstb: Add Broadcom STB PCIe host controller driver 2020-01-28 13:54:00 +00:00
pci-aardvark.c Merge branch 'remotes/lorenzo/pci/mmio-dma-ranges' 2019-11-28 08:54:53 -06:00
pci-ftpci100.c PCI: ftpci100: Use inbound resources for setup 2019-11-20 17:00:14 +00:00
pci-host-common.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pci-host-generic.c PCI: Fix comment typos 2019-04-13 11:17:15 -05:00
pci-hyperv-intf.c PCI: hv: Add a Hyper-V PCI interface driver for software backchannel interface 2019-08-22 00:25:12 -07:00
pci-hyperv.c Merge branch 'remotes/lorenzo/pci/hv' 2019-11-28 08:54:43 -06:00
pci-mvebu.c PCI: mvebu: mvebu_pcie_map_registers __iomem fix 2019-10-17 11:02:47 +01:00
pci-rcar-gen2.c
pci-tegra.c treewide: remove redundant IS_ERR() before error code check 2020-02-04 03:05:27 +00:00
pci-thunder-ecam.c
pci-thunder-pem.c PCI: Remove unused includes and superfluous struct declaration 2019-11-21 07:49:29 -06:00
pci-v3-semi.c PCI: v3-semi: Use inbound resources for setup 2019-11-20 17:00:14 +00:00
pci-versatile.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pci-xgene-msi.c
pci-xgene.c PCI: xgene: Use inbound resources for setup 2019-11-20 17:00:14 +00:00
pcie-altera-msi.c PCI: altera-msi: Allow building as module 2019-05-30 15:34:54 +01:00
pcie-altera.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pcie-brcmstb.c PCI: brcmstb: Add MSI support 2020-01-28 13:54:15 +00:00
pcie-iproc-bcma.c
pcie-iproc-msi.c PCI: iproc-msi: Fix __iomem annotation in decode_msi_hwirq() 2019-10-17 11:01:24 +01:00
pcie-iproc-platform.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pcie-iproc.c PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in 2019-12-12 17:21:36 -06:00
pcie-iproc.h PCI: iproc: Reject unconfigured physical functions from PAXC 2018-07-13 11:56:55 +01:00
pcie-mediatek.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pcie-mobiveil.c Merge branch 'remotes/lorenzo/pci/mmio-dma-ranges' 2019-11-28 08:54:53 -06:00
pcie-rcar.c Merge branch 'remotes/lorenzo/pci/mmio-dma-ranges' 2019-11-28 08:54:53 -06:00
pcie-rockchip-ep.c PCI: rockchip: Fix rockchip_pcie_ep_assert_intx() bitwise operations 2019-04-15 10:39:26 +01:00
pcie-rockchip-host.c PCI: rockchip: Fix IO outbound ATU register number 2019-12-12 15:25:37 -06:00
pcie-rockchip.c
pcie-rockchip.h Merge branch 'remotes/lorenzo/pci/mmio-dma-ranges' 2019-11-28 08:54:53 -06:00
pcie-tango.c
pcie-xilinx-nwl.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pcie-xilinx.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
vmd.c PCI: vmd: Add two VMD Device IDs 2020-01-29 16:51:37 -06:00