Subject: Re: Status of esp driver?
To: None <kenn@eden.rutgers.edu>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-mac68k
Date: 07/03/1997 12:49:03
On Sun, 29 Jun 1997 21:13:45 -0400 
 Ken Nakata <kenn@eden.rutgers.edu> wrote:

 > > I have several questions:
 > > 1.  What NetBSD platform did that come from?
 > 
 > Isn't that our sound chip driver? ;-) Ok, it sure looks like
 > sys/dev/tc/asc.c, which is a turbochannel device driver.  So, it must
 > be pmax and/or alpha.

It came from the pmax port.

 > > 2.  Is that a predecessor to the esp driver?
 > 
 > It looks like a 53c94 driver...  Isn't esp a 53c96 driver?  I don't
 > know anything about their similarity...  You should be able to
 > download the datasheets in PDF from NCR's web site IIRC.

No, here is the Real Scoop...

The "asc" driver in sys/dev/tc is based on Ralph Campbell's "asc" driver
from 4.4BSD.  It is not really related, in any way, to the "esp" driver
(which, BTW, is called "asc" in the Alpha port :-), except that it happens
to drive the same chip... the drivers are MUCH different.

To explain the names...

The name "esp" comes from "Emulex SCSI Processor" ... Emulex, as I recall,
did the orignal design of the chip .. The Sun SPARCstation used the ESP100
and ESP200 chips.  The ESP200 is roughtly equivalent to the NCR53c94.

NCR later picked up the design and shipped several chips based on it.
They are the NCR53c9x "Advanced SCSI Controller" series.

All of these chips are, for the most part, software compatible... there
are a few differences which are handled by the driver where necessary.

NetBSD now has a generic NCR53c9x driver... it is used by the alpha,
sparc, mac68k, and sun3x ports, currently.  Eventually, it will be used
by the amiga, arm32, (forthcoming) arc/pica, and pmax ports.  While not
as "cool" in terms of design (Ralph's driver uses a cool pseudo-script
design to implement the protocol state machine), the driver that lives
in sys/dev/ic/ncr53c9x.c has been though a lot more work in terms of
debugging.  It is rock-solid stable for me on both SPARCs and Alphas,
and performs quite well.

 > > 3.  What's the current status of the esp driver?  Will it handle such
 > > things as not causing a kernel panic when accessing a drive that's not
 > > ready?  Since esp's supposedly so M.I., what's the chance of easily
 > > porting it into MkLinux (given that its current driver is a NetBSD driver
 > > of some ilk)?
 > 
 > I can't comment on this one.

Depends... Ralph's "asc" driver doesn't interface with NetBSD's MI SCSI
subsystem... the generic driver does... Mach's SCSI subsytem is much more
like how things were done in 4.4BSD, than in NetBSD.

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939