Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Nov 2009 17:58:16 -0800
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Gonzalo Nemmi <gnemmi@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Call for bge(4) testers
Message-ID:  <20091116015816.GB1124@michelle.cdnetworks.com>
In-Reply-To: <200911122039.31431.gnemmi@gmail.com>
References:  <20091111223751.GE15449@michelle.cdnetworks.com> <200911121912.44926.gnemmi@gmail.com> <20091112220550.GJ15449@michelle.cdnetworks.com> <200911122039.31431.gnemmi@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Thu, Nov 12, 2009 at 08:39:31PM -0200, Gonzalo Nemmi wrote:
> On Thursday 12 November 2009 8:05:50 pm Pyun YongHyeon wrote:
> > On Thu, Nov 12, 2009 at 07:12:44PM -0200, Gonzalo Nemmi wrote:
> > > On Thursday 12 November 2009 1:47:49 am Pyun YongHyeon wrote:
> > > > On Wed, Nov 11, 2009 at 02:37:51PM -0800, Pyun YongHyeon wrote:
> > > > > Hi,
> > > > >
> > > > > I had been working on fixing bus_dma(9) bugs and adding TSO
> > > > > capability to bge(4). Now TSO is supported for BCM5755 or newer
> > > > > controllers. Actually some pre-BCM5755 controllers also support
> > > > > TSO with the help of special firmware but the license issue and
> > > > > lower performance of firmware based TSO as well as TSO bug I
> > > > > intentionally excluded TSO support for pre-BCM5755 controllers.
> > > > > You can get the patch form the following URL. The diff was
> > > > > generated against latest HEAD.
> > > > >
> > > > > http://people.freebsd.org/~yongari/bge/bge.tso.1111.diff
> > > >
> > > > Eh, there was a typo so I regenerated the diff.
> > > > http://people.freebsd.org/~yongari/bge/bge.tso.1111-1.diff
> > >
> > > Hi
> > > Just wanted to know before getting on to it, will your patch help
> > > to resolve kern/136876?
> >
> > My diff includes a fix for assuming PCIe device control register
> > and MSI control registers would be reside in fixed address. And
> > from the pciconf output I see the your MSI control register is
> > located at different address. However bge(4) does not touch that
> > register for BCM5906 so I guess my diff may not fix the resume
> > issue.
> >
> 
> Thanks a lot for your prompt, clear and straight answer.
> 

Would you try attached patch for BCM5906 resume issue? Not sure
whether it help or not though.

> Regards
> Gonzalo Nemmi

--ibTvN161/egqYuK8
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="bge.5906.diff"

Index: sys/dev/bge/if_bge.c
===================================================================
--- sys/dev/bge/if_bge.c	(revision 199304)
+++ sys/dev/bge/if_bge.c	(working copy)
@@ -2995,6 +2995,15 @@
 		}
 	}
 
+	if (sc->bge_asicrev == BGE_ASICREV_BCM5906) {
+		val = CSR_READ_4(sc, BGE_VCPU_STATUS);
+		CSR_WRITE_4(sc, BGE_VCPU_STATUS,
+		    val | BGE_VCPU_STATUS_DRV_RESET);
+		val = CSR_READ_4(sc, BGE_VCPU_EXT_CTRL);
+		CSR_WRITE_4(sc, BGE_VCPU_EXT_CTRL,
+		    val & ~BGE_VCPU_EXT_CTRL_HALT_CPU);
+	}
+
 	/* 
 	 * Set GPHY Power Down Override to leave GPHY
 	 * powered up in D0 uninitialized.
@@ -3005,15 +3014,6 @@
 	/* Issue global reset */
 	write_op(sc, BGE_MISC_CFG, reset);
 
-	if (sc->bge_asicrev == BGE_ASICREV_BCM5906) {
-		val = CSR_READ_4(sc, BGE_VCPU_STATUS);
-		CSR_WRITE_4(sc, BGE_VCPU_STATUS,
-		    val | BGE_VCPU_STATUS_DRV_RESET);
-		val = CSR_READ_4(sc, BGE_VCPU_EXT_CTRL);
-		CSR_WRITE_4(sc, BGE_VCPU_EXT_CTRL,
-		    val & ~BGE_VCPU_EXT_CTRL_HALT_CPU);
-	}
-
 	DELAY(1000);
 
 	/* XXX: Broadcom Linux driver. */

--ibTvN161/egqYuK8--



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