Commit | Line | Data |
---|---|---|
52fa7bf9 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
b85daafe | 2 | /* |
889d0d42 AG |
3 | * Copyright (c) 2005-2014 Brocade Communications Systems, Inc. |
4 | * Copyright (c) 2014- QLogic Corporation. | |
b85daafe | 5 | * All rights reserved |
889d0d42 | 6 | * www.qlogic.com |
b85daafe | 7 | * |
31e1d569 | 8 | * Linux driver for QLogic BR-series Fibre Channel Host Bus Adapter. |
b85daafe KG |
9 | */ |
10 | #ifndef BFAD_BSG_H | |
11 | #define BFAD_BSG_H | |
12 | ||
13 | #include "bfa_defs.h" | |
14 | #include "bfa_defs_fcs.h" | |
15 | ||
16 | /* Definitions of vendor unique structures and command codes passed in | |
17 | * using FC_BSG_HST_VENDOR message code. | |
18 | */ | |
19 | enum { | |
60138066 KG |
20 | IOCMD_IOC_ENABLE = 0x1, |
21 | IOCMD_IOC_DISABLE, | |
22 | IOCMD_IOC_GET_ATTR, | |
b85daafe | 23 | IOCMD_IOC_GET_INFO, |
60138066 KG |
24 | IOCMD_IOC_GET_STATS, |
25 | IOCMD_IOC_GET_FWSTATS, | |
f2ee7601 KG |
26 | IOCMD_IOC_RESET_STATS, |
27 | IOCMD_IOC_RESET_FWSTATS, | |
28 | IOCMD_IOC_SET_ADAPTER_NAME, | |
29 | IOCMD_IOC_SET_PORT_NAME, | |
28d358d0 | 30 | IOCMD_IOC_FW_SIG_INV, |
60138066 KG |
31 | IOCMD_IOCFC_GET_ATTR, |
32 | IOCMD_IOCFC_SET_INTR, | |
33 | IOCMD_PORT_ENABLE, | |
34 | IOCMD_PORT_DISABLE, | |
b85daafe | 35 | IOCMD_PORT_GET_ATTR, |
60138066 | 36 | IOCMD_PORT_GET_STATS, |
f2ee7601 KG |
37 | IOCMD_PORT_RESET_STATS, |
38 | IOCMD_PORT_CFG_TOPO, | |
39 | IOCMD_PORT_CFG_SPEED, | |
40 | IOCMD_PORT_CFG_ALPA, | |
41 | IOCMD_PORT_CFG_MAXFRSZ, | |
42 | IOCMD_PORT_CLR_ALPA, | |
bbe37a67 VMG |
43 | IOCMD_PORT_BBCR_ENABLE, |
44 | IOCMD_PORT_BBCR_DISABLE, | |
45 | IOCMD_PORT_BBCR_GET_ATTR, | |
b85daafe | 46 | IOCMD_LPORT_GET_ATTR, |
60138066 KG |
47 | IOCMD_LPORT_GET_RPORTS, |
48 | IOCMD_LPORT_GET_STATS, | |
f2ee7601 | 49 | IOCMD_LPORT_RESET_STATS, |
60138066 KG |
50 | IOCMD_LPORT_GET_IOSTATS, |
51 | IOCMD_RPORT_GET_ATTR, | |
b85daafe | 52 | IOCMD_RPORT_GET_ADDR, |
60138066 | 53 | IOCMD_RPORT_GET_STATS, |
f2ee7601 KG |
54 | IOCMD_RPORT_RESET_STATS, |
55 | IOCMD_RPORT_SET_SPEED, | |
56 | IOCMD_VPORT_GET_ATTR, | |
57 | IOCMD_VPORT_GET_STATS, | |
58 | IOCMD_VPORT_RESET_STATS, | |
b85daafe | 59 | IOCMD_FABRIC_GET_LPORTS, |
f2ee7601 KG |
60 | IOCMD_RATELIM_ENABLE, |
61 | IOCMD_RATELIM_DISABLE, | |
62 | IOCMD_RATELIM_DEF_SPEED, | |
63 | IOCMD_FCPIM_FAILOVER, | |
60138066 | 64 | IOCMD_FCPIM_MODSTATS, |
f2ee7601 | 65 | IOCMD_FCPIM_MODSTATSCLR, |
60138066 | 66 | IOCMD_FCPIM_DEL_ITN_STATS, |
b85daafe | 67 | IOCMD_ITNIM_GET_ATTR, |
60138066 | 68 | IOCMD_ITNIM_GET_IOSTATS, |
f2ee7601 | 69 | IOCMD_ITNIM_RESET_STATS, |
60138066 | 70 | IOCMD_ITNIM_GET_ITNSTATS, |
1a4d8e1b | 71 | IOCMD_IOC_PCIFN_CFG, |
60138066 KG |
72 | IOCMD_FCPORT_ENABLE, |
73 | IOCMD_FCPORT_DISABLE, | |
1a4d8e1b KG |
74 | IOCMD_PCIFN_CREATE, |
75 | IOCMD_PCIFN_DELETE, | |
76 | IOCMD_PCIFN_BW, | |
77 | IOCMD_ADAPTER_CFG_MODE, | |
78 | IOCMD_PORT_CFG_MODE, | |
79 | IOCMD_FLASH_ENABLE_OPTROM, | |
80 | IOCMD_FLASH_DISABLE_OPTROM, | |
a714134a | 81 | IOCMD_FAA_QUERY, |
148d6103 KG |
82 | IOCMD_CEE_GET_ATTR, |
83 | IOCMD_CEE_GET_STATS, | |
84 | IOCMD_CEE_RESET_STATS, | |
51e569aa KG |
85 | IOCMD_SFP_MEDIA, |
86 | IOCMD_SFP_SPEED, | |
5a54b1d5 KG |
87 | IOCMD_FLASH_GET_ATTR, |
88 | IOCMD_FLASH_ERASE_PART, | |
89 | IOCMD_FLASH_UPDATE_PART, | |
90 | IOCMD_FLASH_READ_PART, | |
3d7fc66d KG |
91 | IOCMD_DIAG_TEMP, |
92 | IOCMD_DIAG_MEMTEST, | |
93 | IOCMD_DIAG_LOOPBACK, | |
94 | IOCMD_DIAG_FWPING, | |
95 | IOCMD_DIAG_QUEUETEST, | |
96 | IOCMD_DIAG_SFP, | |
97 | IOCMD_DIAG_LED, | |
98 | IOCMD_DIAG_BEACON_LPORT, | |
99 | IOCMD_DIAG_LB_STAT, | |
3350d98d KG |
100 | IOCMD_PHY_GET_ATTR, |
101 | IOCMD_PHY_GET_STATS, | |
102 | IOCMD_PHY_UPDATE_FW, | |
103 | IOCMD_PHY_READ_FW, | |
61e62e21 KG |
104 | IOCMD_VHBA_QUERY, |
105 | IOCMD_DEBUG_PORTLOG, | |
f2ee7601 KG |
106 | IOCMD_DEBUG_FW_CORE, |
107 | IOCMD_DEBUG_FW_STATE_CLR, | |
108 | IOCMD_DEBUG_PORTLOG_CLR, | |
109 | IOCMD_DEBUG_START_DTRC, | |
110 | IOCMD_DEBUG_STOP_DTRC, | |
111 | IOCMD_DEBUG_PORTLOG_CTL, | |
42a8e6e2 KG |
112 | IOCMD_FCPIM_PROFILE_ON, |
113 | IOCMD_FCPIM_PROFILE_OFF, | |
114 | IOCMD_ITNIM_GET_IOPROFILE, | |
37ea0558 KG |
115 | IOCMD_FCPORT_GET_STATS, |
116 | IOCMD_FCPORT_RESET_STATS, | |
a46bd300 KG |
117 | IOCMD_BOOT_CFG, |
118 | IOCMD_BOOT_QUERY, | |
119 | IOCMD_PREBOOT_QUERY, | |
120 | IOCMD_ETHBOOT_CFG, | |
121 | IOCMD_ETHBOOT_QUERY, | |
45191236 KG |
122 | IOCMD_TRUNK_ENABLE, |
123 | IOCMD_TRUNK_DISABLE, | |
124 | IOCMD_TRUNK_GET_ATTR, | |
3ec4f2c8 KG |
125 | IOCMD_QOS_ENABLE, |
126 | IOCMD_QOS_DISABLE, | |
127 | IOCMD_QOS_GET_ATTR, | |
128 | IOCMD_QOS_GET_VC_ATTR, | |
129 | IOCMD_QOS_GET_STATS, | |
130 | IOCMD_QOS_RESET_STATS, | |
c0350bf5 KG |
131 | IOCMD_VF_GET_STATS, |
132 | IOCMD_VF_RESET_STATS, | |
4c5d22bf KG |
133 | IOCMD_FCPIM_LUNMASK_ENABLE, |
134 | IOCMD_FCPIM_LUNMASK_DISABLE, | |
135 | IOCMD_FCPIM_LUNMASK_CLEAR, | |
136 | IOCMD_FCPIM_LUNMASK_QUERY, | |
137 | IOCMD_FCPIM_LUNMASK_ADD, | |
138 | IOCMD_FCPIM_LUNMASK_DELETE, | |
e353546e KG |
139 | IOCMD_DIAG_DPORT_ENABLE, |
140 | IOCMD_DIAG_DPORT_DISABLE, | |
6894f013 | 141 | IOCMD_QOS_SET_BW, |
7ace27ae | 142 | IOCMD_FCPIM_THROTTLE_QUERY, |
e6826c96 KG |
143 | IOCMD_FCPIM_THROTTLE_SET, |
144 | IOCMD_TFRU_READ, | |
145 | IOCMD_TFRU_WRITE, | |
146 | IOCMD_FRUVPD_READ, | |
147 | IOCMD_FRUVPD_UPDATE, | |
148 | IOCMD_FRUVPD_GET_MAX_SIZE, | |
1a898a79 VMG |
149 | IOCMD_DIAG_DPORT_SHOW, |
150 | IOCMD_DIAG_DPORT_START, | |
1a4d8e1b KG |
151 | }; |
152 | ||
153 | struct bfa_bsg_gen_s { | |
154 | bfa_status_t status; | |
155 | u16 bfad_num; | |
156 | u16 rsvd; | |
b85daafe KG |
157 | }; |
158 | ||
f2ee7601 KG |
159 | struct bfa_bsg_portlogctl_s { |
160 | bfa_status_t status; | |
161 | u16 bfad_num; | |
162 | u16 rsvd; | |
163 | bfa_boolean_t ctl; | |
164 | int inst_no; | |
165 | }; | |
166 | ||
42a8e6e2 KG |
167 | struct bfa_bsg_fcpim_profile_s { |
168 | bfa_status_t status; | |
169 | u16 bfad_num; | |
170 | u16 rsvd; | |
171 | }; | |
172 | ||
173 | struct bfa_bsg_itnim_ioprofile_s { | |
174 | bfa_status_t status; | |
175 | u16 bfad_num; | |
176 | u16 vf_id; | |
177 | wwn_t lpwwn; | |
178 | wwn_t rpwwn; | |
179 | struct bfa_itnim_ioprofile_s ioprofile; | |
180 | }; | |
181 | ||
37ea0558 KG |
182 | struct bfa_bsg_fcport_stats_s { |
183 | bfa_status_t status; | |
184 | u16 bfad_num; | |
185 | u16 rsvd; | |
186 | union bfa_fcport_stats_u stats; | |
187 | }; | |
188 | ||
f2ee7601 KG |
189 | struct bfa_bsg_ioc_name_s { |
190 | bfa_status_t status; | |
191 | u16 bfad_num; | |
192 | u16 rsvd; | |
193 | char name[BFA_ADAPTER_SYM_NAME_LEN]; | |
194 | }; | |
195 | ||
b85daafe KG |
196 | struct bfa_bsg_ioc_info_s { |
197 | bfa_status_t status; | |
198 | u16 bfad_num; | |
199 | u16 rsvd; | |
200 | char serialnum[64]; | |
201 | char hwpath[BFA_STRING_32]; | |
202 | char adapter_hwpath[BFA_STRING_32]; | |
203 | char guid[BFA_ADAPTER_SYM_NAME_LEN*2]; | |
204 | char name[BFA_ADAPTER_SYM_NAME_LEN]; | |
205 | char port_name[BFA_ADAPTER_SYM_NAME_LEN]; | |
206 | char eth_name[BFA_ADAPTER_SYM_NAME_LEN]; | |
207 | wwn_t pwwn; | |
208 | wwn_t nwwn; | |
209 | wwn_t factorypwwn; | |
210 | wwn_t factorynwwn; | |
211 | mac_t mac; | |
212 | mac_t factory_mac; /* Factory mac address */ | |
213 | mac_t current_mac; /* Currently assigned mac address */ | |
214 | enum bfa_ioc_type_e ioc_type; | |
215 | u16 pvid; /* Port vlan id */ | |
216 | u16 rsvd1; | |
217 | u32 host; | |
218 | u32 bandwidth; /* For PF support */ | |
219 | u32 rsvd2; | |
220 | }; | |
221 | ||
222 | struct bfa_bsg_ioc_attr_s { | |
223 | bfa_status_t status; | |
224 | u16 bfad_num; | |
225 | u16 rsvd; | |
226 | struct bfa_ioc_attr_s ioc_attr; | |
227 | }; | |
228 | ||
60138066 KG |
229 | struct bfa_bsg_ioc_stats_s { |
230 | bfa_status_t status; | |
231 | u16 bfad_num; | |
232 | u16 rsvd; | |
233 | struct bfa_ioc_stats_s ioc_stats; | |
234 | }; | |
235 | ||
236 | struct bfa_bsg_ioc_fwstats_s { | |
237 | bfa_status_t status; | |
238 | u16 bfad_num; | |
239 | u16 rsvd; | |
240 | u32 buf_size; | |
241 | u32 rsvd1; | |
242 | u64 buf_ptr; | |
243 | }; | |
244 | ||
245 | struct bfa_bsg_iocfc_attr_s { | |
246 | bfa_status_t status; | |
247 | u16 bfad_num; | |
248 | u16 rsvd; | |
249 | struct bfa_iocfc_attr_s iocfc_attr; | |
250 | }; | |
251 | ||
252 | struct bfa_bsg_iocfc_intr_s { | |
253 | bfa_status_t status; | |
254 | u16 bfad_num; | |
255 | u16 rsvd; | |
256 | struct bfa_iocfc_intr_attr_s attr; | |
257 | }; | |
258 | ||
b85daafe KG |
259 | struct bfa_bsg_port_attr_s { |
260 | bfa_status_t status; | |
261 | u16 bfad_num; | |
262 | u16 rsvd; | |
263 | struct bfa_port_attr_s attr; | |
264 | }; | |
265 | ||
f2ee7601 KG |
266 | struct bfa_bsg_port_cfg_s { |
267 | bfa_status_t status; | |
268 | u16 bfad_num; | |
269 | u16 rsvd; | |
270 | u32 param; | |
271 | u32 rsvd1; | |
272 | }; | |
273 | ||
274 | struct bfa_bsg_port_cfg_maxfrsize_s { | |
275 | bfa_status_t status; | |
276 | u16 bfad_num; | |
277 | u16 maxfrsize; | |
278 | }; | |
279 | ||
60138066 KG |
280 | struct bfa_bsg_port_stats_s { |
281 | bfa_status_t status; | |
282 | u16 bfad_num; | |
283 | u16 rsvd; | |
284 | u32 buf_size; | |
285 | u32 rsvd1; | |
286 | u64 buf_ptr; | |
287 | }; | |
288 | ||
b85daafe KG |
289 | struct bfa_bsg_lport_attr_s { |
290 | bfa_status_t status; | |
291 | u16 bfad_num; | |
292 | u16 vf_id; | |
293 | wwn_t pwwn; | |
294 | struct bfa_lport_attr_s port_attr; | |
295 | }; | |
296 | ||
60138066 KG |
297 | struct bfa_bsg_lport_stats_s { |
298 | bfa_status_t status; | |
299 | u16 bfad_num; | |
300 | u16 vf_id; | |
301 | wwn_t pwwn; | |
302 | struct bfa_lport_stats_s port_stats; | |
303 | }; | |
304 | ||
305 | struct bfa_bsg_lport_iostats_s { | |
306 | bfa_status_t status; | |
307 | u16 bfad_num; | |
308 | u16 vf_id; | |
309 | wwn_t pwwn; | |
310 | struct bfa_itnim_iostats_s iostats; | |
311 | }; | |
312 | ||
313 | struct bfa_bsg_lport_get_rports_s { | |
314 | bfa_status_t status; | |
315 | u16 bfad_num; | |
316 | u16 vf_id; | |
317 | wwn_t pwwn; | |
318 | u64 rbuf_ptr; | |
319 | u32 nrports; | |
320 | u32 rsvd; | |
321 | }; | |
322 | ||
323 | struct bfa_bsg_rport_attr_s { | |
324 | bfa_status_t status; | |
325 | u16 bfad_num; | |
326 | u16 vf_id; | |
327 | wwn_t pwwn; | |
328 | wwn_t rpwwn; | |
ee1a4a42 KG |
329 | u32 pid; |
330 | u32 rsvd; | |
60138066 KG |
331 | struct bfa_rport_attr_s attr; |
332 | }; | |
333 | ||
334 | struct bfa_bsg_rport_stats_s { | |
335 | bfa_status_t status; | |
336 | u16 bfad_num; | |
337 | u16 vf_id; | |
338 | wwn_t pwwn; | |
339 | wwn_t rpwwn; | |
340 | struct bfa_rport_stats_s stats; | |
341 | }; | |
342 | ||
b85daafe KG |
343 | struct bfa_bsg_rport_scsi_addr_s { |
344 | bfa_status_t status; | |
345 | u16 bfad_num; | |
346 | u16 vf_id; | |
347 | wwn_t pwwn; | |
348 | wwn_t rpwwn; | |
349 | u32 host; | |
350 | u32 bus; | |
351 | u32 target; | |
352 | u32 lun; | |
353 | }; | |
354 | ||
f2ee7601 KG |
355 | struct bfa_bsg_rport_reset_stats_s { |
356 | bfa_status_t status; | |
357 | u16 bfad_num; | |
358 | u16 vf_id; | |
359 | wwn_t pwwn; | |
360 | wwn_t rpwwn; | |
361 | }; | |
362 | ||
363 | struct bfa_bsg_rport_set_speed_s { | |
364 | bfa_status_t status; | |
365 | u16 bfad_num; | |
366 | u16 vf_id; | |
367 | enum bfa_port_speed speed; | |
368 | u32 rsvd; | |
369 | wwn_t pwwn; | |
370 | wwn_t rpwwn; | |
371 | }; | |
372 | ||
373 | struct bfa_bsg_vport_attr_s { | |
374 | bfa_status_t status; | |
375 | u16 bfad_num; | |
376 | u16 vf_id; | |
377 | wwn_t vpwwn; | |
378 | struct bfa_vport_attr_s vport_attr; | |
379 | }; | |
380 | ||
381 | struct bfa_bsg_vport_stats_s { | |
382 | bfa_status_t status; | |
383 | u16 bfad_num; | |
384 | u16 vf_id; | |
385 | wwn_t vpwwn; | |
386 | struct bfa_vport_stats_s vport_stats; | |
387 | }; | |
388 | ||
389 | struct bfa_bsg_reset_stats_s { | |
390 | bfa_status_t status; | |
391 | u16 bfad_num; | |
392 | u16 vf_id; | |
393 | wwn_t vpwwn; | |
394 | }; | |
395 | ||
b85daafe KG |
396 | struct bfa_bsg_fabric_get_lports_s { |
397 | bfa_status_t status; | |
398 | u16 bfad_num; | |
399 | u16 vf_id; | |
400 | u64 buf_ptr; | |
401 | u32 nports; | |
402 | u32 rsvd; | |
403 | }; | |
404 | ||
f2ee7601 KG |
405 | struct bfa_bsg_trl_speed_s { |
406 | bfa_status_t status; | |
407 | u16 bfad_num; | |
408 | u16 rsvd; | |
409 | enum bfa_port_speed speed; | |
410 | }; | |
411 | ||
412 | struct bfa_bsg_fcpim_s { | |
413 | bfa_status_t status; | |
414 | u16 bfad_num; | |
415 | u16 param; | |
416 | }; | |
417 | ||
60138066 KG |
418 | struct bfa_bsg_fcpim_modstats_s { |
419 | bfa_status_t status; | |
420 | u16 bfad_num; | |
421 | struct bfa_itnim_iostats_s modstats; | |
422 | }; | |
423 | ||
424 | struct bfa_bsg_fcpim_del_itn_stats_s { | |
425 | bfa_status_t status; | |
426 | u16 bfad_num; | |
427 | struct bfa_fcpim_del_itn_stats_s modstats; | |
428 | }; | |
429 | ||
f2ee7601 KG |
430 | struct bfa_bsg_fcpim_modstatsclr_s { |
431 | bfa_status_t status; | |
432 | u16 bfad_num; | |
433 | }; | |
434 | ||
b85daafe KG |
435 | struct bfa_bsg_itnim_attr_s { |
436 | bfa_status_t status; | |
437 | u16 bfad_num; | |
438 | u16 vf_id; | |
439 | wwn_t lpwwn; | |
440 | wwn_t rpwwn; | |
441 | struct bfa_itnim_attr_s attr; | |
442 | }; | |
443 | ||
60138066 KG |
444 | struct bfa_bsg_itnim_iostats_s { |
445 | bfa_status_t status; | |
446 | u16 bfad_num; | |
447 | u16 vf_id; | |
448 | wwn_t lpwwn; | |
449 | wwn_t rpwwn; | |
450 | struct bfa_itnim_iostats_s iostats; | |
451 | }; | |
452 | ||
453 | struct bfa_bsg_itnim_itnstats_s { | |
454 | bfa_status_t status; | |
455 | u16 bfad_num; | |
456 | u16 vf_id; | |
457 | wwn_t lpwwn; | |
458 | wwn_t rpwwn; | |
459 | struct bfa_itnim_stats_s itnstats; | |
460 | }; | |
461 | ||
1a4d8e1b KG |
462 | struct bfa_bsg_pcifn_cfg_s { |
463 | bfa_status_t status; | |
464 | u16 bfad_num; | |
465 | u16 rsvd; | |
466 | struct bfa_ablk_cfg_s pcifn_cfg; | |
467 | }; | |
468 | ||
469 | struct bfa_bsg_pcifn_s { | |
470 | bfa_status_t status; | |
471 | u16 bfad_num; | |
472 | u16 pcifn_id; | |
1a1297c6 KG |
473 | u16 bw_min; |
474 | u16 bw_max; | |
1a4d8e1b KG |
475 | u8 port; |
476 | enum bfi_pcifn_class pcifn_class; | |
477 | u8 rsvd[1]; | |
478 | }; | |
479 | ||
480 | struct bfa_bsg_adapter_cfg_mode_s { | |
481 | bfa_status_t status; | |
482 | u16 bfad_num; | |
483 | u16 rsvd; | |
484 | struct bfa_adapter_cfg_mode_s cfg; | |
485 | }; | |
486 | ||
487 | struct bfa_bsg_port_cfg_mode_s { | |
488 | bfa_status_t status; | |
489 | u16 bfad_num; | |
490 | u16 instance; | |
491 | struct bfa_port_cfg_mode_s cfg; | |
492 | }; | |
493 | ||
bbe37a67 VMG |
494 | struct bfa_bsg_bbcr_enable_s { |
495 | bfa_status_t status; | |
496 | u16 bfad_num; | |
497 | u8 bb_scn; | |
498 | u8 rsvd; | |
499 | }; | |
500 | ||
501 | struct bfa_bsg_bbcr_attr_s { | |
502 | bfa_status_t status; | |
503 | u16 bfad_num; | |
504 | u16 rsvd; | |
505 | struct bfa_bbcr_attr_s attr; | |
506 | }; | |
507 | ||
a714134a KG |
508 | struct bfa_bsg_faa_attr_s { |
509 | bfa_status_t status; | |
510 | u16 bfad_num; | |
511 | u16 rsvd; | |
512 | struct bfa_faa_attr_s faa_attr; | |
513 | }; | |
514 | ||
148d6103 KG |
515 | struct bfa_bsg_cee_attr_s { |
516 | bfa_status_t status; | |
517 | u16 bfad_num; | |
518 | u16 rsvd; | |
519 | u32 buf_size; | |
520 | u32 rsvd1; | |
521 | u64 buf_ptr; | |
522 | }; | |
523 | ||
524 | struct bfa_bsg_cee_stats_s { | |
525 | bfa_status_t status; | |
526 | u16 bfad_num; | |
527 | u16 rsvd; | |
528 | u32 buf_size; | |
529 | u32 rsvd1; | |
530 | u64 buf_ptr; | |
531 | }; | |
532 | ||
51e569aa KG |
533 | struct bfa_bsg_sfp_media_s { |
534 | bfa_status_t status; | |
535 | u16 bfad_num; | |
536 | u16 rsvd; | |
537 | enum bfa_defs_sfp_media_e media; | |
538 | }; | |
539 | ||
540 | struct bfa_bsg_sfp_speed_s { | |
541 | bfa_status_t status; | |
542 | u16 bfad_num; | |
543 | u16 rsvd; | |
544 | enum bfa_port_speed speed; | |
545 | }; | |
546 | ||
5a54b1d5 KG |
547 | struct bfa_bsg_flash_attr_s { |
548 | bfa_status_t status; | |
549 | u16 bfad_num; | |
550 | u16 rsvd; | |
551 | struct bfa_flash_attr_s attr; | |
552 | }; | |
553 | ||
554 | struct bfa_bsg_flash_s { | |
555 | bfa_status_t status; | |
556 | u16 bfad_num; | |
557 | u8 instance; | |
558 | u8 rsvd; | |
559 | enum bfa_flash_part_type type; | |
560 | int bufsz; | |
561 | u64 buf_ptr; | |
562 | }; | |
563 | ||
3d7fc66d KG |
564 | struct bfa_bsg_diag_get_temp_s { |
565 | bfa_status_t status; | |
566 | u16 bfad_num; | |
567 | u16 rsvd; | |
568 | struct bfa_diag_results_tempsensor_s result; | |
569 | }; | |
570 | ||
571 | struct bfa_bsg_diag_memtest_s { | |
572 | bfa_status_t status; | |
573 | u16 bfad_num; | |
574 | u16 rsvd[3]; | |
575 | u32 pat; | |
576 | struct bfa_diag_memtest_result result; | |
577 | struct bfa_diag_memtest_s memtest; | |
578 | }; | |
579 | ||
580 | struct bfa_bsg_diag_loopback_s { | |
581 | bfa_status_t status; | |
582 | u16 bfad_num; | |
583 | u16 rsvd; | |
584 | enum bfa_port_opmode opmode; | |
585 | enum bfa_port_speed speed; | |
586 | u32 lpcnt; | |
587 | u32 pat; | |
588 | struct bfa_diag_loopback_result_s result; | |
589 | }; | |
590 | ||
1a898a79 VMG |
591 | struct bfa_bsg_diag_dport_show_s { |
592 | bfa_status_t status; | |
593 | u16 bfad_num; | |
594 | u16 rsvd; | |
595 | struct bfa_diag_dport_result_s result; | |
596 | }; | |
597 | ||
598 | struct bfa_bsg_dport_enable_s { | |
599 | bfa_status_t status; | |
600 | u16 bfad_num; | |
601 | u16 rsvd; | |
602 | u16 lpcnt; | |
603 | u16 pat; | |
604 | }; | |
605 | ||
3d7fc66d KG |
606 | struct bfa_bsg_diag_fwping_s { |
607 | bfa_status_t status; | |
608 | u16 bfad_num; | |
609 | u16 rsvd; | |
610 | u32 cnt; | |
611 | u32 pattern; | |
612 | struct bfa_diag_results_fwping result; | |
613 | }; | |
614 | ||
615 | struct bfa_bsg_diag_qtest_s { | |
616 | bfa_status_t status; | |
617 | u16 bfad_num; | |
618 | u16 rsvd; | |
619 | u32 force; | |
620 | u32 queue; | |
621 | struct bfa_diag_qtest_result_s result; | |
622 | }; | |
623 | ||
624 | struct bfa_bsg_sfp_show_s { | |
625 | bfa_status_t status; | |
626 | u16 bfad_num; | |
627 | u16 rsvd; | |
628 | struct sfp_mem_s sfp; | |
629 | }; | |
630 | ||
631 | struct bfa_bsg_diag_led_s { | |
632 | bfa_status_t status; | |
633 | u16 bfad_num; | |
634 | u16 rsvd; | |
635 | struct bfa_diag_ledtest_s ledtest; | |
636 | }; | |
637 | ||
638 | struct bfa_bsg_diag_beacon_s { | |
639 | bfa_status_t status; | |
640 | u16 bfad_num; | |
641 | u16 rsvd; | |
642 | bfa_boolean_t beacon; | |
643 | bfa_boolean_t link_e2e_beacon; | |
644 | u32 second; | |
645 | }; | |
646 | ||
647 | struct bfa_bsg_diag_lb_stat_s { | |
648 | bfa_status_t status; | |
649 | u16 bfad_num; | |
650 | u16 rsvd; | |
651 | }; | |
652 | ||
3350d98d KG |
653 | struct bfa_bsg_phy_attr_s { |
654 | bfa_status_t status; | |
655 | u16 bfad_num; | |
656 | u16 instance; | |
657 | struct bfa_phy_attr_s attr; | |
658 | }; | |
659 | ||
660 | struct bfa_bsg_phy_s { | |
661 | bfa_status_t status; | |
662 | u16 bfad_num; | |
663 | u16 instance; | |
664 | u64 bufsz; | |
665 | u64 buf_ptr; | |
666 | }; | |
667 | ||
61e62e21 KG |
668 | struct bfa_bsg_debug_s { |
669 | bfa_status_t status; | |
670 | u16 bfad_num; | |
671 | u16 rsvd; | |
672 | u32 bufsz; | |
673 | int inst_no; | |
674 | u64 buf_ptr; | |
675 | u64 offset; | |
676 | }; | |
677 | ||
3350d98d KG |
678 | struct bfa_bsg_phy_stats_s { |
679 | bfa_status_t status; | |
680 | u16 bfad_num; | |
681 | u16 instance; | |
682 | struct bfa_phy_stats_s stats; | |
683 | }; | |
684 | ||
61e62e21 KG |
685 | struct bfa_bsg_vhba_attr_s { |
686 | bfa_status_t status; | |
687 | u16 bfad_num; | |
688 | u16 pcifn_id; | |
689 | struct bfa_vhba_attr_s attr; | |
690 | }; | |
691 | ||
a46bd300 KG |
692 | struct bfa_bsg_boot_s { |
693 | bfa_status_t status; | |
694 | u16 bfad_num; | |
695 | u16 rsvd; | |
696 | struct bfa_boot_cfg_s cfg; | |
697 | }; | |
698 | ||
699 | struct bfa_bsg_preboot_s { | |
700 | bfa_status_t status; | |
701 | u16 bfad_num; | |
702 | u16 rsvd; | |
703 | struct bfa_boot_pbc_s cfg; | |
704 | }; | |
705 | ||
706 | struct bfa_bsg_ethboot_s { | |
707 | bfa_status_t status; | |
708 | u16 bfad_num; | |
709 | u16 rsvd; | |
710 | struct bfa_ethboot_cfg_s cfg; | |
711 | }; | |
712 | ||
45191236 KG |
713 | struct bfa_bsg_trunk_attr_s { |
714 | bfa_status_t status; | |
715 | u16 bfad_num; | |
716 | u16 rsvd; | |
717 | struct bfa_trunk_attr_s attr; | |
718 | }; | |
719 | ||
3ec4f2c8 KG |
720 | struct bfa_bsg_qos_attr_s { |
721 | bfa_status_t status; | |
722 | u16 bfad_num; | |
723 | u16 rsvd; | |
724 | struct bfa_qos_attr_s attr; | |
725 | }; | |
726 | ||
727 | struct bfa_bsg_qos_vc_attr_s { | |
728 | bfa_status_t status; | |
729 | u16 bfad_num; | |
730 | u16 rsvd; | |
731 | struct bfa_qos_vc_attr_s attr; | |
732 | }; | |
733 | ||
6894f013 KG |
734 | struct bfa_bsg_qos_bw_s { |
735 | bfa_status_t status; | |
736 | u16 bfad_num; | |
737 | u16 rsvd; | |
738 | struct bfa_qos_bw_s qos_bw; | |
739 | }; | |
740 | ||
c0350bf5 KG |
741 | struct bfa_bsg_vf_stats_s { |
742 | bfa_status_t status; | |
743 | u16 bfad_num; | |
744 | u16 vf_id; | |
745 | struct bfa_vf_stats_s stats; | |
746 | }; | |
747 | ||
748 | struct bfa_bsg_vf_reset_stats_s { | |
749 | bfa_status_t status; | |
750 | u16 bfad_num; | |
751 | u16 vf_id; | |
752 | }; | |
753 | ||
4c5d22bf KG |
754 | struct bfa_bsg_fcpim_lunmask_query_s { |
755 | bfa_status_t status; | |
756 | u16 bfad_num; | |
757 | struct bfa_lunmask_cfg_s lun_mask; | |
758 | }; | |
759 | ||
760 | struct bfa_bsg_fcpim_lunmask_s { | |
761 | bfa_status_t status; | |
762 | u16 bfad_num; | |
763 | u16 vf_id; | |
764 | wwn_t pwwn; | |
765 | wwn_t rpwwn; | |
766 | struct scsi_lun lun; | |
767 | }; | |
768 | ||
7ace27ae KG |
769 | struct bfa_bsg_fcpim_throttle_s { |
770 | bfa_status_t status; | |
771 | u16 bfad_num; | |
772 | u16 vf_id; | |
773 | struct bfa_defs_fcpim_throttle_s throttle; | |
774 | }; | |
775 | ||
e6826c96 KG |
776 | #define BFA_TFRU_DATA_SIZE 64 |
777 | #define BFA_MAX_FRUVPD_TRANSFER_SIZE 0x1000 | |
778 | ||
779 | struct bfa_bsg_tfru_s { | |
780 | bfa_status_t status; | |
781 | u16 bfad_num; | |
782 | u16 rsvd; | |
783 | u32 offset; | |
784 | u32 len; | |
785 | u8 data[BFA_TFRU_DATA_SIZE]; | |
786 | }; | |
787 | ||
788 | struct bfa_bsg_fruvpd_s { | |
789 | bfa_status_t status; | |
790 | u16 bfad_num; | |
079bcbc3 | 791 | u16 rsvd1; |
e6826c96 KG |
792 | u32 offset; |
793 | u32 len; | |
794 | u8 data[BFA_MAX_FRUVPD_TRANSFER_SIZE]; | |
079bcbc3 VMG |
795 | u8 trfr_cmpl; |
796 | u8 rsvd2[3]; | |
e6826c96 KG |
797 | }; |
798 | ||
799 | struct bfa_bsg_fruvpd_max_size_s { | |
800 | bfa_status_t status; | |
801 | u16 bfad_num; | |
802 | u16 rsvd; | |
803 | u32 max_size; | |
804 | }; | |
805 | ||
b85daafe KG |
806 | struct bfa_bsg_fcpt_s { |
807 | bfa_status_t status; | |
808 | u16 vf_id; | |
809 | wwn_t lpwwn; | |
810 | wwn_t dpwwn; | |
811 | u32 tsecs; | |
812 | int cts; | |
813 | enum fc_cos cos; | |
814 | struct fchs_s fchs; | |
815 | }; | |
816 | #define bfa_bsg_fcpt_t struct bfa_bsg_fcpt_s | |
817 | ||
bccd2683 | 818 | #pragma pack(1) |
b85daafe KG |
819 | struct bfa_bsg_data { |
820 | int payload_len; | |
bccd2683 | 821 | u64 payload; |
b85daafe | 822 | }; |
bccd2683 | 823 | #pragma pack() |
b85daafe KG |
824 | |
825 | #define bfad_chk_iocmd_sz(__payload_len, __hdrsz, __bufsz) \ | |
826 | (((__payload_len) != ((__hdrsz) + (__bufsz))) ? \ | |
827 | BFA_STATUS_FAILED : BFA_STATUS_OK) | |
828 | ||
829 | #endif /* BFAD_BSG_H */ |