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:
parent
cc7308ce0b
commit
6aea963ed9
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user