Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Oct 2010 13:30:07 -0700
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Garrett Cooper <gcooper@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org, Steve Kargl <sgk@troutmask.apl.washington.edu>
Subject:   Re: recent bge(4) changes causing problems
Message-ID:  <20101012203007.GH10094@michelle.cdnetworks.com>
In-Reply-To: <AANLkTikZwjHtQheYA0snvjmmHizmikO0vWcr0Hobv5do@mail.gmail.com>
References:  <20101011225331.GA2829@troutmask.apl.washington.edu> <20101011231604.GI4607@michelle.cdnetworks.com> <20101012000216.GA1554@troutmask.apl.washington.edu> <20101012000927.GK4607@michelle.cdnetworks.com> <20101012001510.GA6789@troutmask.apl.washington.edu> <20101012002621.GA1554@troutmask.apl.washington.edu> <20101012003329.GL4607@michelle.cdnetworks.com> <20101012152440.GA1615@troutmask.apl.washington.edu> <20101012192340.GG10094@michelle.cdnetworks.com> <AANLkTikZwjHtQheYA0snvjmmHizmikO0vWcr0Hobv5do@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 12, 2010 at 01:11:29PM -0700, Garrett Cooper wrote:
> On Tue, Oct 12, 2010 at 12:23 PM, Pyun YongHyeon <pyunyh@gmail.com> wrote:
> > On Tue, Oct 12, 2010 at 08:24:40AM -0700, Steve Kargl wrote:
> >> On Mon, Oct 11, 2010 at 05:33:29PM -0700, Pyun YongHyeon wrote:
> >> >
> >> > Thanks for the info. I still suspect r213495 might break BCM5704.
> >> > Due to lack of BCM5704 I still couldn't test it except guessing.
> >> > How about attached one?
> >>
> >> > Index: sys/dev/bge/if_bge.c
> >> > ===================================================================
> >> > --- sys/dev/bge/if_bge.c ? ?(revision 213711)
> >> > +++ sys/dev/bge/if_bge.c ? ?(working copy)
> >> > @@ -1736,7 +1736,8 @@
> >> > ? ? ? ? ? ? RCB_WRITE_4(sc, vrcb, bge_hostaddr.bge_addr_hi, 0);
> >> > ? ? ? ? ? ? RCB_WRITE_4(sc, vrcb, bge_hostaddr.bge_addr_lo, 0);
> >> > ? ? ? ? ? ? RCB_WRITE_4(sc, vrcb, bge_maxlen_flags,
> >> > - ? ? ? ? ? ? ? BGE_RCB_FLAG_RING_DISABLED);
> >> > + ? ? ? ? ? ? ? BGE_RCB_MAXLEN_FLAGS(sc->bge_return_ring_cnt,
> >> > + ? ? ? ? ? ? ? BGE_RCB_FLAG_RING_DISABLED));
> >> > ? ? ? ? ? ? RCB_WRITE_4(sc, vrcb, bge_nicaddr, 0);
> >> > ? ? ? ? ? ? bge_writembx(sc, BGE_MBX_RX_CONS0_LO +
> >> > ? ? ? ? ? ? ? ? (i * (sizeof(uint64_t))), 0);
> >>
> >> Unfortunately, this patch does not fix the issue.
> >>
> >> If I revert r213495 via 'svn merge -r213495:213494 .'
> >> in the sys/dev/bge directory, I can build a working
> >> kernel. ?So, I can confirm that r213495 is the source
> >> of the problem with a BCM5704 based NIC.
> >>
> >
> > Fix committed to HEAD(r213742).
> 
>     Could this be a firmware bug? A similar issue has occurred in the
> past with bce(4) where you have to upgrade the firmware and the driver
> in tandem in order for things to function properly, so maybe if the
> firmware was upgraded to the latest version (unfortunately only Linux
> methods exist I think), this issue would go away?

Not sure whether this is firmware related thing or not. Public data
sheet explicitly says that BCM5700 with external SSRAM is the only
controller that supports mini ring. So r213475 disabled mini ring
for BCM5700 only. Data sheet also says disabling mini ring for all
BCM570[0-4] controllers is optional one in its initialization.
However that was not true and all BCM570[0-4] seems to require
disabling mini ring.

> Thanks,
> -Garrett



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