patch-2.2.18 linux/arch/ppc/kernel/prep_pci.c
Next file: linux/arch/ppc/kernel/prep_setup.c
Previous file: linux/arch/ppc/kernel/ppc_ksyms.c
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Wed Nov 8 23:00:34 2000
- Orig file:
v2.2.17/arch/ppc/kernel/prep_pci.c
- Orig date:
Sat Sep 9 18:42:33 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/arch/ppc/kernel/prep_pci.c linux/arch/ppc/kernel/prep_pci.c
@@ -25,6 +25,7 @@
#include <asm/machdep.h>
#include "pci.h"
+#include "open_pic.h"
#define MAX_DEVNR 22
@@ -42,8 +43,6 @@
/* Used for Motorola to store system config register */
static unsigned long *ProcInfo;
-extern void chrp_do_IRQ(struct pt_regs *,int , int);
-
/* Tables for known hardware */
/* Motorola PowerStackII - Utah */
@@ -784,7 +783,7 @@
OpenPIC_InitSenses = mvme2600_openpic_initsenses;
OpenPIC_NumInitSenses = sizeof(mvme2600_openpic_initsenses);
- ppc_md.do_IRQ = chrp_do_IRQ;
+ ppc_md.do_IRQ = open_pic_do_IRQ;
/* If raven is present on Motorola store the system config register
* for later use.
@@ -1131,7 +1130,7 @@
if (n & 0xF0) {
return (n & 0x0F);
} else {
- return(openpic_to_irq(n));
+ return(n+open_pic.irq_offset);
}
}
@@ -1168,6 +1167,17 @@
short_reg = 0x0000;
pcibios_write_config_word(dev->bus->number,
dev->devfn, 0x44, short_reg);
+ }
+ }
+ if ((dev = pci_find_device(PCI_VENDOR_ID_WINBOND,
+ PCI_DEVICE_ID_WINBOND_82C105, dev))){
+ if (OpenPIC){
+ /* Disable LEGIRQ mode so PCI INTs are routed to
+ the 8259 */
+ pci_write_config_dword(dev, 0x40, 0x10ff00a1);
+ } else {
+ /* Enable LEGIRQ for PCI INT -> 8259 IRQ routing */
+ pci_write_config_dword(dev, 0x40, 0x10ff08a1);
}
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)