Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Mar 2011 23:13:02 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/dc if_dc.c
Message-ID:  <201103272313.p2RNDBQB008927@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
yongari     2011-03-27 23:13:02 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    sys/dev/dc           if_dc.c 
  Log:
  SVN rev 220078 on 2011-03-27 23:13:02Z by yongari
  
  MFC r219407:
    Rearrange dc_tx_underrun() a bit to correctly set TX FIFO threshold
    value. Controllers that always require "store and forward" mode(
    Davicom and PNIC 82C168) have no way to recover from TX underrun
    except completely reinitializing hardware. Previously only Davicom
    was reinitialized and the TX FIFO threshold was changed not to use
    "store and forward" mode after reinitialization since the default
    FIFO threshold value was 0. This effectively disabled Davicom
    controller's "store and forward" mode once it encountered TX
    underruns. In theory, this can cause watchodg timeouts.
  
    Intel 21143 controller requires TX MAC should be idle before
    changing TX FIFO threshold. So driver tried to disable TX MAC and
    checked whether it saw the idle state of TX MAC. Driver should
    perform full hardware reinitialization on failing to enter to idle
    state and it should not touch TX MAC again once it performed full
    reinitialization.
  
    While I'm here remove resetting TX FIFO threshold to 0 when
    interface is put into down state. If driver ever encountered TX
    underrun, it's likely to trigger TX underrun again whenever
    interface is brought to up again. Keeping old/learned TX FIFO
    threshold value shall reduce the chance of seeing TX underrns in
    next run.
  
  Revision    Changes    Path
  1.201.2.11  +45 -39    src/sys/dev/dc/if_dc.c



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