Patch "PCI: aardvark: Move to struct pci_host_bridge IRQ mapping functions" has been added to the 4.13-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
PCI: aardvark: Move to struct pci_host_bridge IRQ mapping functions
to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
pci-aardvark-move-to-struct-pci_host_bridge-irq-mapping-functions.patch
and it can be found in the queue-4.13 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
407dae1e4415acde2d9f48bb76361893c4653756Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <[email protected]>
Date: Mon, 9 Oct 2017 09:00:49 +0200
Subject: PCI: aardvark: Move to struct pci_host_bridge IRQ mapping functions
From: Thomas Petazzoni <[email protected]>
commit 407dae1e4415acde2d9f48bb76361893c4653756 upstream.
struct pci_host_bridge gained hooks to map/swizzle IRQs, so that the IRQ mapping can be done automatically by PCI core code through the pci_assign_irq() function instead of resorting to arch-specific implementation callbacks to carry out the same task which force PCI host bridge drivers implementation to implement per-arch kludges to carry out a task that is inherently architecture agnostic.
Commit 769b461fc0c0 ("arm64: PCI: Drop DT IRQ allocation from pcibios_alloc_irq()") was assuming all PCI host controller drivers had been converted to use ->map_irq(), but that wasn't the case: pci-aardvark had not been converted. Due to this, it broke the support for legacy PCI interrupts when using the pci-aardvark driver (used on Marvell Armada 3720 platforms).
In order to fix this, we make sure the ->map_irq and ->swizzle_irq fields of pci_host_bridge are properly filled in.
--- drivers/pci/host/pci-aardvark.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/pci/host/pci-aardvark.c +2 -0
@@ -936,6 +936,8 @@ static int advk_pcie_probe(struct platfo bridge->sysdata = pcie; bridge->busnr =0 ; bridge->ops = &advk_pcie_ops; + bridge->map_irq = of_irq_parse_and_map_pci; + bridge->swizzle_irq = pci_common_swizzle; ret =pci_scan_root_bus_bridge (bridge);if (ret <0 ) {
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/pci-aardvark-move-to-struct-pci_host_bridge-irq-mapping-functions.patch