Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jul 2010 02:07:59 +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: r209714 - head/sys/dev/bge
Message-ID:  <201007060207.o6627x6i030694@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007060207.o6627x6i030694>