svn commit: r209714 - head/sys/dev/bge

Pyun YongHyeon yongari at FreeBSD.org
Tue Jul 6 02:07:59 UTC 2010


Author: yongari
Date: Tue Jul  6 02:07:59 2010
New Revision: 209714
URL: http://svn.freebsd.org/changeset/base/209714

Log:
  It seems read DMA mode register requires both IPv4 TSO and IPv6 TSO
  configuration to get IPv4 TSO work on BCM57780. While I'm here
  apply the same fix to BCM5785 which shares similar hardware feature
  of BCM57780. This change makes TSO work on BCM57780.
  
  Tested by:	Tong Liu <nemoliu <> gmail dot com>

Modified:
  head/sys/dev/bge/if_bge.c

Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c	Mon Jul  5 21:13:32 2010	(r209713)
+++ head/sys/dev/bge/if_bge.c	Tue Jul  6 02:07:59 2010	(r209714)
@@ -1834,8 +1834,12 @@ bge_blockinit(struct bge_softc *sc)
 		    BGE_RDMAMODE_MBUF_SBD_CRPT_ATTN;
 	if (sc->bge_flags & BGE_FLAG_PCIE)
 		val |= BGE_RDMAMODE_FIFO_LONG_BURST;
-	if (sc->bge_flags & BGE_FLAG_TSO)
+	if (sc->bge_flags & BGE_FLAG_TSO) {
 		val |= BGE_RDMAMODE_TSO4_ENABLE;
+		if (sc->bge_asicrev == BGE_ASICREV_BCM5785 ||
+		    sc->bge_asicrev == BGE_ASICREV_BCM57780)
+			val |= BGE_RDMAMODE_TSO6_ENABLE;
+	}
 	CSR_WRITE_4(sc, BGE_RDMA_MODE, val);
 	DELAY(40);
 


More information about the svn-src-head mailing list