Lines Matching defs:bfad

19 bfad_iocmd_ioc_enable(struct bfad_s *bfad, void *cmd)
24 spin_lock_irqsave(&bfad->bfad_lock, flags);
26 if (!bfa_ioc_is_disabled(&bfad->bfa.ioc)) {
27 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
32 init_completion(&bfad->enable_comp);
33 bfa_iocfc_enable(&bfad->bfa);
35 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
36 wait_for_completion(&bfad->enable_comp);
42 bfad_iocmd_ioc_disable(struct bfad_s *bfad, void *cmd)
47 spin_lock_irqsave(&bfad->bfad_lock, flags);
48 if (bfa_ioc_is_disabled(&bfad->bfa.ioc)) {
49 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
54 if (bfad->disable_active) {
55 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
59 bfad->disable_active = BFA_TRUE;
60 init_completion(&bfad->disable_comp);
61 bfa_iocfc_disable(&bfad->bfa);
62 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
64 wait_for_completion(&bfad->disable_comp);
65 bfad->disable_active = BFA_FALSE;
72 bfad_iocmd_ioc_get_info(struct bfad_s *bfad, void *cmd)
80 spin_lock_irqsave(&bfad->bfad_lock, flags);
81 bfa_fcport_get_attr(&bfad->bfa, &pattr);
84 iocmd->ioc_type = bfa_get_type(&bfad->bfa);
85 iocmd->mac = bfa_get_mac(&bfad->bfa);
86 iocmd->factory_mac = bfa_get_mfg_mac(&bfad->bfa);
87 bfa_get_adapter_serial_num(&bfad->bfa, iocmd->serialnum);
90 iocmd->bfad_num = bfad->inst_no;
91 im_port = bfad->pport.im_port;
93 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
95 strcpy(iocmd->name, bfad->adapter_name);
96 strcpy(iocmd->port_name, bfad->port_name);
97 strcpy(iocmd->hwpath, bfad->pci_name);
100 strcpy(iocmd->adapter_hwpath, bfad->pci_name);
111 bfad_iocmd_ioc_get_attr(struct bfad_s *bfad, void *cmd)
116 spin_lock_irqsave(&bfad->bfad_lock, flags);
117 bfa_ioc_get_attr(&bfad->bfa.ioc, &iocmd->ioc_attr);
118 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
130 memcpy(bfad->pci_attr.chip_rev, iocmd->ioc_attr.pci_attr.chip_rev,
131 sizeof(bfad->pci_attr.chip_rev));
132 memcpy(&iocmd->ioc_attr.pci_attr, &bfad->pci_attr,
140 bfad_iocmd_ioc_get_stats(struct bfad_s *bfad, void *cmd)
144 bfa_ioc_get_stats(&bfad->bfa, &iocmd->ioc_stats);
150 bfad_iocmd_ioc_get_fwstats(struct bfad_s *bfad, void *cmd,
166 spin_lock_irqsave(&bfad->bfad_lock, flags);
167 iocmd->status = bfa_ioc_fw_stats_get(&bfad->bfa.ioc, iocmd_bufptr);
168 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
171 bfa_trc(bfad, iocmd->status);
175 bfa_trc(bfad, 0x6666);
180 bfad_iocmd_ioc_reset_stats(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
186 bfa_ioc_clear_stats(&bfad->bfa);
189 spin_lock_irqsave(&bfad->bfad_lock, flags);
190 iocmd->status = bfa_ioc_fw_stats_clear(&bfad->bfa.ioc);
191 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
198 bfad_iocmd_ioc_set_name(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
203 strcpy(bfad->adapter_name, iocmd->name);
205 strcpy(bfad->port_name, iocmd->name);
212 bfad_iocmd_iocfc_get_attr(struct bfad_s *bfad, void *cmd)
217 bfa_iocfc_get_attr(&bfad->bfa, &iocmd->iocfc_attr);
223 bfad_iocmd_ioc_fw_sig_inv(struct bfad_s *bfad, void *cmd)
228 spin_lock_irqsave(&bfad->bfad_lock, flags);
229 iocmd->status = bfa_ioc_fwsig_invalidate(&bfad->bfa.ioc);
230 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
235 bfad_iocmd_iocfc_set_intr(struct bfad_s *bfad, void *cmd)
240 spin_lock_irqsave(&bfad->bfad_lock, flags);
241 iocmd->status = bfa_iocfc_israttr_set(&bfad->bfa, &iocmd->attr);
242 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
248 bfad_iocmd_port_enable(struct bfad_s *bfad, void *cmd)
255 spin_lock_irqsave(&bfad->bfad_lock, flags);
256 iocmd->status = bfa_port_enable(&bfad->bfa.modules.port,
258 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
260 bfa_trc(bfad, iocmd->status);
269 bfad_iocmd_port_disable(struct bfad_s *bfad, void *cmd)
276 spin_lock_irqsave(&bfad->bfad_lock, flags);
277 iocmd->status = bfa_port_disable(&bfad->bfa.modules.port,
279 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
282 bfa_trc(bfad, iocmd->status);
291 bfad_iocmd_port_get_attr(struct bfad_s *bfad, void *cmd)
297 spin_lock_irqsave(&bfad->bfad_lock, flags);
298 bfa_fcport_get_attr(&bfad->bfa, &iocmd->attr);
299 bfa_fcs_lport_get_attr(&bfad->bfa_fcs.fabric.bport, &port_attr);
300 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
319 bfad_iocmd_port_get_stats(struct bfad_s *bfad, void *cmd,
337 spin_lock_irqsave(&bfad->bfad_lock, flags);
338 iocmd->status = bfa_port_get_stats(&bfad->bfa.modules.port,
340 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
342 bfa_trc(bfad, iocmd->status);
353 bfad_iocmd_port_reset_stats(struct bfad_s *bfad, void *cmd)
360 spin_lock_irqsave(&bfad->bfad_lock, flags);
361 iocmd->status = bfa_port_clear_stats(&bfad->bfa.modules.port,
363 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
365 bfa_trc(bfad, iocmd->status);
374 bfad_iocmd_set_port_cfg(struct bfad_s *bfad, void *iocmd, unsigned int v_cmd)
379 spin_lock_irqsave(&bfad->bfad_lock, flags);
381 cmd->status = bfa_fcport_cfg_topology(&bfad->bfa, cmd->param);
383 cmd->status = bfa_fcport_cfg_speed(&bfad->bfa, cmd->param);
385 cmd->status = bfa_fcport_cfg_hardalpa(&bfad->bfa, cmd->param);
387 cmd->status = bfa_fcport_clr_hardalpa(&bfad->bfa);
388 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
394 bfad_iocmd_port_cfg_maxfrsize(struct bfad_s *bfad, void *cmd)
400 spin_lock_irqsave(&bfad->bfad_lock, flags);
401 iocmd->status = bfa_fcport_cfg_maxfrsize(&bfad->bfa, iocmd->maxfrsize);
402 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
408 bfad_iocmd_port_cfg_bbcr(struct bfad_s *bfad, unsigned int cmd, void *pcmd)
415 spin_lock_irqsave(&bfad->bfad_lock, flags);
417 rc = bfa_fcport_cfg_bbcr(&bfad->bfa, BFA_TRUE, iocmd->bb_scn);
419 rc = bfa_fcport_cfg_bbcr(&bfad->bfa, BFA_FALSE, 0);
421 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
424 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
431 bfad_iocmd_port_get_bbcr_attr(struct bfad_s *bfad, void *pcmd)
436 spin_lock_irqsave(&bfad->bfad_lock, flags);
438 bfa_fcport_get_bbcr_attr(&bfad->bfa, &iocmd->attr);
439 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
446 bfad_iocmd_lport_get_attr(struct bfad_s *bfad, void *cmd)
452 spin_lock_irqsave(&bfad->bfad_lock, flags);
453 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
456 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
462 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
469 bfad_iocmd_lport_get_stats(struct bfad_s *bfad, void *cmd)
476 spin_lock_irqsave(&bfad->bfad_lock, flags);
477 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
480 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
486 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
493 bfad_iocmd_lport_reset_stats(struct bfad_s *bfad, void *cmd)
498 struct bfa_fcpim_s *fcpim = BFA_FCPIM(&bfad->bfa);
503 spin_lock_irqsave(&bfad->bfad_lock, flags);
504 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
507 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
520 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
527 bfad_iocmd_lport_get_iostats(struct bfad_s *bfad, void *cmd)
534 spin_lock_irqsave(&bfad->bfad_lock, flags);
535 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
538 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
543 bfa_fcpim_port_iostats(&bfad->bfa, &iocmd->iostats,
545 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
552 bfad_iocmd_lport_get_rports(struct bfad_s *bfad, void *cmd,
574 spin_lock_irqsave(&bfad->bfad_lock, flags);
575 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
578 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
579 bfa_trc(bfad, 0);
587 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
594 bfad_iocmd_rport_get_attr(struct bfad_s *bfad, void *cmd)
601 spin_lock_irqsave(&bfad->bfad_lock, flags);
602 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
605 bfa_trc(bfad, 0);
606 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
617 bfa_trc(bfad, 0);
618 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
624 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
631 bfad_iocmd_rport_get_addr(struct bfad_s *bfad, void *cmd)
640 spin_lock_irqsave(&bfad->bfad_lock, flags);
641 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
644 bfa_trc(bfad, 0);
645 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
652 bfa_trc(bfad, 0);
653 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
663 bfa_trc(bfad, 0);
664 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
670 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
680 bfad_iocmd_rport_get_stats(struct bfad_s *bfad, void *cmd)
688 spin_lock_irqsave(&bfad->bfad_lock, flags);
689 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
692 bfa_trc(bfad, 0);
693 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
700 bfa_trc(bfad, 0);
701 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
714 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
721 bfad_iocmd_rport_clr_stats(struct bfad_s *bfad, void *cmd)
730 spin_lock_irqsave(&bfad->bfad_lock, flags);
731 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
734 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
741 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
750 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
757 bfad_iocmd_rport_set_speed(struct bfad_s *bfad, void *cmd)
765 spin_lock_irqsave(&bfad->bfad_lock, flags);
766 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
769 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
776 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
786 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
793 bfad_iocmd_vport_get_attr(struct bfad_s *bfad, void *cmd)
799 spin_lock_irqsave(&bfad->bfad_lock, flags);
800 fcs_vport = bfa_fcs_vport_lookup(&bfad->bfa_fcs,
803 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
809 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
816 bfad_iocmd_vport_get_stats(struct bfad_s *bfad, void *cmd)
823 spin_lock_irqsave(&bfad->bfad_lock, flags);
824 fcs_vport = bfa_fcs_vport_lookup(&bfad->bfa_fcs,
827 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
837 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
844 bfad_iocmd_vport_clr_stats(struct bfad_s *bfad, void *cmd)
851 spin_lock_irqsave(&bfad->bfad_lock, flags);
852 fcs_vport = bfa_fcs_vport_lookup(&bfad->bfa_fcs,
855 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
862 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
869 bfad_iocmd_fabric_get_lports(struct bfad_s *bfad, void *cmd,
894 spin_lock_irqsave(&bfad->bfad_lock, flags);
895 fcs_vf = bfa_fcs_vf_lookup(&bfad->bfa_fcs, iocmd->vf_id);
897 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
902 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
911 bfad_iocmd_qos_set_bw(struct bfad_s *bfad, void *pcmd)
916 spin_lock_irqsave(&bfad->bfad_lock, flags);
917 iocmd->status = bfa_fcport_set_qos_bw(&bfad->bfa, &iocmd->qos_bw);
918 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
924 bfad_iocmd_ratelim(struct bfad_s *bfad, unsigned int cmd, void *pcmd)
927 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
930 spin_lock_irqsave(&bfad->bfad_lock, flags);
947 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
953 bfad_iocmd_ratelim_speed(struct bfad_s *bfad, unsigned int cmd, void *pcmd)
956 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
959 spin_lock_irqsave(&bfad->bfad_lock, flags);
965 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
976 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
982 bfad_iocmd_cfg_fcpim(struct bfad_s *bfad, void *cmd)
987 spin_lock_irqsave(&bfad->bfad_lock, flags);
988 bfa_fcpim_path_tov_set(&bfad->bfa, iocmd->param);
989 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
995 bfad_iocmd_fcpim_get_modstats(struct bfad_s *bfad, void *cmd)
999 struct bfa_fcpim_s *fcpim = BFA_FCPIM(&bfad->bfa);
1004 spin_lock_irqsave(&bfad->bfad_lock, flags);
1011 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1017 bfad_iocmd_fcpim_clr_modstats(struct bfad_s *bfad, void *cmd)
1021 struct bfa_fcpim_s *fcpim = BFA_FCPIM(&bfad->bfa);
1026 spin_lock_irqsave(&bfad->bfad_lock, flags);
1033 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1039 bfad_iocmd_fcpim_get_del_itn_stats(struct bfad_s *bfad, void *cmd)
1043 struct bfa_fcpim_s *fcpim = BFA_FCPIM(&bfad->bfa);
1046 spin_lock_irqsave(&bfad->bfad_lock, flags);
1049 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1056 bfad_iocmd_itnim_get_attr(struct bfad_s *bfad, void *cmd)
1062 spin_lock_irqsave(&bfad->bfad_lock, flags);
1063 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
1070 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1075 bfad_iocmd_itnim_get_iostats(struct bfad_s *bfad, void *cmd)
1083 spin_lock_irqsave(&bfad->bfad_lock, flags);
1084 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
1088 bfa_trc(bfad, 0);
1101 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1106 bfad_iocmd_itnim_reset_stats(struct bfad_s *bfad, void *cmd)
1114 spin_lock_irqsave(&bfad->bfad_lock, flags);
1115 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
1129 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1135 bfad_iocmd_itnim_get_itnstats(struct bfad_s *bfad, void *cmd)
1143 spin_lock_irqsave(&bfad->bfad_lock, flags);
1144 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
1148 bfa_trc(bfad, 0);
1159 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1164 bfad_iocmd_fcport_enable(struct bfad_s *bfad, void *cmd)
1169 spin_lock_irqsave(&bfad->bfad_lock, flags);
1170 iocmd->status = bfa_fcport_enable(&bfad->bfa);
1171 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1177 bfad_iocmd_fcport_disable(struct bfad_s *bfad, void *cmd)
1182 spin_lock_irqsave(&bfad->bfad_lock, flags);
1183 iocmd->status = bfa_fcport_disable(&bfad->bfa);
1184 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1190 bfad_iocmd_ioc_get_pcifn_cfg(struct bfad_s *bfad, void *cmd)
1197 spin_lock_irqsave(&bfad->bfad_lock, flags);
1198 iocmd->status = bfa_ablk_query(&bfad->bfa.modules.ablk,
1201 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1212 bfad_iocmd_pcifn_create(struct bfad_s *bfad, void *cmd)
1219 spin_lock_irqsave(&bfad->bfad_lock, flags);
1220 iocmd->status = bfa_ablk_pf_create(&bfad->bfa.modules.ablk,
1224 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1235 bfad_iocmd_pcifn_delete(struct bfad_s *bfad, void *cmd)
1242 spin_lock_irqsave(&bfad->bfad_lock, flags);
1243 iocmd->status = bfa_ablk_pf_delete(&bfad->bfa.modules.ablk,
1246 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1257 bfad_iocmd_pcifn_bw(struct bfad_s *bfad, void *cmd)
1264 spin_lock_irqsave(&bfad->bfad_lock, flags);
1265 iocmd->status = bfa_ablk_pf_update(&bfad->bfa.modules.ablk,
1268 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1269 bfa_trc(bfad, iocmd->status);
1275 bfa_trc(bfad, iocmd->status);
1281 bfad_iocmd_adapter_cfg_mode(struct bfad_s *bfad, void *cmd)
1289 spin_lock_irqsave(&bfad->bfad_lock, flags);
1290 iocmd->status = bfa_ablk_adapter_config(&bfad->bfa.modules.ablk,
1293 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1304 bfad_iocmd_port_cfg_mode(struct bfad_s *bfad, void *cmd)
1312 spin_lock_irqsave(&bfad->bfad_lock, flags);
1313 iocmd->status = bfa_ablk_port_config(&bfad->bfa.modules.ablk,
1317 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1328 bfad_iocmd_ablk_optrom(struct bfad_s *bfad, unsigned int cmd, void *pcmd)
1335 spin_lock_irqsave(&bfad->bfad_lock, flags);
1337 iocmd->status = bfa_ablk_optrom_en(&bfad->bfa.modules.ablk,
1340 iocmd->status = bfa_ablk_optrom_dis(&bfad->bfa.modules.ablk,
1342 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1354 bfad_iocmd_faa_query(struct bfad_s *bfad, void *cmd)
1362 spin_lock_irqsave(&bfad->bfad_lock, flags);
1363 iocmd->status = bfa_faa_query(&bfad->bfa, &iocmd->faa_attr,
1365 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1377 bfad_iocmd_cee_attr(struct bfad_s *bfad, void *cmd, unsigned int payload_len)
1397 spin_lock_irqsave(&bfad->bfad_lock, flags);
1398 iocmd->status = bfa_cee_get_attr(&bfad->bfa.modules.cee, iocmd_bufptr,
1400 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1403 bfa_trc(bfad, 0x5555);
1413 bfad_iocmd_cee_get_stats(struct bfad_s *bfad, void *cmd,
1434 spin_lock_irqsave(&bfad->bfad_lock, flags);
1435 iocmd->status = bfa_cee_get_stats(&bfad->bfa.modules.cee, iocmd_bufptr,
1437 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1440 bfa_trc(bfad, 0x5555);
1450 bfad_iocmd_cee_reset_stats(struct bfad_s *bfad, void *cmd)
1455 spin_lock_irqsave(&bfad->bfad_lock, flags);
1456 iocmd->status = bfa_cee_reset_stats(&bfad->bfa.modules.cee, NULL, NULL);
1457 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1459 bfa_trc(bfad, 0x5555);
1464 bfad_iocmd_sfp_media(struct bfad_s *bfad, void *cmd)
1471 spin_lock_irqsave(&bfad->bfad_lock, flags);
1472 iocmd->status = bfa_sfp_media(BFA_SFP_MOD(&bfad->bfa), &iocmd->media,
1474 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1475 bfa_trc(bfad, iocmd->status);
1486 bfad_iocmd_sfp_speed(struct bfad_s *bfad, void *cmd)
1493 spin_lock_irqsave(&bfad->bfad_lock, flags);
1494 iocmd->status = bfa_sfp_speed(BFA_SFP_MOD(&bfad->bfa), iocmd->speed,
1496 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1497 bfa_trc(bfad, iocmd->status);
1507 bfad_iocmd_flash_get_attr(struct bfad_s *bfad, void *cmd)
1515 spin_lock_irqsave(&bfad->bfad_lock, flags);
1516 iocmd->status = bfa_flash_get_attr(BFA_FLASH(&bfad->bfa), &iocmd->attr,
1518 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1528 bfad_iocmd_flash_erase_part(struct bfad_s *bfad, void *cmd)
1535 spin_lock_irqsave(&bfad->bfad_lock, flags);
1536 iocmd->status = bfa_flash_erase_part(BFA_FLASH(&bfad->bfa), iocmd->type,
1538 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1548 bfad_iocmd_flash_update_part(struct bfad_s *bfad, void *cmd,
1566 spin_lock_irqsave(&bfad->bfad_lock, flags);
1567 iocmd->status = bfa_flash_update_part(BFA_FLASH(&bfad->bfa),
1570 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1580 bfad_iocmd_flash_read_part(struct bfad_s *bfad, void *cmd,
1598 spin_lock_irqsave(&bfad->bfad_lock, flags);
1599 iocmd->status = bfa_flash_read_part(BFA_FLASH(&bfad->bfa), iocmd->type,
1602 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1612 bfad_iocmd_diag_temp(struct bfad_s *bfad, void *cmd)
1620 spin_lock_irqsave(&bfad->bfad_lock, flags);
1621 iocmd->status = bfa_diag_tsensor_query(BFA_DIAG_MOD(&bfad->bfa),
1623 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1624 bfa_trc(bfad, iocmd->status);
1634 bfad_iocmd_diag_memtest(struct bfad_s *bfad, void *cmd)
1642 spin_lock_irqsave(&bfad->bfad_lock, flags);
1643 iocmd->status = bfa_diag_memtest(BFA_DIAG_MOD(&bfad->bfa),
1646 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1647 bfa_trc(bfad, iocmd->status);
1657 bfad_iocmd_diag_loopback(struct bfad_s *bfad, void *cmd)
1665 spin_lock_irqsave(&bfad->bfad_lock, flags);
1666 iocmd->status = bfa_fcdiag_loopback(&bfad->bfa, iocmd->opmode,
1669 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1670 bfa_trc(bfad, iocmd->status);
1680 bfad_iocmd_diag_fwping(struct bfad_s *bfad, void *cmd)
1688 spin_lock_irqsave(&bfad->bfad_lock, flags);
1689 iocmd->status = bfa_diag_fwping(BFA_DIAG_MOD(&bfad->bfa), iocmd->cnt,
1692 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1693 bfa_trc(bfad, iocmd->status);
1696 bfa_trc(bfad, 0x77771);
1704 bfad_iocmd_diag_queuetest(struct bfad_s *bfad, void *cmd)
1711 spin_lock_irqsave(&bfad->bfad_lock, flags);
1712 iocmd->status = bfa_fcdiag_queuetest(&bfad->bfa, iocmd->force,
1715 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1725 bfad_iocmd_diag_sfp(struct bfad_s *bfad, void *cmd)
1733 spin_lock_irqsave(&bfad->bfad_lock, flags);
1734 iocmd->status = bfa_sfp_show(BFA_SFP_MOD(&bfad->bfa), &iocmd->sfp,
1736 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1737 bfa_trc(bfad, iocmd->status);
1742 bfa_trc(bfad, iocmd->status);
1748 bfad_iocmd_diag_led(struct bfad_s *bfad, void *cmd)
1753 spin_lock_irqsave(&bfad->bfad_lock, flags);
1754 iocmd->status = bfa_diag_ledtest(BFA_DIAG_MOD(&bfad->bfa),
1756 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1761 bfad_iocmd_diag_beacon_lport(struct bfad_s *bfad, void *cmd)
1767 spin_lock_irqsave(&bfad->bfad_lock, flags);
1768 iocmd->status = bfa_diag_beacon_port(BFA_DIAG_MOD(&bfad->bfa),
1771 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1776 bfad_iocmd_diag_lb_stat(struct bfad_s *bfad, void *cmd)
1782 spin_lock_irqsave(&bfad->bfad_lock, flags);
1783 iocmd->status = bfa_fcdiag_lb_is_running(&bfad->bfa);
1784 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1785 bfa_trc(bfad, iocmd->status);
1791 bfad_iocmd_diag_dport_enable(struct bfad_s *bfad, void *pcmd)
1799 spin_lock_irqsave(&bfad->bfad_lock, flags);
1800 iocmd->status = bfa_dport_enable(&bfad->bfa, iocmd->lpcnt,
1802 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1804 bfa_trc(bfad, iocmd->status);
1813 bfad_iocmd_diag_dport_disable(struct bfad_s *bfad, void *pcmd)
1820 spin_lock_irqsave(&bfad->bfad_lock, flags);
1821 iocmd->status = bfa_dport_disable(&bfad->bfa, bfad_hcb_comp, &fcomp);
1822 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1824 bfa_trc(bfad, iocmd->status);
1833 bfad_iocmd_diag_dport_start(struct bfad_s *bfad, void *pcmd)
1841 spin_lock_irqsave(&bfad->bfad_lock, flags);
1842 iocmd->status = bfa_dport_start(&bfad->bfa, iocmd->lpcnt,
1845 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1848 bfa_trc(bfad, iocmd->status);
1858 bfad_iocmd_diag_dport_show(struct bfad_s *bfad, void *pcmd)
1864 spin_lock_irqsave(&bfad->bfad_lock, flags);
1865 iocmd->status = bfa_dport_show(&bfad->bfa, &iocmd->result);
1866 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1873 bfad_iocmd_phy_get_attr(struct bfad_s *bfad, void *cmd)
1881 spin_lock_irqsave(&bfad->bfad_lock, flags);
1882 iocmd->status = bfa_phy_get_attr(BFA_PHY(&bfad->bfa), iocmd->instance,
1884 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1894 bfad_iocmd_phy_get_stats(struct bfad_s *bfad, void *cmd)
1902 spin_lock_irqsave(&bfad->bfad_lock, flags);
1903 iocmd->status = bfa_phy_get_stats(BFA_PHY(&bfad->bfa), iocmd->instance,
1905 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1915 bfad_iocmd_phy_read(struct bfad_s *bfad, void *cmd, unsigned int payload_len)
1931 spin_lock_irqsave(&bfad->bfad_lock, flags);
1932 iocmd->status = bfa_phy_read(BFA_PHY(&bfad->bfa),
1935 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1947 bfad_iocmd_vhba_query(struct bfad_s *bfad, void *cmd)
1954 spin_lock_irqsave(&bfad->bfad_lock, flags);
1955 attr->pwwn = bfad->bfa.ioc.attr->pwwn;
1956 attr->nwwn = bfad->bfa.ioc.attr->nwwn;
1957 attr->plog_enabled = (bfa_boolean_t)bfad->bfa.plog->plog_enabled;
1958 attr->io_profile = bfa_fcpim_get_io_profile(&bfad->bfa);
1959 attr->path_tov = bfa_fcpim_path_tov_get(&bfad->bfa);
1961 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1966 bfad_iocmd_phy_update(struct bfad_s *bfad, void *cmd, unsigned int payload_len)
1982 spin_lock_irqsave(&bfad->bfad_lock, flags);
1983 iocmd->status = bfa_phy_update(BFA_PHY(&bfad->bfa),
1986 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1996 bfad_iocmd_porglog_get(struct bfad_s *bfad, void *cmd)
2002 bfa_trc(bfad, sizeof(struct bfa_plog_s));
2009 memcpy(iocmd_bufptr, (u8 *) &bfad->plog_buf, sizeof(struct bfa_plog_s));
2016 bfad_iocmd_debug_fw_core(struct bfad_s *bfad, void *cmd,
2033 bfa_trc(bfad, BFA_DEBUG_FW_CORE_CHUNK_SZ);
2039 spin_lock_irqsave(&bfad->bfad_lock, flags);
2041 iocmd->status = bfa_ioc_debug_fwcore(&bfad->bfa.ioc, iocmd_bufptr,
2044 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2050 bfad_iocmd_debug_ctl(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
2056 spin_lock_irqsave(&bfad->bfad_lock, flags);
2057 bfad->bfa.ioc.dbg_fwsave_once = BFA_TRUE;
2058 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2060 bfad->plog_buf.head = bfad->plog_buf.tail = 0;
2062 bfa_trc_init(bfad->trcmod);
2064 bfa_trc_stop(bfad->trcmod);
2071 bfad_iocmd_porglog_ctl(struct bfad_s *bfad, void *cmd)
2076 bfad->plog_buf.plog_enabled = 1;
2078 bfad->plog_buf.plog_enabled = 0;
2085 bfad_iocmd_fcpim_cfg_profile(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
2091 spin_lock_irqsave(&bfad->bfad_lock, flags);
2093 iocmd->status = bfa_fcpim_profile_on(&bfad->bfa, ktime_get_real_seconds());
2095 iocmd->status = bfa_fcpim_profile_off(&bfad->bfa);
2096 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2102 bfad_iocmd_itnim_get_ioprofile(struct bfad_s *bfad, void *cmd)
2110 spin_lock_irqsave(&bfad->bfad_lock, flags);
2111 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs,
2124 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2129 bfad_iocmd_fcport_get_stats(struct bfad_s *bfad, void *cmd)
2140 spin_lock_irqsave(&bfad->bfad_lock, flags);
2141 iocmd->status = bfa_fcport_get_stats(&bfad->bfa, &cb_qe);
2142 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2144 bfa_trc(bfad, iocmd->status);
2154 bfad_iocmd_fcport_reset_stats(struct bfad_s *bfad, void *cmd)
2164 spin_lock_irqsave(&bfad->bfad_lock, flags);
2165 iocmd->status = bfa_fcport_clear_stats(&bfad->bfa, &cb_qe);
2166 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2168 bfa_trc(bfad, iocmd->status);
2178 bfad_iocmd_boot_cfg(struct bfad_s *bfad, void *cmd)
2185 spin_lock_irqsave(&bfad->bfad_lock, flags);
2186 iocmd->status = bfa_flash_update_part(BFA_FLASH(&bfad->bfa),
2187 BFA_FLASH_PART_BOOT, bfad->bfa.ioc.port_id,
2190 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2200 bfad_iocmd_boot_query(struct bfad_s *bfad, void *cmd)
2207 spin_lock_irqsave(&bfad->bfad_lock, flags);
2208 iocmd->status = bfa_flash_read_part(BFA_FLASH(&bfad->bfa),
2209 BFA_FLASH_PART_BOOT, bfad->bfa.ioc.port_id,
2212 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2222 bfad_iocmd_preboot_query(struct bfad_s *bfad, void *cmd)
2225 struct bfi_iocfc_cfgrsp_s *cfgrsp = bfad->bfa.iocfc.cfgrsp;
2229 spin_lock_irqsave(&bfad->bfad_lock, flags);
2235 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2241 bfad_iocmd_ethboot_cfg(struct bfad_s *bfad, void *cmd)
2248 spin_lock_irqsave(&bfad->bfad_lock, flags);
2249 iocmd->status = bfa_flash_update_part(BFA_FLASH(&bfad->bfa),
2251 bfad->bfa.ioc.port_id, &iocmd->cfg,
2254 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2264 bfad_iocmd_ethboot_query(struct bfad_s *bfad, void *cmd)
2271 spin_lock_irqsave(&bfad->bfad_lock, flags);
2272 iocmd->status = bfa_flash_read_part(BFA_FLASH(&bfad->bfa),
2274 bfad->bfa.ioc.port_id, &iocmd->cfg,
2277 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2287 bfad_iocmd_cfg_trunk(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
2290 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
2294 spin_lock_irqsave(&bfad->bfad_lock, flags);
2296 if (bfa_fcport_is_dport(&bfad->bfa)) {
2297 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2307 bfa_fcport_disable(&bfad->bfa);
2311 bfa_fcport_disable(&bfad->bfa);
2315 if (!bfa_fcport_is_disabled(&bfad->bfa))
2316 bfa_fcport_enable(&bfad->bfa);
2321 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2327 bfad_iocmd_trunk_get_attr(struct bfad_s *bfad, void *cmd)
2330 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
2334 spin_lock_irqsave(&bfad->bfad_lock, flags);
2341 iocmd->attr.port_id = bfa_lps_get_base_pid(&bfad->bfa);
2344 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2350 bfad_iocmd_qos(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
2353 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
2356 spin_lock_irqsave(&bfad->bfad_lock, flags);
2357 if (bfa_ioc_get_type(&bfad->bfa.ioc) == BFA_IOC_TYPE_FC) {
2372 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2378 bfad_iocmd_qos_get_attr(struct bfad_s *bfad, void *cmd)
2381 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
2384 spin_lock_irqsave(&bfad->bfad_lock, flags);
2398 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2404 bfad_iocmd_qos_get_vc_attr(struct bfad_s *bfad, void *cmd)
2408 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
2413 spin_lock_irqsave(&bfad->bfad_lock, flags);
2429 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2436 bfad_iocmd_qos_get_stats(struct bfad_s *bfad, void *cmd)
2443 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
2449 spin_lock_irqsave(&bfad->bfad_lock, flags);
2450 WARN_ON(!bfa_ioc_get_fcmode(&bfad->bfa.ioc));
2455 iocmd->status = bfa_fcport_get_stats(&bfad->bfa, &cb_qe);
2456 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2458 bfa_trc(bfad, iocmd->status);
2468 bfad_iocmd_qos_reset_stats(struct bfad_s *bfad, void *cmd)
2474 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
2480 spin_lock_irqsave(&bfad->bfad_lock, flags);
2481 WARN_ON(!bfa_ioc_get_fcmode(&bfad->bfa.ioc));
2486 iocmd->status = bfa_fcport_clear_stats(&bfad->bfa, &cb_qe);
2487 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2489 bfa_trc(bfad, iocmd->status);
2499 bfad_iocmd_vf_get_stats(struct bfad_s *bfad, void *cmd)
2506 spin_lock_irqsave(&bfad->bfad_lock, flags);
2507 fcs_vf = bfa_fcs_vf_lookup(&bfad->bfa_fcs, iocmd->vf_id);
2509 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2515 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2522 bfad_iocmd_vf_clr_stats(struct bfad_s *bfad, void *cmd)
2529 spin_lock_irqsave(&bfad->bfad_lock, flags);
2530 fcs_vf = bfa_fcs_vf_lookup(&bfad->bfa_fcs, iocmd->vf_id);
2532 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2537 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2545 bfad_iocmd_lunmask_reset_lunscan_mode(struct bfad_s *bfad, int lunmask_cfg)
2547 struct bfad_im_port_s *pport_im = bfad->pport.im_port;
2554 list_for_each_entry(vport, &bfad->vport_list, list_entry)
2559 bfad_iocmd_lunmask(struct bfad_s *bfad, void *pcmd, unsigned int v_cmd)
2564 spin_lock_irqsave(&bfad->bfad_lock, flags);
2566 iocmd->status = bfa_fcpim_lunmask_update(&bfad->bfa, BFA_TRUE);
2569 bfad_iocmd_lunmask_reset_lunscan_mode(bfad, BFA_TRUE);
2571 iocmd->status = bfa_fcpim_lunmask_update(&bfad->bfa, BFA_FALSE);
2574 bfad_iocmd_lunmask_reset_lunscan_mode(bfad, BFA_FALSE);
2576 iocmd->status = bfa_fcpim_lunmask_clear(&bfad->bfa);
2577 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2582 bfad_iocmd_fcpim_lunmask_query(struct bfad_s *bfad, void *cmd)
2589 spin_lock_irqsave(&bfad->bfad_lock, flags);
2590 iocmd->status = bfa_fcpim_lunmask_query(&bfad->bfa, lun_mask);
2591 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2596 bfad_iocmd_fcpim_cfg_lunmask(struct bfad_s *bfad, void *cmd, unsigned int v_cmd)
2602 spin_lock_irqsave(&bfad->bfad_lock, flags);
2604 iocmd->status = bfa_fcpim_lunmask_add(&bfad->bfa, iocmd->vf_id,
2607 iocmd->status = bfa_fcpim_lunmask_delete(&bfad->bfa,
2610 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2615 bfad_iocmd_fcpim_throttle_query(struct bfad_s *bfad, void *cmd)
2621 spin_lock_irqsave(&bfad->bfad_lock, flags);
2622 iocmd->status = bfa_fcpim_throttle_get(&bfad->bfa,
2624 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2630 bfad_iocmd_fcpim_throttle_set(struct bfad_s *bfad, void *cmd)
2636 spin_lock_irqsave(&bfad->bfad_lock, flags);
2637 iocmd->status = bfa_fcpim_throttle_set(&bfad->bfa,
2639 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2645 bfad_iocmd_tfru_read(struct bfad_s *bfad, void *cmd)
2653 spin_lock_irqsave(&bfad->bfad_lock, flags);
2654 iocmd->status = bfa_tfru_read(BFA_FRU(&bfad->bfa),
2657 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2667 bfad_iocmd_tfru_write(struct bfad_s *bfad, void *cmd)
2675 spin_lock_irqsave(&bfad->bfad_lock, flags);
2676 iocmd->status = bfa_tfru_write(BFA_FRU(&bfad->bfa),
2679 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2689 bfad_iocmd_fruvpd_read(struct bfad_s *bfad, void *cmd)
2697 spin_lock_irqsave(&bfad->bfad_lock, flags);
2698 iocmd->status = bfa_fruvpd_read(BFA_FRU(&bfad->bfa),
2701 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2711 bfad_iocmd_fruvpd_update(struct bfad_s *bfad, void *cmd)
2719 spin_lock_irqsave(&bfad->bfad_lock, flags);
2720 iocmd->status = bfa_fruvpd_update(BFA_FRU(&bfad->bfa),
2723 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2733 bfad_iocmd_fruvpd_get_max_size(struct bfad_s *bfad, void *cmd)
2739 spin_lock_irqsave(&bfad->bfad_lock, flags);
2740 iocmd->status = bfa_fruvpd_get_max_size(BFA_FRU(&bfad->bfa),
2742 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
2748 bfad_iocmd_handler(struct bfad_s *bfad, unsigned int cmd, void *iocmd,
2755 rc = bfad_iocmd_ioc_enable(bfad, iocmd);
2758 rc = bfad_iocmd_ioc_disable(bfad, iocmd);
2761 rc = bfad_iocmd_ioc_get_info(bfad, iocmd);
2764 rc = bfad_iocmd_ioc_get_attr(bfad, iocmd);
2767 rc = bfad_iocmd_ioc_get_stats(bfad, iocmd);
2770 rc = bfad_iocmd_ioc_get_fwstats(bfad, iocmd, payload_len);
2774 rc = bfad_iocmd_ioc_reset_stats(bfad, iocmd, cmd);
2778 rc = bfad_iocmd_ioc_set_name(bfad, iocmd, cmd);
2781 rc = bfad_iocmd_iocfc_get_attr(bfad, iocmd);
2784 rc = bfad_iocmd_iocfc_set_intr(bfad, iocmd);
2787 rc = bfad_iocmd_port_enable(bfad, iocmd);
2790 rc = bfad_iocmd_port_disable(bfad, iocmd);
2793 rc = bfad_iocmd_port_get_attr(bfad, iocmd);
2796 rc = bfad_iocmd_port_get_stats(bfad, iocmd, payload_len);
2799 rc = bfad_iocmd_port_reset_stats(bfad, iocmd);
2805 rc = bfad_iocmd_set_port_cfg(bfad, iocmd, cmd);
2808 rc = bfad_iocmd_port_cfg_maxfrsize(bfad, iocmd);
2812 rc = bfad_iocmd_port_cfg_bbcr(bfad, cmd, iocmd);
2815 rc = bfad_iocmd_port_get_bbcr_attr(bfad, iocmd);
2818 rc = bfad_iocmd_lport_get_attr(bfad, iocmd);
2821 rc = bfad_iocmd_lport_get_stats(bfad, iocmd);
2824 rc = bfad_iocmd_lport_reset_stats(bfad, iocmd);
2827 rc = bfad_iocmd_lport_get_iostats(bfad, iocmd);
2830 rc = bfad_iocmd_lport_get_rports(bfad, iocmd, payload_len);
2833 rc = bfad_iocmd_rport_get_attr(bfad, iocmd);
2836 rc = bfad_iocmd_rport_get_addr(bfad, iocmd);
2839 rc = bfad_iocmd_rport_get_stats(bfad, iocmd);
2842 rc = bfad_iocmd_rport_clr_stats(bfad, iocmd);
2845 rc = bfad_iocmd_rport_set_speed(bfad, iocmd);
2848 rc = bfad_iocmd_vport_get_attr(bfad, iocmd);
2851 rc = bfad_iocmd_vport_get_stats(bfad, iocmd);
2854 rc = bfad_iocmd_vport_clr_stats(bfad, iocmd);
2857 rc = bfad_iocmd_fabric_get_lports(bfad, iocmd, payload_len);
2861 rc = bfad_iocmd_ratelim(bfad, cmd, iocmd);
2864 rc = bfad_iocmd_ratelim_speed(bfad, cmd, iocmd);
2867 rc = bfad_iocmd_cfg_fcpim(bfad, iocmd);
2870 rc = bfad_iocmd_fcpim_get_modstats(bfad, iocmd);
2873 rc = bfad_iocmd_fcpim_clr_modstats(bfad, iocmd);
2876 rc = bfad_iocmd_fcpim_get_del_itn_stats(bfad, iocmd);
2879 rc = bfad_iocmd_itnim_get_attr(bfad, iocmd);
2882 rc = bfad_iocmd_itnim_get_iostats(bfad, iocmd);
2885 rc = bfad_iocmd_itnim_reset_stats(bfad, iocmd);
2888 rc = bfad_iocmd_itnim_get_itnstats(bfad, iocmd);
2891 rc = bfad_iocmd_fcport_enable(bfad, iocmd);
2894 rc = bfad_iocmd_fcport_disable(bfad, iocmd);
2897 rc = bfad_iocmd_ioc_get_pcifn_cfg(bfad, iocmd);
2900 rc = bfad_iocmd_ioc_fw_sig_inv(bfad, iocmd);
2903 rc = bfad_iocmd_pcifn_create(bfad, iocmd);
2906 rc = bfad_iocmd_pcifn_delete(bfad, iocmd);
2909 rc = bfad_iocmd_pcifn_bw(bfad, iocmd);
2912 rc = bfad_iocmd_adapter_cfg_mode(bfad, iocmd);
2915 rc = bfad_iocmd_port_cfg_mode(bfad, iocmd);
2919 rc = bfad_iocmd_ablk_optrom(bfad, cmd, iocmd);
2922 rc = bfad_iocmd_faa_query(bfad, iocmd);
2925 rc = bfad_iocmd_cee_attr(bfad, iocmd, payload_len);
2928 rc = bfad_iocmd_cee_get_stats(bfad, iocmd, payload_len);
2931 rc = bfad_iocmd_cee_reset_stats(bfad, iocmd);
2934 rc = bfad_iocmd_sfp_media(bfad, iocmd);
2937 rc = bfad_iocmd_sfp_speed(bfad, iocmd);
2940 rc = bfad_iocmd_flash_get_attr(bfad, iocmd);
2943 rc = bfad_iocmd_flash_erase_part(bfad, iocmd);
2946 rc = bfad_iocmd_flash_update_part(bfad, iocmd, payload_len);
2949 rc = bfad_iocmd_flash_read_part(bfad, iocmd, payload_len);
2952 rc = bfad_iocmd_diag_temp(bfad, iocmd);
2955 rc = bfad_iocmd_diag_memtest(bfad, iocmd);
2958 rc = bfad_iocmd_diag_loopback(bfad, iocmd);
2961 rc = bfad_iocmd_diag_fwping(bfad, iocmd);
2964 rc = bfad_iocmd_diag_queuetest(bfad, iocmd);
2967 rc = bfad_iocmd_diag_sfp(bfad, iocmd);
2970 rc = bfad_iocmd_diag_led(bfad, iocmd);
2973 rc = bfad_iocmd_diag_beacon_lport(bfad, iocmd);
2976 rc = bfad_iocmd_diag_lb_stat(bfad, iocmd);
2979 rc = bfad_iocmd_diag_dport_enable(bfad, iocmd);
2982 rc = bfad_iocmd_diag_dport_disable(bfad, iocmd);
2985 rc = bfad_iocmd_diag_dport_show(bfad, iocmd);
2988 rc = bfad_iocmd_diag_dport_start(bfad, iocmd);
2991 rc = bfad_iocmd_phy_get_attr(bfad, iocmd);
2994 rc = bfad_iocmd_phy_get_stats(bfad, iocmd);
2997 rc = bfad_iocmd_phy_update(bfad, iocmd, payload_len);
3000 rc = bfad_iocmd_phy_read(bfad, iocmd, payload_len);
3003 rc = bfad_iocmd_vhba_query(bfad, iocmd);
3006 rc = bfad_iocmd_porglog_get(bfad, iocmd);
3009 rc = bfad_iocmd_debug_fw_core(bfad, iocmd, payload_len);
3015 rc = bfad_iocmd_debug_ctl(bfad, iocmd, cmd);
3018 rc = bfad_iocmd_porglog_ctl(bfad, iocmd);
3022 rc = bfad_iocmd_fcpim_cfg_profile(bfad, iocmd, cmd);
3025 rc = bfad_iocmd_itnim_get_ioprofile(bfad, iocmd);
3028 rc = bfad_iocmd_fcport_get_stats(bfad, iocmd);
3031 rc = bfad_iocmd_fcport_reset_stats(bfad, iocmd);
3034 rc = bfad_iocmd_boot_cfg(bfad, iocmd);
3037 rc = bfad_iocmd_boot_query(bfad, iocmd);
3040 rc = bfad_iocmd_preboot_query(bfad, iocmd);
3043 rc = bfad_iocmd_ethboot_cfg(bfad, iocmd);
3046 rc = bfad_iocmd_ethboot_query(bfad, iocmd);
3050 rc = bfad_iocmd_cfg_trunk(bfad, iocmd, cmd);
3053 rc = bfad_iocmd_trunk_get_attr(bfad, iocmd);
3057 rc = bfad_iocmd_qos(bfad, iocmd, cmd);
3060 rc = bfad_iocmd_qos_get_attr(bfad, iocmd);
3063 rc = bfad_iocmd_qos_get_vc_attr(bfad, iocmd);
3066 rc = bfad_iocmd_qos_get_stats(bfad, iocmd);
3069 rc = bfad_iocmd_qos_reset_stats(bfad, iocmd);
3072 rc = bfad_iocmd_qos_set_bw(bfad, iocmd);
3075 rc = bfad_iocmd_vf_get_stats(bfad, iocmd);
3078 rc = bfad_iocmd_vf_clr_stats(bfad, iocmd);
3083 rc = bfad_iocmd_lunmask(bfad, iocmd, cmd);
3086 rc = bfad_iocmd_fcpim_lunmask_query(bfad, iocmd);
3090 rc = bfad_iocmd_fcpim_cfg_lunmask(bfad, iocmd, cmd);
3093 rc = bfad_iocmd_fcpim_throttle_query(bfad, iocmd);
3096 rc = bfad_iocmd_fcpim_throttle_set(bfad, iocmd);
3100 rc = bfad_iocmd_tfru_read(bfad, iocmd);
3103 rc = bfad_iocmd_tfru_write(bfad, iocmd);
3107 rc = bfad_iocmd_fruvpd_read(bfad, iocmd);
3110 rc = bfad_iocmd_fruvpd_update(bfad, iocmd);
3113 rc = bfad_iocmd_fruvpd_get_max_size(bfad, iocmd);
3130 struct bfad_s *bfad = im_port->bfad;
3147 rc = bfad_iocmd_handler(bfad, vendor_cmd, payload_kbuf,
3240 bfad_fcxp_map_sg(struct bfad_s *bfad, void *payload_kbuf,
3259 buf_info->virt = dma_alloc_coherent(&bfad->pcidev->dev,
3284 bfad_fcxp_free_mem(struct bfad_s *bfad, struct bfad_buf_info *buf_base,
3293 dma_free_coherent(&bfad->pcidev->dev,
3306 struct bfad_s *bfad = drv_fcxp->port->bfad;
3310 spin_lock_irqsave(&bfad->bfad_lock, flags);
3313 hal_fcxp = bfa_fcxp_req_rsp_alloc(drv_fcxp, &bfad->bfa,
3321 bfa_trc(bfad, 0);
3322 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
3328 lp_tag = bfa_lps_get_tag_from_pid(&bfad->bfa, bsg_fcpt->fchs.s_id);
3333 &bsg_fcpt->fchs, bfad_send_fcpt_cb, bfad,
3336 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
3347 struct bfad_s *bfad = im_port->bfad;
3394 spin_lock_irqsave(&bfad->bfad_lock, flags);
3395 fcs_port = bfa_fcs_lookup_port(&bfad->bfa_fcs, bsg_fcpt->vf_id,
3399 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
3406 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
3412 if (drv_fcxp->port->bfad == 0)
3413 drv_fcxp->port->bfad = bfad;
3428 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
3435 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
3439 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
3445 bfad->pci_name);
3453 bfad->pci_name);
3463 drv_fcxp->reqbuf_info = bfad_fcxp_map_sg(bfad, req_kbuf,
3468 bfad->pci_name);
3479 drv_fcxp->rspbuf_info = bfad_fcxp_map_sg(bfad, rsp_kbuf,
3484 bfad->pci_name);
3526 bfad_fcxp_free_mem(bfad, drv_fcxp->rspbuf_info,
3528 bfad_fcxp_free_mem(bfad, drv_fcxp->reqbuf_info,