summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2013-01-26 13:29:40 -0700
committerEric Nelson <eric.nelson@boundarydevices.com>2013-02-12 13:32:46 -0700
commit617c2e7cc0d0fd2b637863d0aa45dfef757ba2df (patch)
tree5b83df2d2a4b8f8034e1bfbce9cf4e9e55926db5
parent773a516175aab0074d8094631694f1b9884488c2 (diff)
pcie: fix legacy interrupts for bridge
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
-rw-r--r--arch/arm/mach-mx6/pcie.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-mx6/pcie.c b/arch/arm/mach-mx6/pcie.c
index 4f0a3def670e..71de7217e51f 100644
--- a/arch/arm/mach-mx6/pcie.c
+++ b/arch/arm/mach-mx6/pcie.c
@@ -440,9 +440,20 @@ imx_pcie_scan_bus(int nr, struct pci_sys_data *sys)
return bus;
}
+signed short irq_map[] = {
+ -EINVAL,
+ MXC_INT_PCIE_3, /* int a */
+ MXC_INT_PCIE_2, /* int b */
+ MXC_INT_PCIE_1, /* int c */
+ MXC_INT_PCIE_0, /* int d/MSI */
+};
+
static int __init imx_pcie_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
{
- return MXC_INT_PCIE_3;
+ int val = -EINVAL;
+ if (pin <= 4)
+ val = irq_map[pin];
+ return val;
}
static struct hw_pci imx_pci __initdata = {