Actually route cPCI interrupts. Update inaccurate comments.
authorMaciej W. Rozycki <macro@linux-mips.org>
Tue, 1 Feb 2005 12:02:37 +0000 (12:02 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 29 Oct 2005 18:30:19 +0000 (19:30 +0100)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/pci/fixup-atlas.c

index 2406835833d68e094642c618be2c4be317e97d82..87920b245931bc1571f54a1021955e2dd19668f5 100644 (file)
@@ -1,14 +1,37 @@
+/*
+ * Copyright (C) 2003, 2004  Ralf Baechle (ralf@linux-mips.org)
+ * Copyright (C) 2005  MIPS Technologies, Inc.  All rights reserved.
+ *     Author:  Maciej W. Rozycki <macro@mips.com>
+ *
+ *  This program is free software; you can distribute it and/or modify it
+ *  under the terms of the GNU General Public License (Version 2) as
+ *  published by the Free Software Foundation.
+ *
+ *  This program is distributed in the hope it will be useful, but WITHOUT
+ *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ *  for more details.
+ *
+ *  You should have received a copy of the GNU General Public License along
+ *  with this program; if not, write to the Free Software Foundation, Inc.,
+ *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+ */
 #include <linux/config.h>
 #include <linux/init.h>
 #include <linux/pci.h>
+
 #include <asm/mips-boards/atlasint.h>
 
-#define INTD           ATLASINT_INTD
-#define INTC           ATLASINT_INTC
-#define INTB           ATLASINT_INTB
+#define PCIA           ATLASINT_PCIA
+#define PCIB           ATLASINT_PCIB
+#define PCIC           ATLASINT_PCIC
+#define PCID           ATLASINT_PCID
 #define INTA           ATLASINT_INTA
-#define SCSI           ATLASINT_SCSI
+#define INTB           ATLASINT_INTB
 #define ETH            ATLASINT_ETH
+#define INTC           ATLASINT_INTC
+#define SCSI           ATLASINT_SCSI
+#define INTD           ATLASINT_INTD
 
 static char irq_tab[][5] __initdata = {
        /*      INTA    INTB    INTC    INTD */
@@ -27,13 +50,13 @@ static char irq_tab[][5] __initdata = {
        {0,     0,      0,      0,      0 },    /* 12: Unused */
        {0,     0,      0,      0,      0 },    /* 13: Unused */
        {0,     0,      0,      0,      0 },    /* 14: Unused */
-       {0,     0,      0,      0,      0 },    /* 15: Unused */
+       {0,     PCIA,   PCIB,   PCIC,   PCID }, /* 15: cPCI (behind 21150) */
        {0,     SCSI,   0,      0,      0 },    /* 16: SYM53C810A SCSI */
        {0,     0,      0,      0,      0 },    /* 17: Core */
-       {0,     INTA,   INTB,   INTC,   INTD }, /* 18: PCI Slot */
-       {0,     ETH,    0,      0,      0 },    /* 19: SAA9730 Ethernet */
-       {0,     0,      0,      0,      0 },    /* 20: PCI Slot 3 */
-       {0,     0,      0,      0,      0 }     /* 21: PCI Slot 4 */
+       {0,     INTA,   INTB,   INTC,   INTD }, /* 18: PCI Slot */
+       {0,     ETH,    0,      0,      0 },    /* 19: SAA9730 Eth. et al. */
+       {0,     0,      0,      0,      0 },    /* 20: Unused */
+       {0,     0,      0,      0,      0 }     /* 21: Unused */
 };
 
 int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)