Module Name: src Committed By: msaitoh Date: Mon May 13 17:10:59 UTC 2013
Modified Files: src/sys/dev/pci: if_bge.c Log Message: For BGE_IS_575X_PLUS() devices, don't set BGE_RXLPSTATCONTROL_DACK_FIX bits because these bits are reserved. To generate a diff of this commit: cvs rdiff -u -r1.243 -r1.244 src/sys/dev/pci/if_bge.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/if_bge.c diff -u src/sys/dev/pci/if_bge.c:1.243 src/sys/dev/pci/if_bge.c:1.244 --- src/sys/dev/pci/if_bge.c:1.243 Mon May 13 17:08:20 2013 +++ src/sys/dev/pci/if_bge.c Mon May 13 17:10:58 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bge.c,v 1.243 2013/05/13 17:08:20 msaitoh Exp $ */ +/* $NetBSD: if_bge.c,v 1.244 2013/05/13 17:10:58 msaitoh Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -79,7 +79,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.243 2013/05/13 17:08:20 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.244 2013/05/13 17:10:58 msaitoh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -2860,7 +2860,13 @@ bge_blockinit(struct bge_softc *sc) /* 5718 step 29, 57XX step 58 */ /* Inialize RX list placement stats mask. */ - CSR_WRITE_4(sc, BGE_RXLP_STATS_ENABLE_MASK, 0x007FFFFF); + if (BGE_IS_575X_PLUS(sc)) { + val = CSR_READ_4(sc, BGE_RXLP_STATS_ENABLE_MASK); + val &= ~BGE_RXLPSTATCONTROL_DACK_FIX; + CSR_WRITE_4(sc, BGE_RXLP_STATS_ENABLE_MASK, val); + } else + CSR_WRITE_4(sc, BGE_RXLP_STATS_ENABLE_MASK, 0x007FFFFF); + /* 5718 step 30, 57XX step 59 */ CSR_WRITE_4(sc, BGE_RXLP_STATS_CTL, 0x1);