Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | README file for the Linux DTC3180/3280 scsi driver. |
| 2 | by Ray Van Tassle (rayvt@comm.mot.com) March 1996 |
| 3 | Based on the generic & core NCR5380 code by Drew Eckhard |
| 4 | |
| 5 | SCSI device driver for the DTC 3180/3280. |
| 6 | Data Technology Corp---a division of Qume. |
| 7 | |
| 8 | The 3280 has a standard floppy interface. |
| 9 | |
| 10 | The 3180 does not. Otherwise, they are identical. |
| 11 | |
| 12 | The DTC3x80 does not support DMA but it does have Pseudo-DMA which is |
| 13 | supported by the driver. |
| 14 | |
| 15 | It's DTC406 scsi chip is supposedly compatible with the NCR 53C400. |
| 16 | It is memory mapped, uses an IRQ, but no dma or io-port. There is |
| 17 | internal DMA, between SCSI bus and an on-chip 128-byte buffer. Double |
| 18 | buffering is done automagically by the chip. Data is transferred |
| 19 | between the on-chip buffer and CPU/RAM via memory moves. |
| 20 | |
| 21 | The driver detects the possible memory addresses (jumper selectable): |
| 22 | CC00, DC00, C800, and D800 |
| 23 | The possible IRQ's (jumper selectable) are: |
| 24 | IRQ 10, 11, 12, 15 |
| 25 | Parity is supported by the chip, but not by this driver. |
| 26 | Information can be obtained from /proc/scsi/dtc3c80/N. |
| 27 | |
| 28 | Note on interrupts: |
| 29 | |
| 30 | The documentation says that it can be set to interrupt whenever the |
| 31 | on-chip buffer needs CPU attention. I couldn't get this to work. So |
| 32 | the driver polls for data-ready in the pseudo-DMA transfer routine. |
| 33 | The interrupt support routines in the NCR3280.c core modules handle |
| 34 | scsi disconnect/reconnect, and this (mostly) works. However..... I |
| 35 | have tested it with 4 totally different hard drives (both SCSI-1 and |
| 36 | SCSI-2), and one CDROM drive. Interrupts works great for all but one |
| 37 | specific hard drive. For this one, the driver will eventually hang in |
| 38 | the transfer state. I have tested with: "dd bs=4k count=2k |
| 39 | of=/dev/null if=/dev/sdb". It reads ok for a while, then hangs. |
| 40 | After beating my head against this for a couple of weeks, getting |
| 41 | nowhere, I give up. So.....This driver does NOT use interrupts, even |
| 42 | if you have the card jumpered to an IRQ. Probably nobody will ever |
| 43 | care. |