Date: Fri, 1 Oct 2010 17:46:15 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r213333 - head/sys/dev/bge Message-ID: <201010011746.o91HkFk9013402@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010011746.o91HkFk9013402>