Subject: Re: Recommendations wanted for 100baseTX cards
To: Matthew Orgass <darkstar@pgh.net>
From: Bill Paul <wpaul@ee.columbia.edu>
List: port-i386
Date: 01/30/2000 13:57:14
Of all the gin joints in all the towns in all the world, Matthew Orgass had
to walk into mine and say:

> On Sat, 29 Jan 2000, Jason Thorpe wrote:
> 
> > On Sat, 29 Jan 2000 13:50:23 -0500 (EST) 
> >  wpaul@ee.columbia.edu (Bill Paul) wrote:
> > 
> >  > I asked the Davicom people why the problems with the DM9102 weren't
> >  > documented in their datasheet in an errata section. They told me that
> >  > they didn't consider it an issue because typically their customers that
> >  > use the DM9102 chip also use the drivers that Davicom provides them,
> >  > which are written by Davicom engineers and have workarounds for the
> >  > problems. I harrassed them a bit over this; hopefully it will have some
> >  > effect.
> > 
> > Well, that's annoying!  :-)
> 
>   Yeah, you also need to turn off interrupts in the interrupt routine
> before reading the status to avoid bogus bits (also undocumented).  They
> also changed the most of the rx and tx states, just for fun (but
> documented at least).

Dang, I never even noticed that. (The state bit changes I mean: I always
disable interrupts before reading the status register.)
 
> > I have some DM9102 boards on the way from Davicom, but they're apparently
> > stuck in customs!  Grumble.  Anyhow, I'll keep this in mind when adding
> > support for the chip.
> 
>   I've got a good start on it, but it still isn't working.  I don't have a
> clue why not.  I just updated it to set CSR0 to 0 always and use one
> DMA segment, but still no go.  My diffs so far are at
> http://www.pgh.net/~darkstar/dm9102.diff

Hm. What isn't working exactly? I didn't have too much trouble getting it
to work on FreeBSD (except for the transmit corruption problem due to the
broken scatter/gather DMA). One of the things I was told during my exchanges
with the Davicom people is that the DM9102A requires the TX and RX
descriptors to be aligned on 16 byte boundaries (4 DWords alignment, as
they put it). It's possible the DM9102 has the same restriction.

Hard to say what could be going wrong without more details though.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Department of Electrical Engineering
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
"Mulder, toads just fell from the sky!" "I guess their parachutes didn't open."
=============================================================================