]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r218830-218831:
authoryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Mar 2011 22:36:16 +0000 (22:36 +0000)
committeryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Mar 2011 22:36:16 +0000 (22:36 +0000)
commite4abf96d653841956a9353cba20c9bd42b791b76
tree47f94a9110f77a2a159d0aa6ae441016648cad55
parent645f158ee7ba7967ef9d1a7e061a18cc95265296
MFC r218830-218831:
r218830:
  Send frames only when there is a valid link and driver is running
  as well as controller has enough free TX descriptors.
  Remove check for number of queued frames before attempting to
  transmit. I guess it was added to allow draining queued frames
  even if there is no link. I'm under the impression this type of
  check should be done in upper layer. No other drivers in tree do
  that.

r218831:
  Rearrange interrupt handler a bit and remove forever loop.
  Previously dc(4) always checked whether there is pending interrupts
  and this consumed a lot of CPU cycles in interrupt handler. Limit
  the number of processing for TX/RX frames to 16. Also allow sending
  frames in the loop not to starve TX under high RX load.
  Reading DC_ISR register should be protected with driver lock,
  otherwise interrupt handler could be run(e.g. link state change)
  before the completion of dc_init_locked().

  While I'm here remove unneeded code.

git-svn-id: svn://svn.freebsd.org/base/stable/8@220070 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/dc/if_dc.c