summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorenami <enami@NetBSD.org>1999-09-27 23:19:12 +0000
committerenami <enami@NetBSD.org>1999-09-27 23:19:12 +0000
commitbb03434a5f2a8a1373bab75cf6e9e5daf1ef1cd0 (patch)
tree368bcce638c0300d614a7b566389ef6b4bdfaf13 /sys/dev/ic
parent70c01ac44a01099087b4cdc1283df204b8b80e99 (diff)
Support Planex Communications Inc, FNW-3600-T.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/dp8390.c6
-rw-r--r--sys/dev/ic/ne2000.c17
-rw-r--r--sys/dev/ic/ne2000var.h7
3 files changed, 23 insertions, 7 deletions
diff --git a/sys/dev/ic/dp8390.c b/sys/dev/ic/dp8390.c
index 19be806c42b..14aa0508ca6 100644
--- a/sys/dev/ic/dp8390.c
+++ b/sys/dev/ic/dp8390.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dp8390.c,v 1.26 1999/08/25 22:41:42 thorpej Exp $ */
+/* $NetBSD: dp8390.c,v 1.27 1999/09/27 23:19:12 enami Exp $ */
/*
* Device driver for National Semiconductor DS8390/WD83C690 based ethernet
@@ -100,8 +100,10 @@ dp8390_config(sc, media, nmedia, defmedia)
if ((sc->mem_size < 16384) ||
(sc->sc_flags & DP8390_NO_MULTI_BUFFERING))
sc->txb_cnt = 1;
- else
+ else if (sc->mem_size < 8192 * 3)
sc->txb_cnt = 2;
+ else
+ sc->txb_cnt = 3;
sc->tx_page_start = sc->mem_start >> ED_PAGE_SHIFT;
sc->rec_page_start = sc->tx_page_start + sc->txb_cnt * ED_TXBUF_SIZE;
diff --git a/sys/dev/ic/ne2000.c b/sys/dev/ic/ne2000.c
index d4dd3edae4a..9e5f0d09827 100644
--- a/sys/dev/ic/ne2000.c
+++ b/sys/dev/ic/ne2000.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ne2000.c,v 1.22 1999/09/27 05:25:44 enami Exp $ */
+/* $NetBSD: ne2000.c,v 1.23 1999/09/27 23:19:12 enami Exp $ */
/*-
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -149,9 +149,20 @@ ne2000_attach(nsc, myea, media, nmedia, defmedia)
dsc->sc_reg_map[i] = i;
/*
- * 8k of memory plus an additional 8k if an NE2000.
+ * 8k of memory for NE1000, 16k for NE2000 and 24k for the
+ * card uses DL10019.
*/
- memsize = 8192 + (nsc->sc_type == NE2000_TYPE_NE2000 ? 8192 : 0);
+ switch (nsc->sc_type) {
+ case NE2000_TYPE_NE1000:
+ memsize = 8192;
+ break;
+ case NE2000_TYPE_NE2000:
+ memsize = 8192 * 2;
+ break;
+ case NE2000_TYPE_DL10019:
+ memsize = 8192 * 3;
+ break;
+ }
/*
* NIC memory doens't start at zero on an NE board.
diff --git a/sys/dev/ic/ne2000var.h b/sys/dev/ic/ne2000var.h
index b16a6da1931..f8214d6610a 100644
--- a/sys/dev/ic/ne2000var.h
+++ b/sys/dev/ic/ne2000var.h
@@ -1,4 +1,4 @@
-/* $NetBSD: ne2000var.h,v 1.5 1999/09/27 05:25:44 enami Exp $ */
+/* $NetBSD: ne2000var.h,v 1.6 1999/09/27 23:19:13 enami Exp $ */
/*-
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -52,8 +52,11 @@ struct ne2000_softc {
/* sc_type */
#define NE2000_TYPE_NE1000 1
#define NE2000_TYPE_NE2000 2
+#define NE2000_TYPE_DL10019 3
-#define NE2000_USE_WORD(sc) (((sc)->sc_type) == NE2000_TYPE_NE2000)
+#define NE2000_USE_WORD(sc) \
+ (((sc)->sc_type == NE2000_TYPE_NE2000) || \
+ ((sc)->sc_type == NE2000_TYPE_DL10019))
void ne2000_attach __P((struct ne2000_softc *, u_int8_t *,
int *, int, int));