m68k: Atari SCSI revival
SCSI should be working on a TT (but someone should really try!) but causes trouble on a Falcon (as in: it ate a filesystem of mine) at least when used concurrently with IDE. I have the notion it's because locking of the ST-DMA interrupt by IDE is broken in 2.6 (the IDE driver always complains about trying to release an already-released ST-DMA). Needs more work, but that's on the IDE or m68k interrupt side rather than SCSI. Signed-off-by: Michael Schmitz <schmitz@debian.org> Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
8d41f0e8d5
commit
fb810d121b
@@ -21,11 +21,7 @@
|
||||
int atari_scsi_detect (struct scsi_host_template *);
|
||||
const char *atari_scsi_info (struct Scsi_Host *);
|
||||
int atari_scsi_reset (Scsi_Cmnd *, unsigned int);
|
||||
#ifdef MODULE
|
||||
int atari_scsi_release (struct Scsi_Host *);
|
||||
#else
|
||||
#define atari_scsi_release NULL
|
||||
#endif
|
||||
|
||||
/* The values for CMD_PER_LUN and CAN_QUEUE are somehow arbitrary. Higher
|
||||
* values should work, too; try it! (but cmd_per_lun costs memory!) */
|
||||
@@ -63,6 +59,32 @@ int atari_scsi_release (struct Scsi_Host *);
|
||||
#define NCR5380_dma_xfer_len(i,cmd,phase) \
|
||||
atari_dma_xfer_len(cmd->SCp.this_residual,cmd,((phase) & SR_IO) ? 0 : 1)
|
||||
|
||||
/* former generic SCSI error handling stuff */
|
||||
|
||||
#define SCSI_ABORT_SNOOZE 0
|
||||
#define SCSI_ABORT_SUCCESS 1
|
||||
#define SCSI_ABORT_PENDING 2
|
||||
#define SCSI_ABORT_BUSY 3
|
||||
#define SCSI_ABORT_NOT_RUNNING 4
|
||||
#define SCSI_ABORT_ERROR 5
|
||||
|
||||
#define SCSI_RESET_SNOOZE 0
|
||||
#define SCSI_RESET_PUNT 1
|
||||
#define SCSI_RESET_SUCCESS 2
|
||||
#define SCSI_RESET_PENDING 3
|
||||
#define SCSI_RESET_WAKEUP 4
|
||||
#define SCSI_RESET_NOT_RUNNING 5
|
||||
#define SCSI_RESET_ERROR 6
|
||||
|
||||
#define SCSI_RESET_SYNCHRONOUS 0x01
|
||||
#define SCSI_RESET_ASYNCHRONOUS 0x02
|
||||
#define SCSI_RESET_SUGGEST_BUS_RESET 0x04
|
||||
#define SCSI_RESET_SUGGEST_HOST_RESET 0x08
|
||||
|
||||
#define SCSI_RESET_BUS_RESET 0x100
|
||||
#define SCSI_RESET_HOST_RESET 0x200
|
||||
#define SCSI_RESET_ACTION 0xff
|
||||
|
||||
/* Debugging printk definitions:
|
||||
*
|
||||
* ARB -> arbitration
|
||||
|
Reference in New Issue
Block a user