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