In message <951121233631.ZM7814@pag>, pab@RMnet.IT writes:
>X-Warning: this a message readable at multiple levels. Which ones, is
>left to the reader. As hint, the number of two is given.
>
>So i recalled that somebody said that the controller is
>actually an NCRsomenumber, and i started giving a look to some Drew's
>code. Gee^3! there are _data structeres_ here! (hope they make sense,
>anyway :). So i can be quite confident that some kind of scsi code will
>be present in our project, someday.
I deleted the original message, otherwise I would have probably
said something relevant sooner. Anyways, we have Linux drivers for both
the NCR53c406a, and AMD53C974. Both of these combine a NCR53c94 or
NCR53cf94 core (this is the closest valid match for the NCR59c94
mentioned) with on-chip buffers ('406a) or bus-mastering DMA engine (
AMD53C974); change the DMA part, and you're in business.
The NCR53c406a driver doesn't do disconnect/reconnect, and lacks the
framework needed to support multiple outstanding commands. You
_really_ want those if you're using tape drives and sometimes CD ROMs.
Adding them is non-trivial.
The AMD53C974 does these things, and is derrived from my NCR5380
driver; which is among the most stable of the dumb-board drivers under
Linux (provided you don't try and use some off-chip handshaking
hardware which was barely documented, or the slave DMA that my
hardware didn't implement). Ie, a few tweaks and we should have
SCSI working, with good performance, and so-so CPU loading.
There aren't any endian assumptions in the 5380 code or SCSI code in
general (the 68K people are doing fine with it), so you should be
happy on a Big or Little endian MIPS.
Does some one have a spare one of these machines?
|