summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorHugh Graham <hugh@cvs.openbsd.org>2002-12-27 19:20:50 +0000
committerHugh Graham <hugh@cvs.openbsd.org>2002-12-27 19:20:50 +0000
commit3ddcaa9a2954b43daedd269e555e317bab603253 (patch)
tree40543f9cea68a566ffa9539b207f187d102c6f5e /sys
parent319b9d765fff72b7171aa574394bbc46003c5795 (diff)
Use model control capability to distinguish 8 from 16 line models,
and don't ttymalloc lines we don't have. CXA16 in DHV-11 mode is probably still not correct.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/vax/qbus/dhu.c16
-rw-r--r--sys/arch/vax/qbus/dhureg.h3
2 files changed, 16 insertions, 3 deletions
diff --git a/sys/arch/vax/qbus/dhu.c b/sys/arch/vax/qbus/dhu.c
index 35b6e739d4d..bf90e9b61f9 100644
--- a/sys/arch/vax/qbus/dhu.c
+++ b/sys/arch/vax/qbus/dhu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dhu.c,v 1.5 2002/10/19 22:40:44 hugh Exp $ */
+/* $OpenBSD: dhu.c,v 1.6 2002/12/27 19:20:49 hugh Exp $ */
/* $NetBSD: dhu.c,v 1.19 2000/06/04 06:17:01 matt Exp $ */
/*
* Copyright (c) 1996 Ken C. Wellsch. All rights reserved.
@@ -232,7 +232,19 @@ dhu_attach(parent, self, aux)
c = DHU_READ_WORD(DHU_UBA_STAT);
sc->sc_type = (c & DHU_STAT_DHU)? IS_DHU: IS_DHV;
- printf("\n%s: DH%s-11\n", self->dv_xname, (c & DHU_STAT_DHU)?"U":"V");
+
+ if (sc->sc_type == IS_DHU) {
+ if (c & DHU_STAT_MDL)
+ i = 16; /* "Modem Low" */
+ else
+ i = 8; /* Has modem support */
+ } else
+ i = 8;
+
+ printf("\n%s: DH%s-11 %d lines\n", self->dv_xname,
+ (sc->sc_type == IS_DHU) ? "U" : "V", i);
+
+ sc->sc_type = i;
for (i = 0; i < sc->sc_type; i++) {
struct tty *tp;
diff --git a/sys/arch/vax/qbus/dhureg.h b/sys/arch/vax/qbus/dhureg.h
index 32b4291d87b..829cabe60e7 100644
--- a/sys/arch/vax/qbus/dhureg.h
+++ b/sys/arch/vax/qbus/dhureg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: dhureg.h,v 1.1 2000/04/27 03:14:47 bjc Exp $ */
+/* $OpenBSD: dhureg.h,v 1.2 2002/12/27 19:20:49 hugh Exp $ */
/* $NetBSD: dhureg.h,v 1.4 1999/05/28 20:17:29 ragge Exp $ */
/*
* Copyright (c) 1996 Ken C. Wellsch. All rights reserved.
@@ -134,6 +134,7 @@ typedef struct DHUregs dhuregs;
#define DHU_STAT_RI 0020000
#define DHU_STAT_DCD 0010000
#define DHU_STAT_CTS 0004000
+#define DHU_STAT_MDL 0001000
#define DHU_STAT_DHU 0000400
/* LNCTRL bits */