zfcp_fsf.h (db8c246937713e60b7628661ccc187eeb81f2bae) zfcp_fsf.h (663e0890e31cb85f0cca5ac1faaee0d2d52880b5)
1/*
2 * zfcp device driver
3 *
4 * Interface to the FSF support functions.
5 *
6 * Copyright IBM Corp. 2002, 2010
7 */
8

--- 22 unchanged lines hidden (view full) ---

31#define FSF_QTCB_UPLOAD_CONTROL_FILE 0x00000013
32
33/* FSF QTCB types */
34#define FSF_IO_COMMAND 0x00000001
35#define FSF_SUPPORT_COMMAND 0x00000002
36#define FSF_CONFIG_COMMAND 0x00000003
37#define FSF_PORT_COMMAND 0x00000004
38
1/*
2 * zfcp device driver
3 *
4 * Interface to the FSF support functions.
5 *
6 * Copyright IBM Corp. 2002, 2010
7 */
8

--- 22 unchanged lines hidden (view full) ---

31#define FSF_QTCB_UPLOAD_CONTROL_FILE 0x00000013
32
33/* FSF QTCB types */
34#define FSF_IO_COMMAND 0x00000001
35#define FSF_SUPPORT_COMMAND 0x00000002
36#define FSF_CONFIG_COMMAND 0x00000003
37#define FSF_PORT_COMMAND 0x00000004
38
39/* FSF control file upload/download operations' subtype and options */
40#define FSF_CFDC_OPERATION_SUBTYPE 0x00020001
41#define FSF_CFDC_OPTION_NORMAL_MODE 0x00000000
42#define FSF_CFDC_OPTION_FORCE 0x00000001
43#define FSF_CFDC_OPTION_FULL_ACCESS 0x00000002
44#define FSF_CFDC_OPTION_RESTRICTED_ACCESS 0x00000004
45
46/* FSF protocol states */
47#define FSF_PROT_GOOD 0x00000001
48#define FSF_PROT_QTCB_VERSION_ERROR 0x00000010
49#define FSF_PROT_SEQ_NUMB_ERROR 0x00000020
50#define FSF_PROT_UNSUPP_QTCB_TYPE 0x00000040
51#define FSF_PROT_HOST_CONNECTION_INITIALIZING 0x00000080
52#define FSF_PROT_FSF_STATUS_PRESENTED 0x00000100
53#define FSF_PROT_DUPLICATE_REQUEST_ID 0x00000200

--- 5 unchanged lines hidden (view full) ---

59#define FSF_GOOD 0x00000000
60#define FSF_PORT_ALREADY_OPEN 0x00000001
61#define FSF_LUN_ALREADY_OPEN 0x00000002
62#define FSF_PORT_HANDLE_NOT_VALID 0x00000003
63#define FSF_LUN_HANDLE_NOT_VALID 0x00000004
64#define FSF_HANDLE_MISMATCH 0x00000005
65#define FSF_SERVICE_CLASS_NOT_SUPPORTED 0x00000006
66#define FSF_FCPLUN_NOT_VALID 0x00000009
39/* FSF protocol states */
40#define FSF_PROT_GOOD 0x00000001
41#define FSF_PROT_QTCB_VERSION_ERROR 0x00000010
42#define FSF_PROT_SEQ_NUMB_ERROR 0x00000020
43#define FSF_PROT_UNSUPP_QTCB_TYPE 0x00000040
44#define FSF_PROT_HOST_CONNECTION_INITIALIZING 0x00000080
45#define FSF_PROT_FSF_STATUS_PRESENTED 0x00000100
46#define FSF_PROT_DUPLICATE_REQUEST_ID 0x00000200

--- 5 unchanged lines hidden (view full) ---

52#define FSF_GOOD 0x00000000
53#define FSF_PORT_ALREADY_OPEN 0x00000001
54#define FSF_LUN_ALREADY_OPEN 0x00000002
55#define FSF_PORT_HANDLE_NOT_VALID 0x00000003
56#define FSF_LUN_HANDLE_NOT_VALID 0x00000004
57#define FSF_HANDLE_MISMATCH 0x00000005
58#define FSF_SERVICE_CLASS_NOT_SUPPORTED 0x00000006
59#define FSF_FCPLUN_NOT_VALID 0x00000009
67#define FSF_ACCESS_DENIED 0x00000010
68#define FSF_LUN_SHARING_VIOLATION 0x00000012
69#define FSF_FCP_COMMAND_DOES_NOT_EXIST 0x00000022
70#define FSF_DIRECTION_INDICATOR_NOT_VALID 0x00000030
71#define FSF_CMND_LENGTH_NOT_VALID 0x00000033
72#define FSF_MAXIMUM_NUMBER_OF_PORTS_EXCEEDED 0x00000040
73#define FSF_MAXIMUM_NUMBER_OF_LUNS_EXCEEDED 0x00000041
74#define FSF_ELS_COMMAND_REJECTED 0x00000050
75#define FSF_GENERIC_COMMAND_REJECTED 0x00000051

--- 49 unchanged lines hidden (view full) ---

125/* status types in status read buffer */
126#define FSF_STATUS_READ_PORT_CLOSED 0x00000001
127#define FSF_STATUS_READ_INCOMING_ELS 0x00000002
128#define FSF_STATUS_READ_SENSE_DATA_AVAIL 0x00000003
129#define FSF_STATUS_READ_BIT_ERROR_THRESHOLD 0x00000004
130#define FSF_STATUS_READ_LINK_DOWN 0x00000005
131#define FSF_STATUS_READ_LINK_UP 0x00000006
132#define FSF_STATUS_READ_NOTIFICATION_LOST 0x00000009
60#define FSF_LUN_SHARING_VIOLATION 0x00000012
61#define FSF_FCP_COMMAND_DOES_NOT_EXIST 0x00000022
62#define FSF_DIRECTION_INDICATOR_NOT_VALID 0x00000030
63#define FSF_CMND_LENGTH_NOT_VALID 0x00000033
64#define FSF_MAXIMUM_NUMBER_OF_PORTS_EXCEEDED 0x00000040
65#define FSF_MAXIMUM_NUMBER_OF_LUNS_EXCEEDED 0x00000041
66#define FSF_ELS_COMMAND_REJECTED 0x00000050
67#define FSF_GENERIC_COMMAND_REJECTED 0x00000051

--- 49 unchanged lines hidden (view full) ---

117/* status types in status read buffer */
118#define FSF_STATUS_READ_PORT_CLOSED 0x00000001
119#define FSF_STATUS_READ_INCOMING_ELS 0x00000002
120#define FSF_STATUS_READ_SENSE_DATA_AVAIL 0x00000003
121#define FSF_STATUS_READ_BIT_ERROR_THRESHOLD 0x00000004
122#define FSF_STATUS_READ_LINK_DOWN 0x00000005
123#define FSF_STATUS_READ_LINK_UP 0x00000006
124#define FSF_STATUS_READ_NOTIFICATION_LOST 0x00000009
133#define FSF_STATUS_READ_CFDC_UPDATED 0x0000000A
134#define FSF_STATUS_READ_FEATURE_UPDATE_ALERT 0x0000000C
135
136/* status subtypes for link down */
137#define FSF_STATUS_READ_SUB_NO_PHYSICAL_LINK 0x00000000
138#define FSF_STATUS_READ_SUB_FDISC_FAILED 0x00000001
139#define FSF_STATUS_READ_SUB_FIRMWARE_UPDATE 0x00000002
140
141/* status subtypes for unsolicited status notification lost */
142#define FSF_STATUS_READ_SUB_INCOMING_ELS 0x00000001
125#define FSF_STATUS_READ_FEATURE_UPDATE_ALERT 0x0000000C
126
127/* status subtypes for link down */
128#define FSF_STATUS_READ_SUB_NO_PHYSICAL_LINK 0x00000000
129#define FSF_STATUS_READ_SUB_FDISC_FAILED 0x00000001
130#define FSF_STATUS_READ_SUB_FIRMWARE_UPDATE 0x00000002
131
132/* status subtypes for unsolicited status notification lost */
133#define FSF_STATUS_READ_SUB_INCOMING_ELS 0x00000001
143#define FSF_STATUS_READ_SUB_ACT_UPDATED 0x00000020
144
145/* topologie that is detected by the adapter */
146#define FSF_TOPO_P2P 0x00000001
147#define FSF_TOPO_FABRIC 0x00000002
148#define FSF_TOPO_AL 0x00000003
149
150/* data direction for FCP commands */
151#define FSF_DATADIR_WRITE 0x00000001

--- 9 unchanged lines hidden (view full) ---

161
162/* fc service class */
163#define FSF_CLASS_3 0x00000003
164
165/* logging space behind QTCB */
166#define FSF_QTCB_LOG_SIZE 1024
167
168/* channel features */
134
135/* topologie that is detected by the adapter */
136#define FSF_TOPO_P2P 0x00000001
137#define FSF_TOPO_FABRIC 0x00000002
138#define FSF_TOPO_AL 0x00000003
139
140/* data direction for FCP commands */
141#define FSF_DATADIR_WRITE 0x00000001

--- 9 unchanged lines hidden (view full) ---

151
152/* fc service class */
153#define FSF_CLASS_3 0x00000003
154
155/* logging space behind QTCB */
156#define FSF_QTCB_LOG_SIZE 1024
157
158/* channel features */
169#define FSF_FEATURE_CFDC 0x00000002
170#define FSF_FEATURE_LUN_SHARING 0x00000004
171#define FSF_FEATURE_NOTIFICATION_LOST 0x00000008
172#define FSF_FEATURE_HBAAPI_MANAGEMENT 0x00000010
173#define FSF_FEATURE_ELS_CT_CHAINED_SBALS 0x00000020
174#define FSF_FEATURE_UPDATE_ALERT 0x00000100
175#define FSF_FEATURE_MEASUREMENT_DATA 0x00000200
176#define FSF_FEATURE_DIF_PROT_TYPE1 0x00010000
177#define FSF_FEATURE_DIX_PROT_TCPIP 0x00020000
178
179/* host connection features */
180#define FSF_FEATURE_NPIV_MODE 0x00000001
181
182/* option */
183#define FSF_OPEN_LUN_SUPPRESS_BOXING 0x00000001
184
159#define FSF_FEATURE_NOTIFICATION_LOST 0x00000008
160#define FSF_FEATURE_HBAAPI_MANAGEMENT 0x00000010
161#define FSF_FEATURE_ELS_CT_CHAINED_SBALS 0x00000020
162#define FSF_FEATURE_UPDATE_ALERT 0x00000100
163#define FSF_FEATURE_MEASUREMENT_DATA 0x00000200
164#define FSF_FEATURE_DIF_PROT_TYPE1 0x00010000
165#define FSF_FEATURE_DIX_PROT_TCPIP 0x00020000
166
167/* host connection features */
168#define FSF_FEATURE_NPIV_MODE 0x00000001
169
170/* option */
171#define FSF_OPEN_LUN_SUPPRESS_BOXING 0x00000001
172
185/* open LUN access flags*/
186#define FSF_UNIT_ACCESS_EXCLUSIVE 0x02000000
187#define FSF_UNIT_ACCESS_OUTBOUND_TRANSFER 0x10000000
188
189/* FSF interface for CFDC */
190#define ZFCP_CFDC_MAX_SIZE 127 * 1024
191#define ZFCP_CFDC_PAGES PFN_UP(ZFCP_CFDC_MAX_SIZE)
192
193struct zfcp_fsf_cfdc {
194 struct scatterlist sg[ZFCP_CFDC_PAGES];
195 u32 command;
196 u32 option;
197};
198
199struct fsf_queue_designator {
200 u8 cssid;
201 u8 chpid;
202 u8 hla;
203 u8 ua;
204 u32 res1;
205} __attribute__ ((packed));
206

--- 269 unchanged lines hidden ---
173struct fsf_queue_designator {
174 u8 cssid;
175 u8 chpid;
176 u8 hla;
177 u8 ua;
178 u32 res1;
179} __attribute__ ((packed));
180

--- 269 unchanged lines hidden ---