summaryrefslogtreecommitdiff
path: root/sys/arch/mac68k
diff options
context:
space:
mode:
authorMartin Reindl <martin@cvs.openbsd.org>2005-08-01 11:19:34 +0000
committerMartin Reindl <martin@cvs.openbsd.org>2005-08-01 11:19:34 +0000
commit0d160159681f7db5a975412e27951f3478691427 (patch)
tree04e104cbcb1a348debf6fafbaf93bf977a01033f /sys/arch/mac68k
parent24a358f6803e471faa49663705444519037854c4 (diff)
- disable video interrupts on AV machines
- unmap unused DAFB registers on all other Quadras after attachment from NetBSD
Diffstat (limited to 'sys/arch/mac68k')
-rw-r--r--sys/arch/mac68k/dev/grf_iv.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/arch/mac68k/dev/grf_iv.c b/sys/arch/mac68k/dev/grf_iv.c
index cdc771d9282..6e344b4b13e 100644
--- a/sys/arch/mac68k/dev/grf_iv.c
+++ b/sys/arch/mac68k/dev/grf_iv.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: grf_iv.c,v 1.23 2005/07/23 23:28:58 martin Exp $ */
+/* $OpenBSD: grf_iv.c,v 1.24 2005/08/01 11:19:33 martin Exp $ */
/* $NetBSD: grf_iv.c,v 1.17 1997/02/20 00:23:27 scottr Exp $ */
/*
@@ -74,6 +74,7 @@ struct cfattach intvid_ca = {
};
#define QUADRA_DAFB_BASE 0xF9800000
+#define CIVIC_CONTROL_BASE 0x50036000
static int
grfiv_match(parent, vcf, aux)
@@ -130,6 +131,16 @@ grfiv_match(parent, vcf, aux)
break;
+ case MACH_CLASSAV:
+ if (bus_space_map(oa->oa_tag, CIVIC_CONTROL_BASE, 0x1000,
+ 0, &bsh)) {
+ panic("failed to map space for CIVIC control regs.\n");
+ }
+ /* Disable interrupts */
+ bus_space_write_1(oa->oa_tag, bsh, 0x120, 0);
+ bus_space_unmap(oa->oa_tag, bsh, 0x1000);
+ break;
+
default:
nodafb:
if (mac68k_vidlog == 0) {
@@ -166,6 +177,7 @@ grfiv_attach(parent, self, aux)
panic("failed to map space for DAFB regs.");
}
printf(": DAFB: Monitor sense %x.\n", R4(sc,0x1C)&7);
+ bus_space_unmap(sc->sc_tag, sc->sc_regh, 0x1000);
break;
default:
printf(": Internal Video\n");