It seems the LAN Adapter on dreamcast actually uses slow 150ns SRAM,

so handle it properly by an additional quirk flag in sc_flags.

The problem was reported by Pat Wendorf on port-dreamcast, and
the fix was suggested and confirmed by Christian Groessler.
This commit is contained in:
tsutsui 2003-02-05 12:03:54 +00:00
parent cc7308ce0b
commit 6aea963ed9
3 changed files with 11 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: if_mbe_g2.c,v 1.2 2003/01/04 18:10:18 tsutsui Exp $ */
/* $NetBSD: if_mbe_g2.c,v 1.3 2003/02/05 12:03:55 tsutsui Exp $ */
/*
* Copyright (c) 2002 Christian Groessler
@ -64,7 +64,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: if_mbe_g2.c,v 1.2 2003/01/04 18:10:18 tsutsui Exp $");
__KERNEL_RCSID(0, "$NetBSD: if_mbe_g2.c,v 1.3 2003/02/05 12:03:55 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -225,8 +225,8 @@ mbe_g2_attach(parent, self, aux)
/* This interface is always enabled. */
sc->sc_stat |= FE_STAT_ENABLED;
/* The LAN-Adapter uses 8 bit bus mode. */
sc->sc_flags |= FE_FLAGS_SBW_BYTE;
/* The LAN-Adapter uses 8 bit bus mode and slow SRAM. */
sc->sc_flags |= FE_FLAGS_SBW_BYTE | FE_FLAGS_SRAM_150ns;
/*
* Do generic MB86960 attach.

View File

@ -1,4 +1,4 @@
/* $NetBSD: mb86960.c,v 1.55 2002/12/24 13:10:26 tsutsui Exp $ */
/* $NetBSD: mb86960.c,v 1.56 2003/02/05 12:03:54 tsutsui Exp $ */
/*
* All Rights Reserved, Copyright (C) Fujitsu Limited 1995
@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: mb86960.c,v 1.55 2002/12/24 13:10:26 tsutsui Exp $");
__KERNEL_RCSID(0, "$NetBSD: mb86960.c,v 1.56 2003/02/05 12:03:54 tsutsui Exp $");
/*
* Device driver for Fujitsu MB86960A/MB86965A based Ethernet cards.
@ -154,9 +154,11 @@ mb86960_attach(sc, myea)
* the driver performance.
*/
sc->proto_dlcr6 = FE_D6_BUFSIZ_32KB | FE_D6_TXBSIZ_2x4KB |
FE_D6_BBW_BYTE | FE_D6_SBW_WORD | FE_D6_SRAM_100ns;
FE_D6_BBW_BYTE | FE_D6_SRAM_100ns;
if (sc->sc_flags & FE_FLAGS_SBW_BYTE)
sc->proto_dlcr6 |= FE_D6_SBW_BYTE;
if (sc->sc_flags & FE_FLAGS_SRAM_150ns)
sc->proto_dlcr6 &= ~FE_D6_SRAM_100ns;
/*
* Minimum initialization of the hardware.

View File

@ -1,4 +1,4 @@
/* $NetBSD: mb86960var.h,v 1.32 2002/11/30 14:15:10 tsutsui Exp $ */
/* $NetBSD: mb86960var.h,v 1.33 2003/02/05 12:03:54 tsutsui Exp $ */
/*
* All Rights Reserved, Copyright (C) Fujitsu Limited 1995
@ -136,6 +136,7 @@ struct mb86960_softc {
u_int32_t sc_flags; /* controller quirks */
#define FE_FLAGS_MB86960 0x0001 /* DLCR7 is differnt on MB86960 */
#define FE_FLAGS_SBW_BYTE 0x0002 /* byte access mode for system bus */
#define FE_FLAGS_SRAM_150ns 0x0004 /* The board has slow SRAM */
u_int8_t proto_dlcr4; /* DLCR4 prototype. */
u_int8_t proto_dlcr5; /* DLCR5 prototype. */