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>