diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-10-07 10:37:48 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-10-07 10:37:48 +0000 |
commit | 736419452b6a3e219cddaecee1fb0ac840a81a50 (patch) | |
tree | 9e299d7627d39b1a8d2f3a1baaf243bdf323037f /target/linux/cns3xxx | |
parent | 0563e0225e6db1328ed17a0e4bd0aecb5047304a (diff) | |
download | upstream-736419452b6a3e219cddaecee1fb0ac840a81a50.tar.gz upstream-736419452b6a3e219cddaecee1fb0ac840a81a50.tar.bz2 upstream-736419452b6a3e219cddaecee1fb0ac840a81a50.zip |
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 <psidhu@gateworks.com>
SVN-Revision: 42830
Diffstat (limited to 'target/linux/cns3xxx')
-rw-r--r-- | target/linux/cns3xxx/patches-3.10/310-pci_isolated_interrupts.patch | 7 |
1 files 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 <linux/gpio.h> #include <linux/dma-mapping.h> #include <linux/serial_core.h> -@@ -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); |