1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef ATARI_SCSI_H
16#define ATARI_SCSI_H
17
18
19
20#ifndef ASM
21
22
23
24
25
26
27
28
29
30
31#define ATARI_TT_CAN_QUEUE 16
32#define ATARI_TT_CMD_PER_LUN 8
33#define ATARI_TT_SG_TABLESIZE SG_ALL
34
35#define ATARI_FALCON_CAN_QUEUE 8
36#define ATARI_FALCON_CMD_PER_LUN 1
37#define ATARI_FALCON_SG_TABLESIZE SG_NONE
38
39#define DEFAULT_USE_TAGGED_QUEUING 0
40
41
42#define NCR5380_implementation_fields
43
44#define NCR5380_read(reg) atari_scsi_reg_read( reg )
45#define NCR5380_write(reg, value) atari_scsi_reg_write( reg, value )
46
47#define NCR5380_intr atari_scsi_intr
48#define NCR5380_queue_command atari_scsi_queue_command
49#define NCR5380_abort atari_scsi_abort
50#define NCR5380_show_info atari_scsi_show_info
51#define NCR5380_dma_read_setup(inst,d,c) atari_scsi_dma_setup (inst, d, c, 0)
52#define NCR5380_dma_write_setup(inst,d,c) atari_scsi_dma_setup (inst, d, c, 1)
53#define NCR5380_dma_residual(inst) atari_scsi_dma_residual( inst )
54#define NCR5380_dma_xfer_len(i,cmd,phase) \
55 atari_dma_xfer_len(cmd->SCp.this_residual,cmd,((phase) & SR_IO) ? 0 : 1)
56
57
58
59#define SCSI_ABORT_SNOOZE 0
60#define SCSI_ABORT_SUCCESS 1
61#define SCSI_ABORT_PENDING 2
62#define SCSI_ABORT_BUSY 3
63#define SCSI_ABORT_NOT_RUNNING 4
64#define SCSI_ABORT_ERROR 5
65
66#define SCSI_RESET_SNOOZE 0
67#define SCSI_RESET_PUNT 1
68#define SCSI_RESET_SUCCESS 2
69#define SCSI_RESET_PENDING 3
70#define SCSI_RESET_WAKEUP 4
71#define SCSI_RESET_NOT_RUNNING 5
72#define SCSI_RESET_ERROR 6
73
74#define SCSI_RESET_SYNCHRONOUS 0x01
75#define SCSI_RESET_ASYNCHRONOUS 0x02
76#define SCSI_RESET_SUGGEST_BUS_RESET 0x04
77#define SCSI_RESET_SUGGEST_HOST_RESET 0x08
78
79#define SCSI_RESET_BUS_RESET 0x100
80#define SCSI_RESET_HOST_RESET 0x200
81#define SCSI_RESET_ACTION 0xff
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111#define dprint(flg, format...) \
112({ \
113 if (NDEBUG & (flg)) \
114 printk(KERN_DEBUG format); \
115})
116
117#define ARB_PRINTK(format, args...) \
118 dprint(NDEBUG_ARBITRATION, format , ## args)
119#define ASEN_PRINTK(format, args...) \
120 dprint(NDEBUG_AUTOSENSE, format , ## args)
121#define DMA_PRINTK(format, args...) \
122 dprint(NDEBUG_DMA, format , ## args)
123#define HSH_PRINTK(format, args...) \
124 dprint(NDEBUG_HANDSHAKE, format , ## args)
125#define INF_PRINTK(format, args...) \
126 dprint(NDEBUG_INFORMATION, format , ## args)
127#define INI_PRINTK(format, args...) \
128 dprint(NDEBUG_INIT, format , ## args)
129#define INT_PRINTK(format, args...) \
130 dprint(NDEBUG_INTR, format , ## args)
131#define LNK_PRINTK(format, args...) \
132 dprint(NDEBUG_LINKED, format , ## args)
133#define MAIN_PRINTK(format, args...) \
134 dprint(NDEBUG_MAIN, format , ## args)
135#define NDAT_PRINTK(format, args...) \
136 dprint(NDEBUG_NO_DATAOUT, format , ## args)
137#define NWR_PRINTK(format, args...) \
138 dprint(NDEBUG_NO_WRITE, format , ## args)
139#define PIO_PRINTK(format, args...) \
140 dprint(NDEBUG_PIO, format , ## args)
141#define PDMA_PRINTK(format, args...) \
142 dprint(NDEBUG_PSEUDO_DMA, format , ## args)
143#define QU_PRINTK(format, args...) \
144 dprint(NDEBUG_QUEUES, format , ## args)
145#define RSL_PRINTK(format, args...) \
146 dprint(NDEBUG_RESELECTION, format , ## args)
147#define SEL_PRINTK(format, args...) \
148 dprint(NDEBUG_SELECTION, format , ## args)
149#define USL_PRINTK(format, args...) \
150 dprint(NDEBUG_USLEEP, format , ## args)
151#define LBS_PRINTK(format, args...) \
152 dprint(NDEBUG_LAST_BYTE_SENT, format , ## args)
153#define RSS_PRINTK(format, args...) \
154 dprint(NDEBUG_RESTART_SELECT, format , ## args)
155#define EXT_PRINTK(format, args...) \
156 dprint(NDEBUG_EXTENDED, format , ## args)
157#define ABRT_PRINTK(format, args...) \
158 dprint(NDEBUG_ABORT, format , ## args)
159#define TAG_PRINTK(format, args...) \
160 dprint(NDEBUG_TAGS, format , ## args)
161#define MER_PRINTK(format, args...) \
162 dprint(NDEBUG_MERGING, format , ## args)
163
164
165
166#define NCR_PRINT(mask) \
167 ((NDEBUG & (mask)) ? NCR5380_print(instance) : (void)0)
168
169#define NCR_PRINT_PHASE(mask) \
170 ((NDEBUG & (mask)) ? NCR5380_print_phase(instance) : (void)0)
171
172#define NCR_PRINT_STATUS(mask) \
173 ((NDEBUG & (mask)) ? NCR5380_print_status(instance) : (void)0)
174
175
176#endif
177#endif
178
179
180