diff options
author | Martin Reindl <martin@cvs.openbsd.org> | 2005-09-27 07:15:20 +0000 |
---|---|---|
committer | Martin Reindl <martin@cvs.openbsd.org> | 2005-09-27 07:15:20 +0000 |
commit | b57a927948b35976c223c87b0e42ce62c1285227 (patch) | |
tree | 7e3c11b6fa5eca37f040d5caf553e78b5246d54c /sys/arch/mac68k/dev | |
parent | b175f0b94f1858b9a5a79334507588477d0488b8 (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.c | 41 |
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); |