summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormartin <martin@NetBSD.org>2003-09-23 19:37:39 +0000
committermartin <martin@NetBSD.org>2003-09-23 19:37:39 +0000
commitd505bdda8399f894ab7350da7be51b60a6cba769 (patch)
treec541fefc909850a738b06ecbab85c1851eeed88e /sys/dev
parentcf9f62a8e7e2068ee0f20ff94d2974e6006b7430 (diff)
Fix rx buffer size bitmask, do not explicitly set burst length and use 1536
bytes buffers, so this driver can finally cope with full size ethernet packets. From Peter Bex.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/mtd803.c11
-rw-r--r--sys/dev/ic/mtd803var.h14
2 files changed, 12 insertions, 13 deletions
diff --git a/sys/dev/ic/mtd803.c b/sys/dev/ic/mtd803.c
index 5e63ad34f32..56b8d317549 100644
--- a/sys/dev/ic/mtd803.c
+++ b/sys/dev/ic/mtd803.c
@@ -1,4 +1,4 @@
-/* $NetBSD: mtd803.c,v 1.3 2003/07/14 15:47:12 lukem Exp $ */
+/* $NetBSD: mtd803.c,v 1.4 2003/09/23 19:37:39 martin Exp $ */
/*-
*
@@ -51,7 +51,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mtd803.c,v 1.3 2003/07/14 15:47:12 lukem Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mtd803.c,v 1.4 2003/09/23 19:37:39 martin Exp $");
#include "bpfilter.h"
@@ -216,8 +216,7 @@ mtd_init(ifp)
*/
MTD_WRITE_4(sc, MTD_BCR, MTD_BCR_BLEN16);
- MTD_WRITE_4(sc, MTD_RXTXR, MTD_TX_STFWD | MTD_RX_BLEN | MTD_RX_512
- | MTD_TX_FDPLX);
+ MTD_WRITE_4(sc, MTD_RXTXR, MTD_TX_STFWD | MTD_TX_FDPLX);
/* Promiscuous mode? */
if (ifp->if_flags & IFF_PROMISC)
@@ -464,8 +463,8 @@ mtd_put(sc, index, m)
continue;
} else if (tlen > MTD_TXBUF_SIZE) {
/* XXX FIXME: No idea what to do here. */
- printf("%s: packet too large!\n",
- sc->dev.dv_xname);
+ printf("%s: packet too large! Size = %i\n",
+ sc->dev.dv_xname, tlen);
MFREE(m, n);
continue;
}
diff --git a/sys/dev/ic/mtd803var.h b/sys/dev/ic/mtd803var.h
index 3682988f984..a85e77e42a4 100644
--- a/sys/dev/ic/mtd803var.h
+++ b/sys/dev/ic/mtd803var.h
@@ -1,4 +1,4 @@
-/* $NetBSD: mtd803var.h,v 1.1 2002/11/07 21:57:00 martin Exp $ */
+/* $NetBSD: mtd803var.h,v 1.2 2003/09/23 19:37:39 martin Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -45,11 +45,11 @@
/* Number of Tx and Rx descriptors */
-#define MTD_NUM_TXD 128
-#define MTD_NUM_RXD 128
+#define MTD_NUM_TXD 64
+#define MTD_NUM_RXD 64
/* Tx and Rx buffer size */
-#define MTD_RXBUF_SIZE 768
-#define MTD_TXBUF_SIZE 768
+#define MTD_RXBUF_SIZE 1536
+#define MTD_TXBUF_SIZE 1536
/* DMA mem must be longword (4 bytes) aligned */
#define MTD_DMA_ALIGN 4
@@ -132,8 +132,8 @@ struct mtd_softc {
#define MTD_RXD_RXERR 0x00000004 /* Receive error */
#define MTD_RXD_RSRVD0 0x00000003 /* Bits [1:0] are reserved */
/* Configuration register */
-#define MTD_RXD_CONF_RSRVD0 0xfffffc00 /* Bits [31:11] are reserved */
-#define MTD_RXD_CONF_BUFS 0x000003ff /* Receive buffer size */
+#define MTD_RXD_CONF_RSRVD0 0xfffff800 /* Bits [31:11] are reserved */
+#define MTD_RXD_CONF_BUFS 0x000007ff /* Receive buffer size */
#define MTD_RXD_FLEN_SHIFT 16