svn commit: r213333 - head/sys/dev/bge
Pyun YongHyeon
yongari at FreeBSD.org
Fri Oct 1 17:46:15 UTC 2010
Author: yongari
Date: Fri Oct 1 17:46:15 2010
New Revision: 213333
URL: http://svn.freebsd.org/changeset/base/213333
Log:
Allow write DMA to request larger DMA burst size to get better
performance on BCM5785.
Obtained from: OpenBSD
Modified:
head/sys/dev/bge/if_bge.c
head/sys/dev/bge/if_bgereg.h
Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c Fri Oct 1 17:20:48 2010 (r213332)
+++ head/sys/dev/bge/if_bge.c Fri Oct 1 17:46:15 2010 (r213333)
@@ -1834,6 +1834,10 @@ bge_blockinit(struct bge_softc *sc)
if (BGE_IS_5755_PLUS(sc))
val |= BGE_WDMAMODE_STATUS_TAG_FIX;
+ /* Request larger DMA burst size to get better performance. */
+ if (sc->bge_asicrev == BGE_ASICREV_BCM5785)
+ val |= BGE_WDMAMODE_BURST_ALL_DATA;
+
/* Turn on write DMA state machine */
CSR_WRITE_4(sc, BGE_WDMA_MODE, val);
DELAY(40);
Modified: head/sys/dev/bge/if_bgereg.h
==============================================================================
--- head/sys/dev/bge/if_bgereg.h Fri Oct 1 17:20:48 2010 (r213332)
+++ head/sys/dev/bge/if_bgereg.h Fri Oct 1 17:46:15 2010 (r213333)
@@ -1481,6 +1481,7 @@
#define BGE_WDMAMODE_LOCREAD_TOOBIG 0x00000200
#define BGE_WDMAMODE_ALL_ATTNS 0x000003FC
#define BGE_WDMAMODE_STATUS_TAG_FIX 0x20000000
+#define BGE_WDMAMODE_BURST_ALL_DATA 0xC0000000
/* Write DMA status register */
#define BGE_WDMASTAT_PCI_TGT_ABRT_ATTN 0x00000004
More information about the svn-src-all
mailing list