Subject: Re: IIx w/Daystar 50MHz & 3bmice
To: Lawrence Kesteloot <lk@milquetoast.engr.sgi.com>
From: Space Case <wormey@eskimo.com>
List: macbsd-general
Date: 06/25/1994 10:25:13
: The ethernet driver doesn't work.  It gets an interrupt on receiving a
: packet, but doesn't get one after sending.  I've ordered the documentation
: on the ethernet chip and I was going to work on it in August sometime.

Having just spent the last 4 minutes looking through if_ae.c I have
some comments regarding it.

When I did the 3c509 driver for NetBSD/i386, I determined eventually that
there was no benefit in my receiving a transmit-completion interrupt unless
there was an error.  Now, given that the 3c509 doesn't use an 8390 as
do the Mac ethernet boards, this might be wholly invalid.  But glancing
through the source, I don't really see anything that gets done to the
board in the event of a transmit-interrupt (ie: clearing a ring-buffer or
anything) so one would think you could get away with just calling aestart()
continually until there's no more room; then set OACTIVE or whatever method
you want to use...

In the case of if_ep, there *is* code to handle a tx_complete but that
interrupt only arrives in the case of an error (collision, jabber, etc).

As long as you have some way of asking the chip how much room is left
in the buffer for packet data, you shouldn't need this interrupt.

Whatever. Keep in mind this is coming from someone who doesn't have a Mac,
has never used one, and only looked at the source for a few minutes...

hpeyerl@novatel.ca                           |  NovAtel Commnications Ltd.
hpeyerl@fsa.ca                               | <nothing I say matters anyway>
 "A sucking chest wound is nature's way of telling you to slow down."

------------------------------------------------------------------------------