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>