Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jul 2000 10:25:21 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net>
To:        dg@root.com
Cc:        wollman@khavrinen.lcs.mit.edu (Garrett Wollman), freebsd-current@FreeBSD.ORG
Subject:   Re: dc driver and underruns (was: Strangeness with 4.0-S)
Message-ID:  <200007171725.KAA26568@gndrsh.dnsmgr.net>
In-Reply-To: <200007170214.TAA23537@implode.root.com> from David Greenman at "Jul 16, 2000 07:14:30 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
...
> >As far as I can tell the fxp driver doesn't even use the tx_fifo in the
> >825xxx chips :-)
> 
>    The 82557-9 have a 2KB internal buffer for transmits. They don't start
> transmitting until a programmed threshold is reached - this is to insure
> that PCI bus latency doesn't result in the transmitter getting stalled.
> The fxp driver starts out with this threshold set at 512 bytes, but will
> increase it (512 bytes at a time) when a DMA underrun occurs. Of course
> once the threshold reached 1536, then an entire 1500 byte packet is DMA'd
> into the buffer before the transmit begins.

Can you point me to the part of if_fxp.c that does this, as alls I can find
about any form of fifo in the code are these references:

Guardian# grep -i fifo *fxp*
if_fxp.c:       cbp->rx_fifo_limit =    8;      /* rx fifo threshold (32 bytes) */
if_fxp.c:       cbp->tx_fifo_limit =    0;      /* tx fifo threshold (0 bytes) */
if_fxpreg.h:    volatile u_int          rx_fifo_limit:4,
if_fxpreg.h:                            tx_fifo_limit:3,

No place do I find anything that does any adjustments to these values :-(.

-- 
Rod Grimes - KD7CAX @ CN85sl - (RWG25)               rgrimes@gndrsh.dnsmgr.net


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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