aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/pci
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/pci')
-rw-r--r--arch/mips/pci/fixup-jmr3927.c14
-rw-r--r--arch/mips/pci/fixup-sni.c2
-rw-r--r--arch/mips/pci/ops-au1000.c6
3 files changed, 11 insertions, 11 deletions
diff --git a/arch/mips/pci/fixup-jmr3927.c b/arch/mips/pci/fixup-jmr3927.c
index f8696081c5b1..6e72d213f4cd 100644
--- a/arch/mips/pci/fixup-jmr3927.c
+++ b/arch/mips/pci/fixup-jmr3927.c
@@ -38,6 +38,10 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
38{ 38{
39 unsigned char irq = pin; 39 unsigned char irq = pin;
40 40
41 /* SMSC SLC90E66 IDE uses irq 14, 15 (default) */
42 if (dev->vendor == PCI_VENDOR_ID_EFAR &&
43 dev->device == PCI_DEVICE_ID_EFAR_SLC90E66_1)
44 return irq;
41 /* IRQ rotation (PICMG) */ 45 /* IRQ rotation (PICMG) */
42 irq--; /* 0-3 */ 46 irq--; /* 0-3 */
43 if (dev->bus->parent == NULL && 47 if (dev->bus->parent == NULL &&
@@ -93,13 +97,3 @@ int pcibios_plat_dev_init(struct pci_dev *dev)
93{ 97{
94 return 0; 98 return 0;
95} 99}
96
97int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
98{
99 /* SMSC SLC90E66 IDE uses irq 14, 15 (default) */
100 if (!(dev->vendor == PCI_VENDOR_ID_EFAR &&
101 dev->device == PCI_DEVICE_ID_EFAR_SLC90E66_1))
102 return pci_get_irq(dev, pin);
103
104 dev->irq = irq;
105}
diff --git a/arch/mips/pci/fixup-sni.c b/arch/mips/pci/fixup-sni.c
index 0c9a4732d455..36e5fb1b3786 100644
--- a/arch/mips/pci/fixup-sni.c
+++ b/arch/mips/pci/fixup-sni.c
@@ -14,6 +14,8 @@
14#include <asm/mipsregs.h> 14#include <asm/mipsregs.h>
15#include <asm/sni.h> 15#include <asm/sni.h>
16 16
17#include <irq.h>
18
17/* 19/*
18 * PCIMT Shortcuts ... 20 * PCIMT Shortcuts ...
19 */ 21 */
diff --git a/arch/mips/pci/ops-au1000.c b/arch/mips/pci/ops-au1000.c
index 8ae46481fcb7..7932dfe5eb9b 100644
--- a/arch/mips/pci/ops-au1000.c
+++ b/arch/mips/pci/ops-au1000.c
@@ -172,7 +172,11 @@ static int config_access(unsigned char access_type, struct pci_bus *bus,
172 error = -1; 172 error = -1;
173 DBG("Au1x Master Abort\n"); 173 DBG("Au1x Master Abort\n");
174 } else if ((status >> 28) & 0xf) { 174 } else if ((status >> 28) & 0xf) {
175 DBG("PCI ERR detected: status %x\n", status); 175 DBG("PCI ERR detected: device %d, status %x\n", device, ((status >> 28) & 0xf));
176
177 /* clear errors */
178 au_writel(status & 0xf000ffff, Au1500_PCI_STATCMD);
179
176 *data = 0xffffffff; 180 *data = 0xffffffff;
177 error = -1; 181 error = -1;
178 } 182 }