[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