summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorUlf Carlsson <md1ulfc@mdstud.chalmers.se>1999-05-07 22:34:31 +0000
committerUlf Carlsson <md1ulfc@mdstud.chalmers.se>1999-05-07 22:34:31 +0000
commit91a884dc44c2a0471cedf6ee6d1aeab9fcaeffb9 (patch)
tree7eae8d75fc22e7140e34ca592c876554ca329d78 /arch
parent3bdc53f21df6d97a2baefecba050e55ca704bb72 (diff)
Andrew's Indigo patches seem to work just fine on my Indy, let's bring them into
the tree.
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/sgi/kernel/indy_hpc.c5
-rw-r--r--arch/mips/sgi/kernel/indy_int.c16
-rw-r--r--arch/mips/sgi/kernel/indy_mc.c5
3 files changed, 19 insertions, 7 deletions
diff --git a/arch/mips/sgi/kernel/indy_hpc.c b/arch/mips/sgi/kernel/indy_hpc.c
index 828af833b..c8f923c47 100644
--- a/arch/mips/sgi/kernel/indy_hpc.c
+++ b/arch/mips/sgi/kernel/indy_hpc.c
@@ -1,4 +1,4 @@
-/* $Id: indy_hpc.c,v 1.4 1998/07/14 09:12:27 ralf Exp $
+/* $Id: indy_hpc.c,v 1.5 1998/08/25 09:14:48 ralf Exp $
*
* indy_hpc.c: Routines for generic manipulation of the HPC controllers.
*
@@ -43,7 +43,8 @@ __initfunc(void sgihpc_init(void))
prom_printf("sgihpc_init: ");
#endif
- if(sid & 1) {
+ /* This test works now thanks to William J. Earl */
+ if ((sid & 1) == 0 ) {
#ifdef DEBUG_SGIHPC
prom_printf("GUINESS ");
#endif
diff --git a/arch/mips/sgi/kernel/indy_int.c b/arch/mips/sgi/kernel/indy_int.c
index f1f2bbc9f..01a8c91a3 100644
--- a/arch/mips/sgi/kernel/indy_int.c
+++ b/arch/mips/sgi/kernel/indy_int.c
@@ -1,10 +1,11 @@
-/* $Id: indy_int.c,v 1.10 1998/08/25 09:14:49 ralf Exp $
+/* $Id: indy_int.c,v 1.11 1999/01/04 16:03:56 ralf Exp $
*
* indy_int.c: Routines for generic manipulation of the INT[23] ASIC
* found on INDY workstations..
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
* Copyright (C) 1997, 1998 Ralf Baechle (ralf@gnu.org)
+ * Copyright (C) 1999 Andrew R. Baker (andrewb@uab.edu) - Indigo2 changes
*/
#include <linux/config.h>
#include <linux/init.h>
@@ -563,9 +564,16 @@ __initfunc(void sgint_init(void))
}
}
- ioc_icontrol = &sgi_i3regs->ints;
- ioc_timers = &sgi_i3regs->timers;
- ioc_tclear = &sgi_i3regs->tclear;
+ /* Indy uses an INT3, Indigo2 uses an INT2 */
+ if (sgi_guiness) {
+ ioc_icontrol = &sgi_i3regs->ints;
+ ioc_timers = &sgi_i3regs->timers;
+ ioc_tclear = &sgi_i3regs->tclear;
+ } else {
+ ioc_icontrol = &sgi_i2regs->ints;
+ ioc_timers = &sgi_i2regs->timers;
+ ioc_tclear = &sgi_i2regs->tclear;
+ }
/* Mask out all interrupts. */
ioc_icontrol->imask0 = 0;
diff --git a/arch/mips/sgi/kernel/indy_mc.c b/arch/mips/sgi/kernel/indy_mc.c
index 73c7ed006..1cd05afc8 100644
--- a/arch/mips/sgi/kernel/indy_mc.c
+++ b/arch/mips/sgi/kernel/indy_mc.c
@@ -2,8 +2,9 @@
* indy_mc.c: Routines for manipulating the INDY memory controller.
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
+ * Copyright (C) 1999 Andrew R. Baker (andrewb@uab.edu) - Indigo2 changes
*
- * $Id: indy_mc.c,v 1.2 1998/04/05 11:23:58 ralf Exp $
+ * $Id: indy_mc.c,v 1.3 1998/05/04 09:12:57 ralf Exp $
*/
#include <linux/init.h>
#include <linux/kernel.h>
@@ -150,6 +151,8 @@ __initfunc(void sgimc_init(void))
tmpreg |= SGIMC_GIOPARM_PLINEEXP0; /* exp[01] pipelined */
tmpreg |= SGIMC_GIOPARM_PLINEEXP1;
tmpreg |= SGIMC_GIOPARM_MASTEREISA;/* EISA masters */
+ /* someone forgot this poor little guy... */
+ tmpreg |= SGIMC_GIOPARM_GFX64; /* GFX at 64 bits */
}
}
mcmisc_regs->gioparm = tmpreg; /* poof */