From 4934a03cda29a140e6d82fbb0c3e22fe71d7153f Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 7 Oct 2014 10:37:48 +0000 Subject: [PATCH] cns3xxx: fix shared PCI interrupt mapping This patch originally failed to combine INTA/B/C/D onto a single ARM CPU interrupt. Instead, it mapped INTA/B/C and excluded D. This patch corrects the issue by mapping all four interrupts to the single ARM CPU interrupt. The original intent of the patch still holds as the newer PCB take advantage of isolated interrupts. This fix only applies to older PCB's that do not route INTA/B/C/D to unique external ARM CPU interrupts. Signed-off-by: Pushpal Sidhu git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42830 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../linux/cns3xxx/patches-3.10/310-pci_isolated_interrupts.patch | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/target/linux/cns3xxx/patches-3.10/310-pci_isolated_interrupts.patch b/target/linux/cns3xxx/patches-3.10/310-pci_isolated_interrupts.patch index 03f0009393..d181cc2fc9 100644 --- a/target/linux/cns3xxx/patches-3.10/310-pci_isolated_interrupts.patch +++ b/target/linux/cns3xxx/patches-3.10/310-pci_isolated_interrupts.patch @@ -30,7 +30,7 @@ #include #include #include -@@ -869,12 +870,45 @@ static int laguna_register_gpio(struct g +@@ -869,12 +870,42 @@ static int laguna_register_gpio(struct g return ret; } @@ -70,10 +70,7 @@ + } + printk("laguna: using shared PCI interrupts: irq%d\n", + IRQ_CNS3XXX_PCIE0_DEVICE); -+ irqs[0] = IRQ_CNS3XXX_PCIE0_DEVICE; -+ irqs[1] = IRQ_CNS3XXX_PCIE0_DEVICE; -+ irqs[2] = IRQ_CNS3XXX_PCIE0_DEVICE; -+ return cns3xxx_pcie_init(irqs, NULL); ++ return cns3xxx_pcie_init(NULL, NULL); } subsys_initcall(laguna_pcie_init); -- 2.11.0