[eepro100] Transmitter Timeout -- addednum

Donald Becker becker@scyld.com
Tue, 1 Aug 2000 01:49:08 -0400 (EDT)

On Mon, 31 Jul 2000, Kallol Biswas wrote:

> You may change the eepro100 to put a cmd NOP after you set the S bit,
> probably intel's linux driver already does it.

No, this is just extra CPU overhead and wasting two PCI bursts.

> > As I had said, stright out of the text-book DMA-oriented driver. . . but
> > I can't figure out for the life of me how the tx ring is dealt with. . .
> > I'm assuming that the data to be sent is held in the same sk_buff
> > structure ring as the recieved data, but I can't even find where the
> > tx_ring[] is set up, nor can I grep out the structure definition for
> > sk_buff. . . .

I'm referring to the v1.10/v1.11 driver below.

The tx_ring[] is constructed as needed.
The first command is added in open(), actually speedo_resume(), with a
CmdIASetup to tell the chip its Individual Addess (MAC station address).
The link to the subsequent command is always initialized as the next entry
in tx_ring[].

There is only one case where the commands do not follow the ring: adding a
multicast filter list more than 3 elements long.  There we build a large
CmdMulticastList command and link to it with a NoOp in the ring.

> > I think after I figure this all out I'm going to go out an find an
> > obscure network card that a linux driver has not been written for and
> > give it a shot from scratch :). . . .recommend any good books?

Hmmm...mmm... the few that don't have drivers also don't have
documentation.  Or are so buggy you wouldn't want to get near them.

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Beowulf Clusters / Linux Installations
Annapolis MD 21403