linux/drivers/pci/host
Paul Burton b8550f11bd PCI: xilinx-nwl: Translate INTx range to hwirqs 0-3
The devicetree binding documentation for the Xilinx NWL PCIe root port
bridge shows an example which uses an interrupt-map property to map PCI
INTx interrupts to hardware IRQ numbers 1-4. The driver creates an IRQ
domain with size 4, which therefore covers the hwirq range 0-3.

This means that if we attempt to make use of the INTD interrupt then we're
likely to hit a WARN() in irq_domain_associate() because INTD, or hwirw=4,
is outside of the range covered by the IRQ domain.  irq_domain_associate()
will then return -EINVAL and we'll be unable to make use of INTD.

Fix this by making use of the pci_irqd_intx_xlate() helper function to
translate the 1-4 range used in the DT to a 0-3 range used within the
driver, and stop adding 1 to decoded hwirq numbers.

Whilst cleaning up INTx handling we make use of the new PCI_NUM_INTX macro
& drop the custom INTX definitions.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
2017-08-16 11:44:37 -05:00
..
Kconfig Merge branch 'pci/host-tango' into next 2017-07-07 13:42:25 -05:00
Makefile Merge branch 'pci/host-tango' into next 2017-07-07 13:42:25 -05:00
pci-aardvark.c PCI: aardvark: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-07-02 16:14:23 -05:00
pci-ftpci100.c PCI: faraday: Add clock handling 2017-07-02 18:42:35 -05:00
pci-host-common.c PCI: generic: Drop pci_fixup_irqs() 2017-07-02 16:51:19 -05:00
pci-host-generic.c PCI: Don't allow unbinding host controllers that aren't prepared 2017-04-28 10:38:00 -05:00
pci-hyperv.c PCI: hv: Use vPCI protocol version 1.2 2017-07-02 18:43:09 -05:00
pci-mvebu.c Merge branch 'pci/msi' into next 2017-04-28 10:34:19 -05:00
pci-rcar-gen2.c PCI: rcar-gen2: Make of_device_ids const 2017-07-02 18:45:31 -05:00
pci-tegra.c PCI: tegra: Do not allocate MSI target memory 2017-07-02 18:46:20 -05:00
pci-thunder-ecam.c PCI: Don't allow unbinding host controllers that aren't prepared 2017-04-28 10:38:00 -05:00
pci-thunder-pem.c PCI: Don't allow unbinding host controllers that aren't prepared 2017-04-28 10:38:00 -05:00
pci-versatile.c PCI: versatile: Add local struct device pointers 2017-07-02 18:46:43 -05:00
pci-xgene-msi.c PCI/MSI: pci-xgene-msi: Fix CPU hotplug registration handling 2017-01-17 08:41:51 -06:00
pci-xgene.c PCI: xgene: Move to struct pci_host_bridge IRQ mapping functions 2017-07-02 16:51:19 -05:00
pcie-altera-msi.c Merge branches 'pci/host-aardvark', 'pci/host-altera', 'pci/host-artpec', 'pci/host-designware', 'pci/host-hv', 'pci/host-keystone', 'pci/host-rcar', 'pci/host-rockchip', 'pci/host-tegra' and 'pci/host-xilinx' into next 2016-10-05 13:59:14 -05:00
pcie-altera.c PCI: altera: Drop pci_fixup_irqs() 2017-07-02 16:51:19 -05:00
pcie-iproc-bcma.c PCI: iproc: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-07-02 16:14:24 -05:00
pcie-iproc-msi.c PCI: iproc: Add BCMA type 2016-11-14 15:55:33 -06:00
pcie-iproc-platform.c PCI: iproc: Convert PCI scan API to pci_scan_root_bus_bridge() 2017-07-02 16:14:24 -05:00
pcie-iproc.c PCI: iproc: Drop pci_fixup_irqs() 2017-07-02 16:51:18 -05:00
pcie-iproc.h PCI: iproc: Save host bridge window resource in struct iproc_pcie 2017-03-09 11:27:07 -06:00
pcie-mediatek.c PCI: mediatek: Add MediaTek PCIe host controller support 2017-07-02 18:44:45 -05:00
pcie-rcar.c PCI: rcar: Drop pci_fixup_irqs() 2017-07-02 16:51:18 -05:00
pcie-rockchip.c PCI: rockchip: Check for pci_scan_root_bus_bridge() failure correctly 2017-07-12 12:50:11 -05:00
pcie-tango.c PCI: tango: Add Sigma Designs Tango SMP8759 PCIe host bridge support 2017-07-07 13:41:28 -05:00
pcie-xilinx-nwl.c PCI: xilinx-nwl: Translate INTx range to hwirqs 0-3 2017-08-16 11:44:37 -05:00
pcie-xilinx.c PCI: xilinx: Translate INTx range to hwirqs 0-3 2017-08-16 11:44:36 -05:00
vmd.c pci-v4.13-changes 2017-07-08 15:51:57 -07:00