patch-2.1.130 linux/arch/alpha/kernel/sys_miata.c
Next file: linux/arch/alpha/kernel/sys_ruffian.c
Previous file: linux/arch/alpha/kernel/sys_dp264.c
Back to the patch index
Back to the overall index
- Lines: 96
- Date:
Wed Nov 25 14:52:22 1998
- Orig file:
v2.1.129/linux/arch/alpha/kernel/sys_miata.c
- Orig date:
Wed Sep 9 14:51:04 1998
diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/sys_miata.c linux/arch/alpha/kernel/sys_miata.c
@@ -36,7 +36,7 @@
if (irq >= 16) {
/* Make CERTAIN none of the bogus ints get enabled... */
*(vulp)PYXIS_INT_MASK =
- ~((long)mask >> 16) & ~0x4000000000000e3bUL;
+ ~((long)mask >> 16) & ~0x400000000000063bUL;
mb();
/* ... and read it back to make sure it got written. */
*(vulp)PYXIS_INT_MASK;
@@ -62,7 +62,7 @@
* then all the PCI slots/INTXs (12-31).
*/
/* Maybe HALT should only be used for SRM console boots? */
- pld &= 0x00000000fffff1c4UL;
+ pld &= 0x00000000fffff9c4UL;
/*
* Now for every possible bit set, work through them and call
@@ -101,8 +101,8 @@
* used for this purpose, as PIC interrupts are delivered as the
* vectors 0x800-0x8f0).
* But I really don't want to change the fixup code for allocation
- * of IRQs, nor the alpha_irq_mask maintenance stuff, both of which look
- * nice and clean now.
+ * of IRQs, nor the alpha_irq_mask maintenance stuff, both of which
+ * look nice and clean now.
* So, here's this grotty hack... :-(
*/
if (irq >= 16)
@@ -120,14 +120,15 @@
alpha_mv.device_interrupt = miata_srm_device_interrupt;
/* Note invert on MASK bits. */
- *(vulp)PYXIS_INT_MASK = ~((long)alpha_irq_mask >> 16); mb();
+ *(vulp)PYXIS_INT_MASK =
+ ~((long)alpha_irq_mask >> 16) & ~0x400000000000063bUL; mb();
#if 0
/* These break on MiataGL so we'll try not to do it at all. */
*(vulp)PYXIS_INT_HILO = 0x000000B2UL; mb(); /* ISA/NMI HI */
*(vulp)PYXIS_RT_COUNT = 0UL; mb(); /* clear count */
#endif
/* Clear upper timer. */
- *(vulp)PYXIS_INT_REQ = 0x4000000000000000UL; mb();
+ *(vulp)PYXIS_INT_REQ = 0x4000000000000180UL; mb();
enable_irq(16 + 2); /* enable HALT switch - SRM only? */
enable_irq(16 + 6); /* enable timer */
@@ -209,22 +210,21 @@
{ -1, -1, -1, -1, -1}, /* IdSel 15, EIDE */
{ -1, -1, -1, -1, -1}, /* IdSel 16, none */
{ -1, -1, -1, -1, -1}, /* IdSel 17, none */
- /* {16+11, 16+11, 16+11, 16+11, 16+11},*//* IdSel 17, USB ?? */
{ -1, -1, -1, -1, -1}, /* IdSel 18, PCI-ISA */
{ -1, -1, -1, -1, -1}, /* IdSel 19, PCI-PCI */
{ -1, -1, -1, -1, -1}, /* IdSel 20, none */
{ -1, -1, -1, -1, -1}, /* IdSel 21, none */
{16+12, 16+12, 16+13, 16+14, 16+15}, /* IdSel 22, slot 4 */
{16+16, 16+16, 16+17, 16+18, 16+19}, /* IdSel 23, slot 5 */
- /* The following are actually on bus 1, which is
- across the builtin PCI-PCI bridge. */
- {16+20, 16+20, 16+21, 16+22, 16+23}, /* IdSel 24, slot 1 */
- {16+24, 16+24, 16+25, 16+26, 16+27}, /* IdSel 25, slot 2 */
- {16+28, 16+28, 16+29, 16+30, 16+31}, /* IdSel 26, slot 3 */
+ /* the next 7 are actually on PCI bus 1, across the bridge */
+ {16+11, 16+11, 16+11, 16+11, 16+11}, /* IdSel 24, QLISP/GL*/
+ { -1, -1, -1, -1, -1}, /* IdSel 25, none */
+ { -1, -1, -1, -1, -1}, /* IdSel 26, none */
{ -1, -1, -1, -1, -1}, /* IdSel 27, none */
- { -1, -1, -1, -1, -1}, /* IdSel 28, none */
- { -1, -1, -1, -1, -1}, /* IdSel 29, none */
- { -1, -1, -1, -1, -1}, /* IdSel 30, none */
+ {16+20, 16+20, 16+21, 16+22, 16+23}, /* IdSel 28, slot 1 */
+ {16+24, 16+24, 16+25, 16+26, 16+27}, /* IdSel 29, slot 2 */
+ {16+28, 16+28, 16+29, 16+30, 16+31}, /* IdSel 30, slot 3 */
+ /* this bridge is on the main bus of the later original MIATA */
{ -1, -1, -1, -1, -1}, /* IdSel 31, PCI-PCI */
};
const long min_idsel = 3, max_idsel = 20, irqs_per_slot = 5;
@@ -239,7 +239,7 @@
/* Check first for the built-in bridge. */
if ((PCI_SLOT(dev->bus->self->devfn) == 8) ||
(PCI_SLOT(dev->bus->self->devfn) == 20)) {
- slot = PCI_SLOT(dev->devfn) + 5;
+ slot = PCI_SLOT(dev->devfn) + 9;
}
else
{
@@ -247,7 +247,7 @@
do {
if ((PCI_SLOT(dev->bus->self->devfn) == 8) ||
(PCI_SLOT(dev->bus->self->devfn) == 20)) {
- slot = PCI_SLOT(dev->devfn) + 5;
+ slot = PCI_SLOT(dev->devfn) + 9;
break;
}
pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn));
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov