1
2
3
4
5
6
7
8
9 #ifndef _ULTRASTOR_H
10 #define _ULTRASTOR_H
11
12
13 #ifndef TRUE
14 # define TRUE 1
15 #endif
16 #ifndef FALSE
17 # define FALSE 0
18 #endif
19
20
21
22
23
24 int ultrastor_14f_detect(int);
25 const char *ultrastor_14f_info(void);
26 int ultrastor_14f_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
27 #ifdef NO_QUEUEING
28 int ultrastor_14f_command(Scsi_Cmnd *);
29 #endif
30 int ultrastor_14f_abort(Scsi_Cmnd *, int);
31 int ultrastor_14f_reset(void);
32
33 #ifndef NO_QUEUEING
34 #define ULTRASTOR_14F \
35 { "UltraStor 14F", ultrastor_14f_detect, ultrastor_14f_info, 0, \
36 ultrastor_14f_queuecommand, ultrastor_14f_abort, ultrastor_14f_reset, \
37 NULL, NULL, 1, 0, SG_NONE, 1, 0, 1}
38
39
40
41 #else
42 #define ULTRASTOR_14F \
43 { "UltraStor 14F", ultrastor_14f_detect, ultrastor_14f_info, \
44 ultrastor_14f_command, 0, ultrastor_14f_abort, ultrastor_14f_reset, \
45 NULL, NULL, 0, 0, SG_NONE, 1, 0, 1}
46 #endif
47
48 #define UD_ABORT 0x0001
49 #define UD_COMMAND 0x0002
50 #define UD_DETECT 0x0004
51 #define UD_INTERRUPT 0x0008
52 #define UD_RESET 0x0010
53
54 #ifdef ULTRASTOR_PRIVATE
55
56
57
58
59 #define LCL_DOORBELL_MASK(port) ((port) + 0x0)
60 #define LCL_DOORBELL_INTR(port) ((port) + 0x1)
61 #define SYS_DOORBELL_MASK(port) ((port) + 0x2)
62 #define SYS_DOORBELL_INTR(port) ((port) + 0x3)
63 #define PRODUCT_ID(port) ((port) + 0x4)
64 #define CONFIG(port) ((port) + 0x6)
65 #define OGM_DATA_PTR(port) ((port) + 0x8)
66 #define ICM_DATA_PTR(port) ((port) + 0xC)
67
68
69 #define US14F_PRODUCT_ID_0 0x56
70 #define US14F_PRODUCT_ID_1 0x40
71
72
73
74
75 #define OP_HOST_ADAPTER 0x1
76 #define OP_SCSI 0x2
77 #define OP_RESET 0x4
78
79
80 #define DTD_SCSI 0x0
81 #define DTD_IN 0x1
82 #define DTD_OUT 0x2
83 #define DTD_NONE 0x3
84
85
86 #define HA_CMD_INQUIRY 0x1
87 #define HA_CMD_SELF_DIAG 0x2
88 #define HA_CMD_READ_BUFF 0x3
89 #define HA_CMD_WRITE_BUFF 0x4
90
91 #endif
92
93 #endif