[SCSI] sg: handle class_device_create failure properly
[linux-2.6] / drivers / scsi / aic7xxx_old / aic7xxx_reg.h
1 /*
2   * DO NOT EDIT - This file is automatically generated.
3   */
4
5 #define SCSISEQ                         0x00
6 #define         TEMODE                  0x80
7 #define         ENSELO                  0x40
8 #define         ENSELI                  0x20
9 #define         ENRSELI                 0x10
10 #define         ENAUTOATNO              0x08
11 #define         ENAUTOATNI              0x04
12 #define         ENAUTOATNP              0x02
13 #define         SCSIRSTO                0x01
14
15 #define SXFRCTL0                        0x01
16 #define         DFON                    0x80
17 #define         DFPEXP                  0x40
18 #define         FAST20                  0x20
19 #define         CLRSTCNT                0x10
20 #define         SPIOEN                  0x08
21 #define         SCAMEN                  0x04
22 #define         CLRCHN                  0x02
23
24 #define SXFRCTL1                        0x02
25 #define         BITBUCKET               0x80
26 #define         SWRAPEN                 0x40
27 #define         ENSPCHK                 0x20
28 #define         STIMESEL                0x18
29 #define         ENSTIMER                0x04
30 #define         ACTNEGEN                0x02
31 #define         STPWEN                  0x01
32
33 #define SCSISIGO                        0x03
34 #define         CDO                     0x80
35 #define         IOO                     0x40
36 #define         MSGO                    0x20
37 #define         ATNO                    0x10
38 #define         SELO                    0x08
39 #define         BSYO                    0x04
40 #define         REQO                    0x02
41 #define         ACKO                    0x01
42
43 #define SCSISIGI                        0x03
44 #define         ATNI                    0x10
45 #define         SELI                    0x08
46 #define         BSYI                    0x04
47 #define         REQI                    0x02
48 #define         ACKI                    0x01
49
50 #define SCSIRATE                        0x04
51 #define         WIDEXFER                0x80
52 #define         SXFR_ULTRA2             0x7f
53 #define         SXFR                    0x70
54 #define         SOFS                    0x0f
55
56 #define SCSIID                          0x05
57 #define SCSIOFFSET                      0x05
58 #define         SOFS_ULTRA2             0x7f
59
60 #define SCSIDATL                        0x06
61
62 #define SCSIDATH                        0x07
63
64 #define STCNT                           0x08
65
66 #define OPTIONMODE                      0x08
67 #define         AUTORATEEN              0x80
68 #define         AUTOACKEN               0x40
69 #define         ATNMGMNTEN              0x20
70 #define         BUSFREEREV              0x10
71 #define         EXPPHASEDIS             0x08
72 #define         SCSIDATL_IMGEN          0x04
73 #define         AUTO_MSGOUT_DE          0x02
74 #define         DIS_MSGIN_DUALEDGE      0x01
75
76 #define CLRSINT0                        0x0b
77 #define         CLRSELDO                0x40
78 #define         CLRSELDI                0x20
79 #define         CLRSELINGO              0x10
80 #define         CLRSWRAP                0x08
81 #define         CLRSPIORDY              0x02
82
83 #define SSTAT0                          0x0b
84 #define         TARGET                  0x80
85 #define         SELDO                   0x40
86 #define         SELDI                   0x20
87 #define         SELINGO                 0x10
88 #define         IOERR                   0x08
89 #define         SWRAP                   0x08
90 #define         SDONE                   0x04
91 #define         SPIORDY                 0x02
92 #define         DMADONE                 0x01
93
94 #define CLRSINT1                        0x0c
95 #define         CLRSELTIMEO             0x80
96 #define         CLRATNO                 0x40
97 #define         CLRSCSIRSTI             0x20
98 #define         CLRBUSFREE              0x08
99 #define         CLRSCSIPERR             0x04
100 #define         CLRPHASECHG             0x02
101 #define         CLRREQINIT              0x01
102
103 #define SSTAT1                          0x0c
104 #define         SELTO                   0x80
105 #define         ATNTARG                 0x40
106 #define         SCSIRSTI                0x20
107 #define         PHASEMIS                0x10
108 #define         BUSFREE                 0x08
109 #define         SCSIPERR                0x04
110 #define         PHASECHG                0x02
111 #define         REQINIT                 0x01
112
113 #define SSTAT2                          0x0d
114 #define         OVERRUN                 0x80
115 #define         SHVALID                 0x40
116 #define         WIDE_RES                0x20
117 #define         SFCNT                   0x1f
118 #define         EXP_ACTIVE              0x10
119 #define         CRCVALERR               0x08
120 #define         CRCENDERR               0x04
121 #define         CRCREQERR               0x02
122 #define         DUAL_EDGE_ERROR         0x01
123
124 #define SSTAT3                          0x0e
125 #define         SCSICNT                 0xf0
126 #define         OFFCNT                  0x0f
127
128 #define SCSIID_ULTRA2                   0x0f
129 #define         OID                     0x0f
130
131 #define SIMODE0                         0x10
132 #define         ENSELDO                 0x40
133 #define         ENSELDI                 0x20
134 #define         ENSELINGO               0x10
135 #define         ENIOERR                 0x08
136 #define         ENSWRAP                 0x08
137 #define         ENSDONE                 0x04
138 #define         ENSPIORDY               0x02
139 #define         ENDMADONE               0x01
140
141 #define SIMODE1                         0x11
142 #define         ENSELTIMO               0x80
143 #define         ENATNTARG               0x40
144 #define         ENSCSIRST               0x20
145 #define         ENPHASEMIS              0x10
146 #define         ENBUSFREE               0x08
147 #define         ENSCSIPERR              0x04
148 #define         ENPHASECHG              0x02
149 #define         ENREQINIT               0x01
150
151 #define SCSIBUSL                        0x12
152
153 #define SCSIBUSH                        0x13
154
155 #define SHADDR                          0x14
156
157 #define SELTIMER                        0x18
158 #define         STAGE6                  0x20
159 #define         STAGE5                  0x10
160 #define         STAGE4                  0x08
161 #define         STAGE3                  0x04
162 #define         STAGE2                  0x02
163 #define         STAGE1                  0x01
164
165 #define SELID                           0x19
166 #define         SELID_MASK              0xf0
167 #define         ONEBIT                  0x08
168
169 #define SPIOCAP                         0x1b
170 #define         SOFT1                   0x80
171 #define         SOFT0                   0x40
172 #define         SOFTCMDEN               0x20
173 #define         HAS_BRDCTL              0x10
174 #define         SEEPROM                 0x08
175 #define         EEPROM                  0x04
176 #define         ROM                     0x02
177 #define         SSPIOCPS                0x01
178
179 #define BRDCTL                          0x1d
180 #define         BRDDAT7                 0x80
181 #define         BRDDAT6                 0x40
182 #define         BRDDAT5                 0x20
183 #define         BRDDAT4                 0x10
184 #define         BRDSTB                  0x10
185 #define         BRDCS                   0x08
186 #define         BRDDAT3                 0x08
187 #define         BRDDAT2                 0x04
188 #define         BRDRW                   0x04
189 #define         BRDRW_ULTRA2            0x02
190 #define         BRDCTL1                 0x02
191 #define         BRDSTB_ULTRA2           0x01
192 #define         BRDCTL0                 0x01
193
194 #define SEECTL                          0x1e
195 #define         EXTARBACK               0x80
196 #define         EXTARBREQ               0x40
197 #define         SEEMS                   0x20
198 #define         SEERDY                  0x10
199 #define         SEECS                   0x08
200 #define         SEECK                   0x04
201 #define         SEEDO                   0x02
202 #define         SEEDI                   0x01
203
204 #define SBLKCTL                         0x1f
205 #define         DIAGLEDEN               0x80
206 #define         DIAGLEDON               0x40
207 #define         AUTOFLUSHDIS            0x20
208 #define         ENAB40                  0x08
209 #define         ENAB20                  0x04
210 #define         SELWIDE                 0x02
211 #define         XCVR                    0x01
212
213 #define SRAM_BASE                       0x20
214
215 #define TARG_SCSIRATE                   0x20
216
217 #define ULTRA_ENB                       0x30
218
219 #define DISC_DSB                        0x32
220
221 #define MSG_OUT                         0x34
222
223 #define DMAPARAMS                       0x35
224 #define         PRELOADEN               0x80
225 #define         WIDEODD                 0x40
226 #define         SCSIEN                  0x20
227 #define         SDMAENACK               0x10
228 #define         SDMAEN                  0x10
229 #define         HDMAEN                  0x08
230 #define         HDMAENACK               0x08
231 #define         DIRECTION               0x04
232 #define         FIFOFLUSH               0x02
233 #define         FIFORESET               0x01
234
235 #define SEQ_FLAGS                       0x36
236 #define         IDENTIFY_SEEN           0x80
237 #define         SCBPTR_VALID            0x20
238 #define         DPHASE                  0x10
239 #define         AMTARGET                0x08
240 #define         WIDE_BUS                0x02
241 #define         TWIN_BUS                0x01
242
243 #define SAVED_TCL                       0x37
244
245 #define SG_COUNT                        0x38
246
247 #define SG_NEXT                         0x39
248
249 #define LASTPHASE                       0x3d
250 #define         P_MESGIN                0xe0
251 #define         PHASE_MASK              0xe0
252 #define         P_STATUS                0xc0
253 #define         P_MESGOUT               0xa0
254 #define         P_COMMAND               0x80
255 #define         CDI                     0x80
256 #define         IOI                     0x40
257 #define         P_DATAIN                0x40
258 #define         MSGI                    0x20
259 #define         P_BUSFREE               0x01
260 #define         P_DATAOUT               0x00
261
262 #define WAITING_SCBH                    0x3e
263
264 #define DISCONNECTED_SCBH               0x3f
265
266 #define FREE_SCBH                       0x40
267
268 #define HSCB_ADDR                       0x41
269
270 #define SCBID_ADDR                      0x45
271
272 #define TMODE_CMDADDR                   0x49
273
274 #define KERNEL_QINPOS                   0x4d
275
276 #define QINPOS                          0x4e
277
278 #define QOUTPOS                         0x4f
279
280 #define TMODE_CMDADDR_NEXT              0x50
281
282 #define ARG_1                           0x51
283 #define RETURN_1                        0x51
284 #define         SEND_MSG                0x80
285 #define         SEND_SENSE              0x40
286 #define         SEND_REJ                0x20
287 #define         MSGOUT_PHASEMIS         0x10
288
289 #define ARG_2                           0x52
290 #define RETURN_2                        0x52
291
292 #define LAST_MSG                        0x53
293
294 #define PREFETCH_CNT                    0x54
295
296 #define SCSICONF                        0x5a
297 #define         TERM_ENB                0x80
298 #define         RESET_SCSI              0x40
299 #define         HWSCSIID                0x0f
300 #define         HSCSIID                 0x07
301
302 #define HOSTCONF                        0x5d
303
304 #define HA_274_BIOSCTRL                 0x5f
305 #define         BIOSMODE                0x30
306 #define         BIOSDISABLED            0x30
307 #define         CHANNEL_B_PRIMARY       0x08
308
309 #define SEQCTL                          0x60
310 #define         PERRORDIS               0x80
311 #define         PAUSEDIS                0x40
312 #define         FAILDIS                 0x20
313 #define         FASTMODE                0x10
314 #define         BRKADRINTEN             0x08
315 #define         STEP                    0x04
316 #define         SEQRESET                0x02
317 #define         LOADRAM                 0x01
318
319 #define SEQRAM                          0x61
320
321 #define SEQADDR0                        0x62
322
323 #define SEQADDR1                        0x63
324 #define         SEQADDR1_MASK           0x01
325
326 #define ACCUM                           0x64
327
328 #define SINDEX                          0x65
329
330 #define DINDEX                          0x66
331
332 #define ALLONES                         0x69
333
334 #define ALLZEROS                        0x6a
335
336 #define NONE                            0x6a
337
338 #define FLAGS                           0x6b
339 #define         ZERO                    0x02
340 #define         CARRY                   0x01
341
342 #define SINDIR                          0x6c
343
344 #define DINDIR                          0x6d
345
346 #define FUNCTION1                       0x6e
347
348 #define STACK                           0x6f
349
350 #define TARG_OFFSET                     0x70
351
352 #define BCTL                            0x84
353 #define         ACE                     0x08
354 #define         ENABLE                  0x01
355
356 #define DSCOMMAND0                      0x84
357 #define         INTSCBRAMSEL            0x08
358 #define         RAMPS                   0x04
359 #define         USCBSIZE32              0x02
360 #define         CIOPARCKEN              0x01
361
362 #define DSCOMMAND                       0x84
363 #define         CACHETHEN               0x80
364 #define         DPARCKEN                0x40
365 #define         MPARCKEN                0x20
366 #define         EXTREQLCK               0x10
367
368 #define BUSTIME                         0x85
369 #define         BOFF                    0xf0
370 #define         BON                     0x0f
371
372 #define BUSSPD                          0x86
373 #define         DFTHRSH                 0xc0
374 #define         STBOFF                  0x38
375 #define         STBON                   0x07
376
377 #define DSPCISTATUS                     0x86
378 #define         DFTHRSH_100             0xc0
379
380 #define HCNTRL                          0x87
381 #define         POWRDN                  0x40
382 #define         SWINT                   0x10
383 #define         IRQMS                   0x08
384 #define         PAUSE                   0x04
385 #define         INTEN                   0x02
386 #define         CHIPRST                 0x01
387 #define         CHIPRSTACK              0x01
388
389 #define HADDR                           0x88
390
391 #define HCNT                            0x8c
392
393 #define SCBPTR                          0x90
394
395 #define INTSTAT                         0x91
396 #define         SEQINT_MASK             0xf1
397 #define         DATA_OVERRUN            0xe1
398 #define         MSGIN_PHASEMIS          0xd1
399 #define         TRACEPOINT2             0xc1
400 #define         SEQ_SG_FIXUP            0xb1
401 #define         AWAITING_MSG            0xa1
402 #define         RESIDUAL                0x81
403 #define         BAD_STATUS              0x71
404 #define         REJECT_MSG              0x61
405 #define         WIDE_RESIDUE            0x51
406 #define         EXTENDED_MSG            0x41
407 #define         NO_MATCH                0x31
408 #define         NO_IDENT                0x21
409 #define         SEND_REJECT             0x11
410 #define         INT_PEND                0x0f
411 #define         BRKADRINT               0x08
412 #define         SCSIINT                 0x04
413 #define         CMDCMPLT                0x02
414 #define         BAD_PHASE               0x01
415 #define         SEQINT                  0x01
416
417 #define CLRINT                          0x92
418 #define         CLRPARERR               0x10
419 #define         CLRBRKADRINT            0x08
420 #define         CLRSCSIINT              0x04
421 #define         CLRCMDINT               0x02
422 #define         CLRSEQINT               0x01
423
424 #define ERROR                           0x92
425 #define         CIOPARERR               0x80
426 #define         PCIERRSTAT              0x40
427 #define         MPARERR                 0x20
428 #define         DPARERR                 0x10
429 #define         SQPARERR                0x08
430 #define         ILLOPCODE               0x04
431 #define         DSCTMOUT                0x02
432 #define         ILLSADDR                0x02
433 #define         ILLHADDR                0x01
434
435 #define DFCNTRL                         0x93
436
437 #define DFSTATUS                        0x94
438 #define         PRELOAD_AVAIL           0x80
439 #define         DWORDEMP                0x20
440 #define         MREQPEND                0x10
441 #define         HDONE                   0x08
442 #define         DFTHRESH                0x04
443 #define         FIFOFULL                0x02
444 #define         FIFOEMP                 0x01
445
446 #define DFDAT                           0x99
447
448 #define SCBCNT                          0x9a
449 #define         SCBAUTO                 0x80
450 #define         SCBCNT_MASK             0x1f
451
452 #define QINFIFO                         0x9b
453
454 #define QINCNT                          0x9c
455
456 #define SCSIDATL_IMG                    0x9c
457
458 #define QOUTFIFO                        0x9d
459
460 #define CRCCONTROL1                     0x9d
461 #define         CRCONSEEN               0x80
462 #define         CRCVALCHKEN             0x40
463 #define         CRCENDCHKEN             0x20
464 #define         CRCREQCHKEN             0x10
465 #define         TARGCRCENDEN            0x08
466 #define         TARGCRCCNTEN            0x04
467
468 #define SCSIPHASE                       0x9e
469 #define         SP_STATUS               0x20
470 #define         SP_COMMAND              0x10
471 #define         SP_MSG_IN               0x08
472 #define         SP_MSG_OUT              0x04
473 #define         SP_DATA_IN              0x02
474 #define         SP_DATA_OUT             0x01
475
476 #define QOUTCNT                         0x9e
477
478 #define SFUNCT                          0x9f
479 #define         ALT_MODE                0x80
480
481 #define SCB_CONTROL                     0xa0
482 #define         MK_MESSAGE              0x80
483 #define         DISCENB                 0x40
484 #define         TAG_ENB                 0x20
485 #define         DISCONNECTED            0x04
486 #define         SCB_TAG_TYPE            0x03
487
488 #define SCB_BASE                        0xa0
489
490 #define SCB_TCL                         0xa1
491 #define         TID                     0xf0
492 #define         SELBUSB                 0x08
493 #define         LID                     0x07
494
495 #define SCB_TARGET_STATUS               0xa2
496
497 #define SCB_SGCOUNT                     0xa3
498
499 #define SCB_SGPTR                       0xa4
500
501 #define SCB_RESID_SGCNT                 0xa8
502
503 #define SCB_RESID_DCNT                  0xa9
504
505 #define SCB_DATAPTR                     0xac
506
507 #define SCB_DATACNT                     0xb0
508
509 #define SCB_CMDPTR                      0xb4
510
511 #define SCB_CMDLEN                      0xb8
512
513 #define SCB_TAG                         0xb9
514
515 #define SCB_NEXT                        0xba
516
517 #define SCB_PREV                        0xbb
518
519 #define SCB_BUSYTARGETS                 0xbc
520
521 #define SEECTL_2840                     0xc0
522 #define         CS_2840                 0x04
523 #define         CK_2840                 0x02
524 #define         DO_2840                 0x01
525
526 #define STATUS_2840                     0xc1
527 #define         EEPROM_TF               0x80
528 #define         BIOS_SEL                0x60
529 #define         ADSEL                   0x1e
530 #define         DI_2840                 0x01
531
532 #define CCHADDR                         0xe0
533
534 #define CCHCNT                          0xe8
535
536 #define CCSGRAM                         0xe9
537
538 #define CCSGADDR                        0xea
539
540 #define CCSGCTL                         0xeb
541 #define         CCSGDONE                0x80
542 #define         CCSGEN                  0x08
543 #define         FLAG                    0x02
544 #define         CCSGRESET               0x01
545
546 #define CCSCBRAM                        0xec
547
548 #define CCSCBADDR                       0xed
549
550 #define CCSCBCTL                        0xee
551 #define         CCSCBDONE               0x80
552 #define         ARRDONE                 0x40
553 #define         CCARREN                 0x10
554 #define         CCSCBEN                 0x08
555 #define         CCSCBDIR                0x04
556 #define         CCSCBRESET              0x01
557
558 #define CCSCBCNT                        0xef
559
560 #define CCSCBPTR                        0xf1
561
562 #define HNSCB_QOFF                      0xf4
563
564 #define HESCB_QOFF                      0xf5
565
566 #define SNSCB_QOFF                      0xf6
567
568 #define SESCB_QOFF                      0xf7
569
570 #define SDSCB_QOFF                      0xf8
571
572 #define QOFF_CTLSTA                     0xfa
573 #define         ESTABLISH_SCB_AVAIL     0x80
574 #define         SCB_AVAIL               0x40
575 #define         SNSCB_ROLLOVER          0x20
576 #define         SDSCB_ROLLOVER          0x10
577 #define         SESCB_ROLLOVER          0x08
578 #define         SCB_QSIZE               0x07
579 #define         SCB_QSIZE_256           0x06
580
581 #define DFF_THRSH                       0xfb
582 #define         WR_DFTHRSH              0x70
583 #define         WR_DFTHRSH_MAX          0x70
584 #define         WR_DFTHRSH_90           0x60
585 #define         WR_DFTHRSH_85           0x50
586 #define         WR_DFTHRSH_75           0x40
587 #define         WR_DFTHRSH_63           0x30
588 #define         WR_DFTHRSH_50           0x20
589 #define         WR_DFTHRSH_25           0x10
590 #define         RD_DFTHRSH_MAX          0x07
591 #define         RD_DFTHRSH              0x07
592 #define         RD_DFTHRSH_90           0x06
593 #define         RD_DFTHRSH_85           0x05
594 #define         RD_DFTHRSH_75           0x04
595 #define         RD_DFTHRSH_63           0x03
596 #define         RD_DFTHRSH_50           0x02
597 #define         RD_DFTHRSH_25           0x01
598 #define         WR_DFTHRSH_MIN          0x00
599 #define         RD_DFTHRSH_MIN          0x00
600
601 #define SG_CACHEPTR                     0xfc
602 #define         SG_USER_DATA            0xfc
603 #define         LAST_SEG                0x02
604 #define         LAST_SEG_DONE           0x01
605
606
607 #define CMD_GROUP2_BYTE_DELTA   0xfa
608 #define MAX_OFFSET_8BIT 0x0f
609 #define BUS_16_BIT      0x01
610 #define QINFIFO_OFFSET  0x02
611 #define CMD_GROUP5_BYTE_DELTA   0x0b
612 #define CMD_GROUP_CODE_SHIFT    0x05
613 #define MAX_OFFSET_ULTRA2       0x7f
614 #define MAX_OFFSET_16BIT        0x08
615 #define BUS_8_BIT       0x00
616 #define QOUTFIFO_OFFSET 0x01
617 #define UNTAGGEDSCB_OFFSET      0x00
618 #define CCSGRAM_MAXSEGS 0x10
619 #define SCB_LIST_NULL   0xff
620 #define SG_SIZEOF       0x08
621 #define CMD_GROUP4_BYTE_DELTA   0x04
622 #define CMD_GROUP0_BYTE_DELTA   0xfc
623 #define HOST_MSG        0xff
624 #define BUS_32_BIT      0x02
625 #define CCSGADDR_MAX    0x80
626
627
628 /* Downloaded Constant Definitions */
629 #define TMODE_NUMCMDS   0x00