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_at_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) > >> > _at__at_ -1736,7 +1736,8 _at__at_ > >> > ? ? ? ? ? ? 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, > -GarrettReceived on Tue Oct 12 2010 - 18:31:55 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:08 UTC