[vortex] [CFT] 3c59x.c for 2.2.18-pre
Koos van den Hout
koos@kzdoos.xs4all.nl
Sat, 21 Oct 2000 12:27:02 +0200
Quoting Andrew Morton who wrote on Sat, Oct 21, 2000 at 07:19:07PM +1100:
> Does the interface function reliably when the duplex is not forced?
It works fine, half-duplex. (but I want full-duplex, that's why I got the
switch.. I know there are issues with recognition of fullduplex on 100
mbit)
> > 3c59x.c 19Oct00 Donald Becker and others
> > http://www.scyld.com/network/vortex.html
> > eth0: 3Com 3c595 Vortex 100baseTx at 0xd000, 00:a0:24:0b:2e:41, IRQ 5
> ^^^^^^^^^
>
> hmm.. There seems to be a disagreement between the drivers and
> `vortex-diag' about the human-readable name of this device. Could you
> please confirm that this is in fact a 10/100 NIC?
Doublechecked, it is. The transfer speed with ftp also suggests it:
32670440 bytes received in 9.86 seconds, 3.16 MB/s.
(report from ncftp in bytes/sec)
> I have a feeling that this is the second recent report of this. It
> indicates that the bus mastering couldn't get data from your host
> quickly enough. Is there anything else going on on the machine at the
> time? Like high-bandwidth video display output?
I'm running X, but it's not having much changes. The only app running is
Xmms and a few xterms.
> This value says that the NIC should not start transitting a frame until
> it is _all_ contained within the onboard FIFO, which makes the reported
> underruns very wierd.
>
> You could try this patch, but it's a stab in the dark...
It looks (this is very subjective!) like I get *less* errors. I still see
a few errors:
3c59x.c 19Oct00 Donald Becker and others
http://www.scyld.com/network/vortex.html
eth0: 3Com 3c595 Vortex 100baseTx at 0xd000, 00:a0:24:0b:2e:41, IRQ 5
64K word-wide RAM 3:1 Rx:Tx split, autoselect/10baseT interface.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register d0.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register c0.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
eth0: Transmit error, Tx status register 90.
This is over a *lot* more transfers then the previous report I made!
> Index: drivers/net/3c59x.c
> ===================================================================
> RCS file: /opt/cvs/lk2.2/drivers/net/3c59x.c,v
> retrieving revision 1.11
> diff -u -r1.11 3c59x.c
> --- drivers/net/3c59x.c 2000/10/19 12:24:22 1.11
> +++ drivers/net/3c59x.c 2000/10/21 08:18:05
> @@ -1205,6 +1205,7 @@
> vp->tx_skbuff[i] = 0;
> outl(0, ioaddr + DownListPtr);
> }
> + outw(SetTxStart|(1600<<2), ioaddr + EL3_CMD);
> /* Set reciever mode: presumably accept b-case and phys addr only. */
> set_rx_mode(dev);
> outw(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */
--
Koos van den Hout, PGP keyid RSA/1024 0xCA845CB5 via keyservers
koos@kzdoos.xs4all.nl or DSS/1024 0xF0D7C263 -?)
Fax +31-30-2817051 Visit my site about books with reviews /\\
http://idefix.net/~koos/ http://www.virtualbookcase.com/ _\_V