]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r213495,213742:
authoryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 2 Nov 2010 23:41:43 +0000 (23:41 +0000)
committeryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 2 Nov 2010 23:41:43 +0000 (23:41 +0000)
commitc46c8ac8d906748d8d067d993547767da47a5075
tree4b93f06b22d20e5577425addbcfa082e8ee6331a
parent91c337d0c0f8903cd70fc9ffca4eea029d4f0191
MFC r213495,213742:
r213495:
  Add more comments to rings supported by the controller. Different
  versions of controller support different number of ring control
  blocks such that adjust code a bit to access known number of
  send/receive ring control blocks. Previously bge(4) blindly
  accessed 16 send/receive RCBs. Also move initializing standard
  receive producer ring producer index, jumbo receive producer ring
  producer index and mini receive producer ring producer index to
  the end of each receive producer ring initialization.

  Do not assume mini receive producer ring is available only when
  controller has jumbo frame capability, instead explicitly check
  ASIC version BCM5700 to disable mini receive producer ring.

  Additionally always enable send ring 0 regardless of controller
  versions. Previously bge(4) didn't enable send ring 0 if controller
  is BGE_IS_5705_PLUS. Becase bge(4) need 1 send ring to send frames
  at least, I have no idea how it would have worked so far.

  Submitted by: davidch

r213742:
  Fix a regression introduced in r213495. r213495 disabled mini
  receive producer ring only for BCM5700. It was believed that
  BCM5700 with external SSRAM is the only controller that supports
  mini ring but it seems all BCM570[0-4] requires to disable mini
  receive producer ring. Otherwise, it caused unexpected RX DMA
  error or watchdog timeouts.

  Reported by: marius, Steve Kargl <sgk <> troutmask dot apl dot washington dot edu>
  Tested by: marius, Steve Kargl <sgk <> troutmask dot apl dot washington dot edu>

git-svn-id: svn://svn.freebsd.org/base/stable/8@214706 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/bge/if_bge.c