summaryrefslogtreecommitdiff
path: root/sys/arch/mac68k/dev
diff options
context:
space:
mode:
authorMartin Reindl <martin@cvs.openbsd.org>2005-09-27 07:15:20 +0000
committerMartin Reindl <martin@cvs.openbsd.org>2005-09-27 07:15:20 +0000
commitb57a927948b35976c223c87b0e42ce62c1285227 (patch)
tree7e3c11b6fa5eca37f040d5caf553e78b5246d54c /sys/arch/mac68k/dev
parentb175f0b94f1858b9a5a79334507588477d0488b8 (diff)
missing pieces for RBV video handling
from NetBSD
Diffstat (limited to 'sys/arch/mac68k/dev')
-rw-r--r--sys/arch/mac68k/dev/grf_iv.c41
1 files changed, 40 insertions, 1 deletions
diff --git a/sys/arch/mac68k/dev/grf_iv.c b/sys/arch/mac68k/dev/grf_iv.c
index 14341318213..152a64bfb6d 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.29 2005/09/26 15:44:05 martin Exp $ */
+/* $OpenBSD: grf_iv.c,v 1.30 2005/09/27 07:15:19 martin Exp $ */
/* $NetBSD: grf_iv.c,v 1.17 1997/02/20 00:23:27 scottr Exp $ */
/*
@@ -182,6 +182,12 @@ grfiv_match(parent, vcf, aux)
bus_space_unmap(oa->oa_tag, bsh, 0x1000);
break;
+ case MACH_CLASSIIci:
+ case MACH_CLASSIIsi:
+ if (mac68k_vidlen == 0 ||
+ (via2_reg(rMonitor) & RBVMonitorMask) == RBVMonIDNone)
+ found = 0;
+ break;
default:
if (mac68k_vidlen == 0)
found = 0;
@@ -283,6 +289,39 @@ grfiv_attach(parent, self, aux)
#endif
printf(": Civic\n");
break;
+ case MACH_CLASSIIci:
+ case MACH_CLASSIIsi:
+ sc->sc_basepa = trunc_page(mac68k_vidphys);
+ sc->sc_fbofs = m68k_page_offset(mac68k_vidphys);
+ length = mac68k_vidlen + sc->sc_fbofs;
+
+#ifdef DEBUG
+ printf(" @ %lx", sc->sc_basepa + sc->sc_fbofs);
+#endif
+ printf(": RBV");
+#ifdef DEBUG
+ switch (via2_reg(rMonitor) & RBVMonitorMask) {
+ case RBVMonIDBWP:
+ printf(": 15\" monochrome portrait");
+ break;
+ case RBVMonIDRGB12:
+ printf(": 12\" color");
+ break;
+ case RBVMonIDRGB15:
+ printf(": 15\" color");
+ break;
+ case RBVMonIDStd:
+ printf(": Macintosh II");
+ break;
+ default:
+ printf(": unrecognized");
+ break;
+ }
+ printf(" display");
+#endif
+ printf("\n");
+
+ break;
default:
sc->sc_basepa = trunc_page(mac68k_vidphys);
sc->sc_fbofs = m68k_page_offset(mac68k_vidphys);