Lines Matching defs:iocmd

28 	struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
36 iocmd->status = BFA_STATUS_IOC_FAILURE;
42 iocmd->status = BFA_STATUS_OK;
52 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
69 iocmd->status = BFA_STATUS_OK;
78 struct bfa_bsg_ioc_info_s *iocmd = (struct bfa_bsg_ioc_info_s *)cmd;
85 iocmd->nwwn = pattr.nwwn;
86 iocmd->pwwn = pattr.pwwn;
87 iocmd->ioc_type = bfa_get_type(&bfad->bfa);
88 iocmd->mac = bfa_get_mac(&bfad->bfa);
89 iocmd->factory_mac = bfa_get_mfg_mac(&bfad->bfa);
90 bfa_get_adapter_serial_num(&bfad->bfa, iocmd->serialnum);
91 iocmd->factorynwwn = pattr.factorynwwn;
92 iocmd->factorypwwn = pattr.factorypwwn;
93 iocmd->bfad_num = bfad->inst_no;
95 iocmd->host = im_port->shost->host_no;
98 strcpy(iocmd->name, bfad->adapter_name);
99 strcpy(iocmd->port_name, bfad->port_name);
100 strcpy(iocmd->hwpath, bfad->pci_name);
103 strcpy(iocmd->adapter_hwpath, bfad->pci_name);
104 i = strlen(iocmd->adapter_hwpath) - 1;
105 while (iocmd->adapter_hwpath[i] != '.')
107 iocmd->adapter_hwpath[i] = '\0';
108 iocmd->status = BFA_STATUS_OK;
115 struct bfa_bsg_ioc_attr_s *iocmd = (struct bfa_bsg_ioc_attr_s *)cmd;
119 bfa_ioc_get_attr(&bfad->bfa.ioc, &iocmd->ioc_attr);
123 strcpy(iocmd->ioc_attr.driver_attr.driver, BFAD_DRIVER_NAME);
124 strncpy(iocmd->ioc_attr.driver_attr.driver_ver,
126 strcpy(iocmd->ioc_attr.driver_attr.fw_ver,
127 iocmd->ioc_attr.adapter_attr.fw_ver);
128 strcpy(iocmd->ioc_attr.driver_attr.bios_ver,
129 iocmd->ioc_attr.adapter_attr.optrom_ver);
132 memcpy(bfad->pci_attr.chip_rev, iocmd->ioc_attr.pci_attr.chip_rev,
134 memcpy(&iocmd->ioc_attr.pci_attr, &bfad->pci_attr,
137 iocmd->status = BFA_STATUS_OK;
144 struct bfa_bsg_ioc_stats_s *iocmd = (struct bfa_bsg_ioc_stats_s *)cmd;
146 bfa_ioc_get_stats(&bfad->bfa, &iocmd->ioc_stats);
147 iocmd->status = BFA_STATUS_OK;
155 struct bfa_bsg_ioc_fwstats_s *iocmd =
163 iocmd->status = BFA_STATUS_VERSION_FAIL;
167 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_ioc_fwstats_s);
169 iocmd->status = bfa_ioc_fw_stats_get(&bfad->bfa.ioc, iocmd_bufptr);
172 if (iocmd->status != BFA_STATUS_OK) {
173 bfa_trc(bfad, iocmd->status);
184 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
189 iocmd->status = BFA_STATUS_OK;
192 iocmd->status = bfa_ioc_fw_stats_clear(&bfad->bfa.ioc);
202 struct bfa_bsg_ioc_name_s *iocmd = (struct bfa_bsg_ioc_name_s *) cmd;
205 strcpy(bfad->adapter_name, iocmd->name);
207 strcpy(bfad->port_name, iocmd->name);
209 iocmd->status = BFA_STATUS_OK;
216 struct bfa_bsg_iocfc_attr_s *iocmd = (struct bfa_bsg_iocfc_attr_s *)cmd;
218 iocmd->status = BFA_STATUS_OK;
219 bfa_iocfc_get_attr(&bfad->bfa, &iocmd->iocfc_attr);
227 struct bfa_bsg_iocfc_intr_s *iocmd = (struct bfa_bsg_iocfc_intr_s *)cmd;
231 iocmd->status = bfa_iocfc_israttr_set(&bfad->bfa, &iocmd->attr);
240 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
246 iocmd->status = bfa_port_enable(&bfad->bfa.modules.port,
249 if (iocmd->status != BFA_STATUS_OK) {
250 bfa_trc(bfad, iocmd->status);
254 iocmd->status = fcomp.status;
261 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
267 iocmd->status = bfa_port_disable(&bfad->bfa.modules.port,
271 if (iocmd->status != BFA_STATUS_OK) {
272 bfa_trc(bfad, iocmd->status);
276 iocmd->status = fcomp.status;
283 struct bfa_bsg_port_attr_s *iocmd = (struct bfa_bsg_port_attr_s *)cmd;
288 bfa_fcport_get_attr(&bfad->bfa, &iocmd->attr);
292 if (iocmd->attr.topology != BFA_PORT_TOPOLOGY_NONE)
293 iocmd->attr.pid = port_attr.pid;
295 iocmd->attr.pid = 0;
297 iocmd->attr.port_type = port_attr.port_type;
298 iocmd->attr.loopback = port_attr.loopback;
299 iocmd->attr.authfail = port_attr.authfail;
300 strncpy(iocmd->attr.port_symname.symname,
304 iocmd->status = BFA_STATUS_OK;
312 struct bfa_bsg_port_stats_s *iocmd = (struct bfa_bsg_port_stats_s *)cmd;
320 iocmd->status = BFA_STATUS_VERSION_FAIL;
324 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_port_stats_s);
328 iocmd->status = bfa_port_get_stats(&bfad->bfa.modules.port,
331 if (iocmd->status != BFA_STATUS_OK) {
332 bfa_trc(bfad, iocmd->status);
337 iocmd->status = fcomp.status;
345 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
351 iocmd->status = bfa_port_clear_stats(&bfad->bfa.modules.port,
354 if (iocmd->status != BFA_STATUS_OK) {
355 bfa_trc(bfad, iocmd->status);
359 iocmd->status = fcomp.status;
364 bfad_iocmd_set_port_cfg(struct bfad_s *bfad, void *iocmd, unsigned int v_cmd)
366 struct bfa_bsg_port_cfg_s *cmd = (struct bfa_bsg_port_cfg_s *)iocmd;
386 struct bfa_bsg_port_cfg_maxfrsize_s *iocmd =
391 iocmd->status = bfa_fcport_cfg_maxfrsize(&bfad->bfa, iocmd->maxfrsize);
400 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
413 iocmd->status = BFA_STATUS_OK;
421 struct bfa_bsg_lport_attr_s *iocmd = (struct bfa_bsg_lport_attr_s *)cmd;
426 iocmd->vf_id, iocmd->pwwn);
429 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
433 bfa_fcs_lport_get_attr(fcs_port, &iocmd->port_attr);
435 iocmd->status = BFA_STATUS_OK;
444 struct bfa_bsg_lport_stats_s *iocmd =
450 iocmd->vf_id, iocmd->pwwn);
453 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
457 bfa_fcs_lport_get_stats(fcs_port, &iocmd->port_stats);
459 iocmd->status = BFA_STATUS_OK;
468 struct bfa_bsg_reset_stats_s *iocmd =
477 iocmd->vf_id, iocmd->vpwwn);
480 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
493 iocmd->status = BFA_STATUS_OK;
502 struct bfa_bsg_lport_iostats_s *iocmd =
508 iocmd->vf_id, iocmd->pwwn);
511 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
515 bfa_fcpim_port_iostats(&bfad->bfa, &iocmd->iostats,
518 iocmd->status = BFA_STATUS_OK;
527 struct bfa_bsg_lport_get_rports_s *iocmd =
533 if (iocmd->nrports == 0)
538 sizeof(wwn_t) * iocmd->nrports) != BFA_STATUS_OK) {
539 iocmd->status = BFA_STATUS_VERSION_FAIL;
543 iocmd_bufptr = (char *)iocmd +
547 iocmd->vf_id, iocmd->pwwn);
551 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
556 &iocmd->nrports);
558 iocmd->status = BFA_STATUS_OK;
566 struct bfa_bsg_rport_attr_s *iocmd = (struct bfa_bsg_rport_attr_s *)cmd;
573 iocmd->vf_id, iocmd->pwwn);
577 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
581 fcs_rport = bfa_fcs_rport_lookup(fcs_port, iocmd->rpwwn);
585 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
589 bfa_fcs_rport_get_attr(fcs_rport, &iocmd->attr);
591 iocmd->status = BFA_STATUS_OK;
599 struct bfa_bsg_rport_scsi_addr_s *iocmd =
608 iocmd->vf_id, iocmd->pwwn);
612 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
616 fcs_itnim = bfa_fcs_itnim_lookup(fcs_port, iocmd->rpwwn);
620 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
627 iocmd->host = drv_itnim->im_port->shost->host_no;
631 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
635 iocmd->target = drv_itnim->scsi_tgt_id;
638 iocmd->bus = 0;
639 iocmd->lun = 0;
640 iocmd->status = BFA_STATUS_OK;
648 struct bfa_bsg_rport_stats_s *iocmd =
656 iocmd->vf_id, iocmd->pwwn);
660 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
664 fcs_rport = bfa_fcs_rport_lookup(fcs_port, iocmd->rpwwn);
668 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
672 memcpy((void *)&iocmd->stats, (void *)&fcs_rport->stats,
674 memcpy((void *)&iocmd->stats.hal_stats,
679 iocmd->status = BFA_STATUS_OK;
687 struct bfa_bsg_rport_reset_stats_s *iocmd =
696 iocmd->vf_id, iocmd->pwwn);
699 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
703 fcs_rport = bfa_fcs_rport_lookup(fcs_port, iocmd->rpwwn);
706 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
714 iocmd->status = BFA_STATUS_OK;
722 struct bfa_bsg_rport_set_speed_s *iocmd =
730 iocmd->vf_id, iocmd->pwwn);
733 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
737 fcs_rport = bfa_fcs_rport_lookup(fcs_port, iocmd->rpwwn);
740 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
744 fcs_rport->rpf.assigned_speed = iocmd->speed;
747 bfa_rport_speed(fcs_rport->bfa_rport, iocmd->speed);
749 iocmd->status = BFA_STATUS_OK;
758 struct bfa_bsg_vport_attr_s *iocmd = (struct bfa_bsg_vport_attr_s *)cmd;
763 iocmd->vf_id, iocmd->vpwwn);
766 iocmd->status = BFA_STATUS_UNKNOWN_VWWN;
770 bfa_fcs_vport_get_attr(fcs_vport, &iocmd->vport_attr);
772 iocmd->status = BFA_STATUS_OK;
781 struct bfa_bsg_vport_stats_s *iocmd =
787 iocmd->vf_id, iocmd->vpwwn);
790 iocmd->status = BFA_STATUS_UNKNOWN_VWWN;
794 memcpy((void *)&iocmd->vport_stats, (void *)&fcs_vport->vport_stats,
796 memcpy((void *)&iocmd->vport_stats.port_stats,
800 iocmd->status = BFA_STATUS_OK;
809 struct bfa_bsg_reset_stats_s *iocmd =
815 iocmd->vf_id, iocmd->vpwwn);
818 iocmd->status = BFA_STATUS_UNKNOWN_VWWN;
825 iocmd->status = BFA_STATUS_OK;
834 struct bfa_bsg_fabric_get_lports_s *iocmd =
837 uint32_t nports = iocmd->nports;
842 iocmd->status = BFA_STATUS_EINVAL;
848 sizeof(wwn_t[iocmd->nports])) != BFA_STATUS_OK) {
849 iocmd->status = BFA_STATUS_VERSION_FAIL;
853 iocmd_bufptr = (char *)iocmd +
857 fcs_vf = bfa_fcs_vf_lookup(&bfad->bfa_fcs, iocmd->vf_id);
860 iocmd->status = BFA_STATUS_UNKNOWN_VFID;
866 iocmd->nports = nports;
867 iocmd->status = BFA_STATUS_OK;
875 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)pcmd;
890 iocmd->status = BFA_STATUS_OK;
898 struct bfa_bsg_trl_speed_s *iocmd = (struct bfa_bsg_trl_speed_s *)pcmd;
905 if ((iocmd->speed == BFA_PORT_SPEED_AUTO) ||
906 (iocmd->speed > fcport->speed_sup)) {
907 iocmd->status = BFA_STATUS_UNSUPP_SPEED;
912 fcport->cfg.trl_def_speed = iocmd->speed;
913 iocmd->status = BFA_STATUS_OK;
922 struct bfa_bsg_fcpim_s *iocmd = (struct bfa_bsg_fcpim_s *)cmd;
926 bfa_fcpim_path_tov_set(&bfad->bfa, iocmd->param);
928 iocmd->status = BFA_STATUS_OK;
935 struct bfa_bsg_fcpim_modstats_s *iocmd =
944 memset((void *)&iocmd->modstats, 0, sizeof(struct bfa_itnim_iostats_s));
947 bfa_fcpim_add_stats(&iocmd->modstats, &(itnim->stats));
950 iocmd->status = BFA_STATUS_OK;
957 struct bfa_bsg_fcpim_modstatsclr_s *iocmd =
972 iocmd->status = BFA_STATUS_OK;
979 struct bfa_bsg_fcpim_del_itn_stats_s *iocmd =
985 memcpy((void *)&iocmd->modstats, (void *)&fcpim->del_itn_stats,
989 iocmd->status = BFA_STATUS_OK;
996 struct bfa_bsg_itnim_attr_s *iocmd = (struct bfa_bsg_itnim_attr_s *)cmd;
1002 iocmd->vf_id, iocmd->lpwwn);
1004 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
1006 iocmd->status = bfa_fcs_itnim_attr_get(fcs_port,
1007 iocmd->rpwwn, &iocmd->attr);
1015 struct bfa_bsg_itnim_iostats_s *iocmd =
1023 iocmd->vf_id, iocmd->lpwwn);
1025 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
1028 itnim = bfa_fcs_itnim_lookup(fcs_port, iocmd->rpwwn);
1030 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
1032 iocmd->status = BFA_STATUS_OK;
1033 memcpy((void *)&iocmd->iostats, (void *)
1045 struct bfa_bsg_rport_reset_stats_s *iocmd =
1053 iocmd->vf_id, iocmd->pwwn);
1055 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
1057 itnim = bfa_fcs_itnim_lookup(fcs_port, iocmd->rpwwn);
1059 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
1061 iocmd->status = BFA_STATUS_OK;
1062 bfa_fcs_itnim_stats_clear(fcs_port, iocmd->rpwwn);
1074 struct bfa_bsg_itnim_itnstats_s *iocmd =
1082 iocmd->vf_id, iocmd->lpwwn);
1084 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
1087 itnim = bfa_fcs_itnim_lookup(fcs_port, iocmd->rpwwn);
1089 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
1091 iocmd->status = BFA_STATUS_OK;
1092 bfa_fcs_itnim_stats_get(fcs_port, iocmd->rpwwn,
1093 &iocmd->itnstats);
1103 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
1107 iocmd->status = bfa_fcport_enable(&bfad->bfa);
1116 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
1120 iocmd->status = bfa_fcport_disable(&bfad->bfa);
1129 struct bfa_bsg_pcifn_cfg_s *iocmd = (struct bfa_bsg_pcifn_cfg_s *)cmd;
1135 iocmd->status = bfa_ablk_query(&bfad->bfa.modules.ablk,
1136 &iocmd->pcifn_cfg,
1139 if (iocmd->status != BFA_STATUS_OK)
1143 iocmd->status = fcomp.status;
1151 struct bfa_bsg_pcifn_s *iocmd = (struct bfa_bsg_pcifn_s *)cmd;
1157 iocmd->status = bfa_ablk_pf_create(&bfad->bfa.modules.ablk,
1158 &iocmd->pcifn_id, iocmd->port,
1159 iocmd->pcifn_class, iocmd->bandwidth,
1162 if (iocmd->status != BFA_STATUS_OK)
1166 iocmd->status = fcomp.status;
1174 struct bfa_bsg_pcifn_s *iocmd = (struct bfa_bsg_pcifn_s *)cmd;
1180 iocmd->status = bfa_ablk_pf_delete(&bfad->bfa.modules.ablk,
1181 iocmd->pcifn_id,
1184 if (iocmd->status != BFA_STATUS_OK)
1188 iocmd->status = fcomp.status;
1196 struct bfa_bsg_pcifn_s *iocmd = (struct bfa_bsg_pcifn_s *)cmd;
1202 iocmd->status = bfa_ablk_pf_update(&bfad->bfa.modules.ablk,
1203 iocmd->pcifn_id, iocmd->bandwidth,
1206 bfa_trc(bfad, iocmd->status);
1207 if (iocmd->status != BFA_STATUS_OK)
1211 iocmd->status = fcomp.status;
1212 bfa_trc(bfad, iocmd->status);
1220 struct bfa_bsg_adapter_cfg_mode_s *iocmd =
1227 iocmd->status = bfa_ablk_adapter_config(&bfad->bfa.modules.ablk,
1228 iocmd->cfg.mode, iocmd->cfg.max_pf,
1229 iocmd->cfg.max_vf, bfad_hcb_comp, &fcomp);
1231 if (iocmd->status != BFA_STATUS_OK)
1235 iocmd->status = fcomp.status;
1243 struct bfa_bsg_port_cfg_mode_s *iocmd =
1250 iocmd->status = bfa_ablk_port_config(&bfad->bfa.modules.ablk,
1251 iocmd->instance, iocmd->cfg.mode,
1252 iocmd->cfg.max_pf, iocmd->cfg.max_vf,
1255 if (iocmd->status != BFA_STATUS_OK)
1259 iocmd->status = fcomp.status;
1267 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)pcmd;
1274 iocmd->status = bfa_ablk_optrom_en(&bfad->bfa.modules.ablk,
1277 iocmd->status = bfa_ablk_optrom_dis(&bfad->bfa.modules.ablk,
1281 if (iocmd->status != BFA_STATUS_OK)
1285 iocmd->status = fcomp.status;
1293 struct bfa_bsg_faa_attr_s *iocmd = (struct bfa_bsg_faa_attr_s *)cmd;
1298 iocmd->status = BFA_STATUS_OK;
1300 iocmd->status = bfa_faa_query(&bfad->bfa, &iocmd->faa_attr,
1304 if (iocmd->status != BFA_STATUS_OK)
1308 iocmd->status = fcomp.status;
1316 struct bfa_bsg_cee_attr_s *iocmd =
1325 iocmd->status = BFA_STATUS_VERSION_FAIL;
1329 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_cee_attr_s);
1335 iocmd->status = bfa_cee_get_attr(&bfad->bfa.modules.cee, iocmd_bufptr,
1338 if (iocmd->status != BFA_STATUS_OK) {
1353 struct bfa_bsg_cee_stats_s *iocmd =
1362 iocmd->status = BFA_STATUS_VERSION_FAIL;
1366 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_cee_stats_s);
1372 iocmd->status = bfa_cee_get_stats(&bfad->bfa.modules.cee, iocmd_bufptr,
1375 if (iocmd->status != BFA_STATUS_OK) {
1389 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
1393 iocmd->status = bfa_cee_reset_stats(&bfad->bfa.modules.cee, NULL, NULL);
1395 if (iocmd->status != BFA_STATUS_OK)
1403 struct bfa_bsg_sfp_media_s *iocmd = (struct bfa_bsg_sfp_media_s *)cmd;
1409 iocmd->status = bfa_sfp_media(BFA_SFP_MOD(&bfad->bfa), &iocmd->media,
1412 bfa_trc(bfad, iocmd->status);
1413 if (iocmd->status != BFA_STATUS_SFP_NOT_READY)
1417 iocmd->status = fcomp.status;
1425 struct bfa_bsg_sfp_speed_s *iocmd = (struct bfa_bsg_sfp_speed_s *)cmd;
1431 iocmd->status = bfa_sfp_speed(BFA_SFP_MOD(&bfad->bfa), iocmd->speed,
1434 bfa_trc(bfad, iocmd->status);
1435 if (iocmd->status != BFA_STATUS_SFP_NOT_READY)
1438 iocmd->status = fcomp.status;
1446 struct bfa_bsg_flash_attr_s *iocmd =
1453 iocmd->status = bfa_flash_get_attr(BFA_FLASH(&bfad->bfa), &iocmd->attr,
1456 if (iocmd->status != BFA_STATUS_OK)
1459 iocmd->status = fcomp.status;
1467 struct bfa_bsg_flash_s *iocmd = (struct bfa_bsg_flash_s *)cmd;
1473 iocmd->status = bfa_flash_erase_part(BFA_FLASH(&bfad->bfa), iocmd->type,
1474 iocmd->instance, bfad_hcb_comp, &fcomp);
1476 if (iocmd->status != BFA_STATUS_OK)
1479 iocmd->status = fcomp.status;
1488 struct bfa_bsg_flash_s *iocmd = (struct bfa_bsg_flash_s *)cmd;
1495 iocmd->bufsz) != BFA_STATUS_OK) {
1496 iocmd->status = BFA_STATUS_VERSION_FAIL;
1500 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_flash_s);
1504 iocmd->status = bfa_flash_update_part(BFA_FLASH(&bfad->bfa),
1505 iocmd->type, iocmd->instance, iocmd_bufptr,
1506 iocmd->bufsz, 0, bfad_hcb_comp, &fcomp);
1508 if (iocmd->status != BFA_STATUS_OK)
1511 iocmd->status = fcomp.status;
1520 struct bfa_bsg_flash_s *iocmd = (struct bfa_bsg_flash_s *)cmd;
1527 iocmd->bufsz) != BFA_STATUS_OK) {
1528 iocmd->status = BFA_STATUS_VERSION_FAIL;
1532 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_flash_s);
1536 iocmd->status = bfa_flash_read_part(BFA_FLASH(&bfad->bfa), iocmd->type,
1537 iocmd->instance, iocmd_bufptr, iocmd->bufsz, 0,
1540 if (iocmd->status != BFA_STATUS_OK)
1543 iocmd->status = fcomp.status;
1551 struct bfa_bsg_diag_get_temp_s *iocmd =
1558 iocmd->status = bfa_diag_tsensor_query(BFA_DIAG_MOD(&bfad->bfa),
1559 &iocmd->result, bfad_hcb_comp, &fcomp);
1561 bfa_trc(bfad, iocmd->status);
1562 if (iocmd->status != BFA_STATUS_OK)
1565 iocmd->status = fcomp.status;
1573 struct bfa_bsg_diag_memtest_s *iocmd =
1580 iocmd->status = bfa_diag_memtest(BFA_DIAG_MOD(&bfad->bfa),
1581 &iocmd->memtest, iocmd->pat,
1582 &iocmd->result, bfad_hcb_comp, &fcomp);
1584 bfa_trc(bfad, iocmd->status);
1585 if (iocmd->status != BFA_STATUS_OK)
1588 iocmd->status = fcomp.status;
1596 struct bfa_bsg_diag_loopback_s *iocmd =
1603 iocmd->status = bfa_fcdiag_loopback(&bfad->bfa, iocmd->opmode,
1604 iocmd->speed, iocmd->lpcnt, iocmd->pat,
1605 &iocmd->result, bfad_hcb_comp, &fcomp);
1607 bfa_trc(bfad, iocmd->status);
1608 if (iocmd->status != BFA_STATUS_OK)
1611 iocmd->status = fcomp.status;
1619 struct bfa_bsg_diag_fwping_s *iocmd =
1626 iocmd->status = bfa_diag_fwping(BFA_DIAG_MOD(&bfad->bfa), iocmd->cnt,
1627 iocmd->pattern, &iocmd->result,
1630 bfa_trc(bfad, iocmd->status);
1631 if (iocmd->status != BFA_STATUS_OK)
1635 iocmd->status = fcomp.status;
1643 struct bfa_bsg_diag_qtest_s *iocmd = (struct bfa_bsg_diag_qtest_s *)cmd;
1649 iocmd->status = bfa_fcdiag_queuetest(&bfad->bfa, iocmd->force,
1650 iocmd->queue, &iocmd->result,
1653 if (iocmd->status != BFA_STATUS_OK)
1656 iocmd->status = fcomp.status;
1664 struct bfa_bsg_sfp_show_s *iocmd =
1671 iocmd->status = bfa_sfp_show(BFA_SFP_MOD(&bfad->bfa), &iocmd->sfp,
1674 bfa_trc(bfad, iocmd->status);
1675 if (iocmd->status != BFA_STATUS_OK)
1678 iocmd->status = fcomp.status;
1679 bfa_trc(bfad, iocmd->status);
1687 struct bfa_bsg_diag_led_s *iocmd = (struct bfa_bsg_diag_led_s *)cmd;
1691 iocmd->status = bfa_diag_ledtest(BFA_DIAG_MOD(&bfad->bfa),
1692 &iocmd->ledtest);
1700 struct bfa_bsg_diag_beacon_s *iocmd =
1705 iocmd->status = bfa_diag_beacon_port(BFA_DIAG_MOD(&bfad->bfa),
1706 iocmd->beacon, iocmd->link_e2e_beacon,
1707 iocmd->second);
1715 struct bfa_bsg_diag_lb_stat_s *iocmd =
1720 iocmd->status = bfa_fcdiag_lb_is_running(&bfad->bfa);
1722 bfa_trc(bfad, iocmd->status);
1730 struct bfa_bsg_phy_attr_s *iocmd =
1737 iocmd->status = bfa_phy_get_attr(BFA_PHY(&bfad->bfa), iocmd->instance,
1738 &iocmd->attr, bfad_hcb_comp, &fcomp);
1740 if (iocmd->status != BFA_STATUS_OK)
1743 iocmd->status = fcomp.status;
1751 struct bfa_bsg_phy_stats_s *iocmd =
1758 iocmd->status = bfa_phy_get_stats(BFA_PHY(&bfad->bfa), iocmd->instance,
1759 &iocmd->stats, bfad_hcb_comp, &fcomp);
1761 if (iocmd->status != BFA_STATUS_OK)
1764 iocmd->status = fcomp.status;
1772 struct bfa_bsg_phy_s *iocmd = (struct bfa_bsg_phy_s *)cmd;
1779 iocmd->bufsz) != BFA_STATUS_OK) {
1780 iocmd->status = BFA_STATUS_VERSION_FAIL;
1784 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_phy_s);
1787 iocmd->status = bfa_phy_read(BFA_PHY(&bfad->bfa),
1788 iocmd->instance, iocmd_bufptr, iocmd->bufsz,
1791 if (iocmd->status != BFA_STATUS_OK)
1794 iocmd->status = fcomp.status;
1795 if (iocmd->status != BFA_STATUS_OK)
1804 struct bfa_bsg_vhba_attr_s *iocmd =
1806 struct bfa_vhba_attr_s *attr = &iocmd->attr;
1815 iocmd->status = BFA_STATUS_OK;
1823 struct bfa_bsg_phy_s *iocmd = (struct bfa_bsg_phy_s *)cmd;
1830 iocmd->bufsz) != BFA_STATUS_OK) {
1831 iocmd->status = BFA_STATUS_VERSION_FAIL;
1835 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_phy_s);
1838 iocmd->status = bfa_phy_update(BFA_PHY(&bfad->bfa),
1839 iocmd->instance, iocmd_bufptr, iocmd->bufsz,
1842 if (iocmd->status != BFA_STATUS_OK)
1845 iocmd->status = fcomp.status;
1853 struct bfa_bsg_debug_s *iocmd = (struct bfa_bsg_debug_s *)cmd;
1856 if (iocmd->bufsz < sizeof(struct bfa_plog_s)) {
1858 iocmd->status = BFA_STATUS_EINVAL;
1862 iocmd->status = BFA_STATUS_OK;
1863 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_debug_s);
1874 struct bfa_bsg_debug_s *iocmd = (struct bfa_bsg_debug_s *)cmd;
1881 iocmd->status = BFA_STATUS_VERSION_FAIL;
1885 if (iocmd->bufsz < BFA_DEBUG_FW_CORE_CHUNK_SZ ||
1886 !IS_ALIGNED(iocmd->bufsz, sizeof(u16)) ||
1887 !IS_ALIGNED(iocmd->offset, sizeof(u32))) {
1889 iocmd->status = BFA_STATUS_EINVAL;
1893 iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_debug_s);
1895 offset = iocmd->offset;
1896 iocmd->status = bfa_ioc_debug_fwcore(&bfad->bfa.ioc, iocmd_bufptr,
1897 &offset, &iocmd->bufsz);
1898 iocmd->offset = offset;
1907 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
1921 iocmd->status = BFA_STATUS_OK;
1928 struct bfa_bsg_portlogctl_s *iocmd = (struct bfa_bsg_portlogctl_s *)cmd;
1930 if (iocmd->ctl == BFA_TRUE)
1935 iocmd->status = BFA_STATUS_OK;
1942 struct bfa_bsg_fcpim_profile_s *iocmd =
1950 iocmd->status = bfa_fcpim_profile_on(&bfad->bfa, tv.tv_sec);
1952 iocmd->status = bfa_fcpim_profile_off(&bfad->bfa);
1961 struct bfa_bsg_itnim_ioprofile_s *iocmd =
1969 iocmd->vf_id, iocmd->lpwwn);
1971 iocmd->status = BFA_STATUS_UNKNOWN_LWWN;
1973 itnim = bfa_fcs_itnim_lookup(fcs_port, iocmd->rpwwn);
1975 iocmd->status = BFA_STATUS_UNKNOWN_RWWN;
1977 iocmd->status = bfa_itnim_get_ioprofile(
1979 &iocmd->ioprofile);
1988 struct bfa_bsg_fcport_stats_s *iocmd =
1996 &fcomp, &iocmd->stats);
1998 iocmd->status = bfa_fcport_get_stats(&bfad->bfa, &cb_qe);
2000 if (iocmd->status != BFA_STATUS_OK) {
2001 bfa_trc(bfad, iocmd->status);
2005 iocmd->status = fcomp.status;
2013 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
2022 iocmd->status = bfa_fcport_clear_stats(&bfad->bfa, &cb_qe);
2024 if (iocmd->status != BFA_STATUS_OK) {
2025 bfa_trc(bfad, iocmd->status);
2029 iocmd->status = fcomp.status;
2037 struct bfa_bsg_boot_s *iocmd = (struct bfa_bsg_boot_s *)cmd;
2043 iocmd->status = bfa_flash_update_part(BFA_FLASH(&bfad->bfa),
2045 &iocmd->cfg, sizeof(struct bfa_boot_cfg_s), 0,
2048 if (iocmd->status != BFA_STATUS_OK)
2051 iocmd->status = fcomp.status;
2059 struct bfa_bsg_boot_s *iocmd = (struct bfa_bsg_boot_s *)cmd;
2065 iocmd->status = bfa_flash_read_part(BFA_FLASH(&bfad->bfa),
2067 &iocmd->cfg, sizeof(struct bfa_boot_cfg_s), 0,
2070 if (iocmd->status != BFA_STATUS_OK)
2073 iocmd->status = fcomp.status;
2081 struct bfa_bsg_preboot_s *iocmd = (struct bfa_bsg_preboot_s *)cmd;
2083 struct bfa_boot_pbc_s *pbcfg = &iocmd->cfg;
2091 iocmd->status = BFA_STATUS_OK;
2100 struct bfa_bsg_ethboot_s *iocmd = (struct bfa_bsg_ethboot_s *)cmd;
2106 iocmd->status = bfa_flash_update_part(BFA_FLASH(&bfad->bfa),
2108 bfad->bfa.ioc.port_id, &iocmd->cfg,
2112 if (iocmd->status != BFA_STATUS_OK)
2115 iocmd->status = fcomp.status;
2123 struct bfa_bsg_ethboot_s *iocmd = (struct bfa_bsg_ethboot_s *)cmd;
2129 iocmd->status = bfa_flash_read_part(BFA_FLASH(&bfad->bfa),
2131 bfad->bfa.ioc.port_id, &iocmd->cfg,
2135 if (iocmd->status != BFA_STATUS_OK)
2138 iocmd->status = fcomp.status;
2146 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
2168 iocmd->status = BFA_STATUS_OK;
2175 struct bfa_bsg_trunk_attr_s *iocmd = (struct bfa_bsg_trunk_attr_s *)cmd;
2181 memcpy((void *)&iocmd->attr, (void *)&trunk->attr,
2183 iocmd->attr.port_id = bfa_lps_get_base_pid(&bfad->bfa);
2186 iocmd->status = BFA_STATUS_OK;
2193 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
2206 iocmd->status = BFA_STATUS_OK;
2213 struct bfa_bsg_qos_attr_s *iocmd = (struct bfa_bsg_qos_attr_s *)cmd;
2218 iocmd->attr.state = fcport->qos_attr.state;
2219 iocmd->attr.total_bb_cr = be32_to_cpu(fcport->qos_attr.total_bb_cr);
2222 iocmd->status = BFA_STATUS_OK;
2229 struct bfa_bsg_qos_vc_attr_s *iocmd =
2237 iocmd->attr.total_vc_count = be16_to_cpu(bfa_vc_attr->total_vc_count);
2238 iocmd->attr.shared_credit = be16_to_cpu(bfa_vc_attr->shared_credit);
2239 iocmd->attr.elp_opmode_flags =
2243 while (i < iocmd->attr.total_vc_count) {
2244 iocmd->attr.vc_info[i].vc_credit =
2246 iocmd->attr.vc_info[i].borrow_credit =
2248 iocmd->attr.vc_info[i].priority =
2254 iocmd->status = BFA_STATUS_OK;
2261 struct bfa_bsg_fcport_stats_s *iocmd =
2269 &fcomp, &iocmd->stats);
2273 iocmd->status = bfa_fcport_get_stats(&bfad->bfa, &cb_qe);
2275 if (iocmd->status != BFA_STATUS_OK) {
2276 bfa_trc(bfad, iocmd->status);
2280 iocmd->status = fcomp.status;
2288 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)cmd;
2299 iocmd->status = bfa_fcport_clear_stats(&bfad->bfa, &cb_qe);
2301 if (iocmd->status != BFA_STATUS_OK) {
2302 bfa_trc(bfad, iocmd->status);
2306 iocmd->status = fcomp.status;
2314 struct bfa_bsg_vf_stats_s *iocmd =
2320 fcs_vf = bfa_fcs_vf_lookup(&bfad->bfa_fcs, iocmd->vf_id);
2323 iocmd->status = BFA_STATUS_UNKNOWN_VFID;
2326 memcpy((void *)&iocmd->stats, (void *)&fcs_vf->stats,
2329 iocmd->status = BFA_STATUS_OK;
2337 struct bfa_bsg_vf_reset_stats_s *iocmd =
2343 fcs_vf = bfa_fcs_vf_lookup(&bfad->bfa_fcs, iocmd->vf_id);
2346 iocmd->status = BFA_STATUS_UNKNOWN_VFID;
2351 iocmd->status = BFA_STATUS_OK;
2374 struct bfa_bsg_gen_s *iocmd = (struct bfa_bsg_gen_s *)pcmd;
2379 iocmd->status = bfa_fcpim_lunmask_update(&bfad->bfa, BFA_TRUE);
2381 if (iocmd->status == BFA_STATUS_OK)
2384 iocmd->status = bfa_fcpim_lunmask_update(&bfad->bfa, BFA_FALSE);
2386 if (iocmd->status == BFA_STATUS_OK)
2389 iocmd->status = bfa_fcpim_lunmask_clear(&bfad->bfa);
2397 struct bfa_bsg_fcpim_lunmask_query_s *iocmd =
2399 struct bfa_lunmask_cfg_s *lun_mask = &iocmd->lun_mask;
2403 iocmd->status = bfa_fcpim_lunmask_query(&bfad->bfa, lun_mask);
2411 struct bfa_bsg_fcpim_lunmask_s *iocmd =
2417 iocmd->status = bfa_fcpim_lunmask_add(&bfad->bfa, iocmd->vf_id,
2418 &iocmd->pwwn, iocmd->rpwwn, iocmd->lun);
2420 iocmd->status = bfa_fcpim_lunmask_delete(&bfad->bfa,
2421 iocmd->vf_id, &iocmd->pwwn,
2422 iocmd->rpwwn, iocmd->lun);
2428 bfad_iocmd_handler(struct bfad_s *bfad, unsigned int cmd, void *iocmd,
2435 rc = bfad_iocmd_ioc_enable(bfad, iocmd);
2438 rc = bfad_iocmd_ioc_disable(bfad, iocmd);
2441 rc = bfad_iocmd_ioc_get_info(bfad, iocmd);
2444 rc = bfad_iocmd_ioc_get_attr(bfad, iocmd);
2447 rc = bfad_iocmd_ioc_get_stats(bfad, iocmd);
2450 rc = bfad_iocmd_ioc_get_fwstats(bfad, iocmd, payload_len);
2454 rc = bfad_iocmd_ioc_reset_stats(bfad, iocmd, cmd);
2458 rc = bfad_iocmd_ioc_set_name(bfad, iocmd, cmd);
2461 rc = bfad_iocmd_iocfc_get_attr(bfad, iocmd);
2464 rc = bfad_iocmd_iocfc_set_intr(bfad, iocmd);
2467 rc = bfad_iocmd_port_enable(bfad, iocmd);
2470 rc = bfad_iocmd_port_disable(bfad, iocmd);
2473 rc = bfad_iocmd_port_get_attr(bfad, iocmd);
2476 rc = bfad_iocmd_port_get_stats(bfad, iocmd, payload_len);
2479 rc = bfad_iocmd_port_reset_stats(bfad, iocmd);
2485 rc = bfad_iocmd_set_port_cfg(bfad, iocmd, cmd);
2488 rc = bfad_iocmd_port_cfg_maxfrsize(bfad, iocmd);
2492 rc = bfad_iocmd_port_cfg_bbsc(bfad, iocmd, cmd);
2495 rc = bfad_iocmd_lport_get_attr(bfad, iocmd);
2498 rc = bfad_iocmd_lport_get_stats(bfad, iocmd);
2501 rc = bfad_iocmd_lport_reset_stats(bfad, iocmd);
2504 rc = bfad_iocmd_lport_get_iostats(bfad, iocmd);
2507 rc = bfad_iocmd_lport_get_rports(bfad, iocmd, payload_len);
2510 rc = bfad_iocmd_rport_get_attr(bfad, iocmd);
2513 rc = bfad_iocmd_rport_get_addr(bfad, iocmd);
2516 rc = bfad_iocmd_rport_get_stats(bfad, iocmd);
2519 rc = bfad_iocmd_rport_clr_stats(bfad, iocmd);
2522 rc = bfad_iocmd_rport_set_speed(bfad, iocmd);
2525 rc = bfad_iocmd_vport_get_attr(bfad, iocmd);
2528 rc = bfad_iocmd_vport_get_stats(bfad, iocmd);
2531 rc = bfad_iocmd_vport_clr_stats(bfad, iocmd);
2534 rc = bfad_iocmd_fabric_get_lports(bfad, iocmd, payload_len);
2538 rc = bfad_iocmd_ratelim(bfad, cmd, iocmd);
2541 rc = bfad_iocmd_ratelim_speed(bfad, cmd, iocmd);
2544 rc = bfad_iocmd_cfg_fcpim(bfad, iocmd);
2547 rc = bfad_iocmd_fcpim_get_modstats(bfad, iocmd);
2550 rc = bfad_iocmd_fcpim_clr_modstats(bfad, iocmd);
2553 rc = bfad_iocmd_fcpim_get_del_itn_stats(bfad, iocmd);
2556 rc = bfad_iocmd_itnim_get_attr(bfad, iocmd);
2559 rc = bfad_iocmd_itnim_get_iostats(bfad, iocmd);
2562 rc = bfad_iocmd_itnim_reset_stats(bfad, iocmd);
2565 rc = bfad_iocmd_itnim_get_itnstats(bfad, iocmd);
2568 rc = bfad_iocmd_fcport_enable(bfad, iocmd);
2571 rc = bfad_iocmd_fcport_disable(bfad, iocmd);
2574 rc = bfad_iocmd_ioc_get_pcifn_cfg(bfad, iocmd);
2577 rc = bfad_iocmd_pcifn_create(bfad, iocmd);
2580 rc = bfad_iocmd_pcifn_delete(bfad, iocmd);
2583 rc = bfad_iocmd_pcifn_bw(bfad, iocmd);
2586 rc = bfad_iocmd_adapter_cfg_mode(bfad, iocmd);
2589 rc = bfad_iocmd_port_cfg_mode(bfad, iocmd);
2593 rc = bfad_iocmd_ablk_optrom(bfad, cmd, iocmd);
2596 rc = bfad_iocmd_faa_query(bfad, iocmd);
2599 rc = bfad_iocmd_cee_attr(bfad, iocmd, payload_len);
2602 rc = bfad_iocmd_cee_get_stats(bfad, iocmd, payload_len);
2605 rc = bfad_iocmd_cee_reset_stats(bfad, iocmd);
2608 rc = bfad_iocmd_sfp_media(bfad, iocmd);
2611 rc = bfad_iocmd_sfp_speed(bfad, iocmd);
2614 rc = bfad_iocmd_flash_get_attr(bfad, iocmd);
2617 rc = bfad_iocmd_flash_erase_part(bfad, iocmd);
2620 rc = bfad_iocmd_flash_update_part(bfad, iocmd, payload_len);
2623 rc = bfad_iocmd_flash_read_part(bfad, iocmd, payload_len);
2626 rc = bfad_iocmd_diag_temp(bfad, iocmd);
2629 rc = bfad_iocmd_diag_memtest(bfad, iocmd);
2632 rc = bfad_iocmd_diag_loopback(bfad, iocmd);
2635 rc = bfad_iocmd_diag_fwping(bfad, iocmd);
2638 rc = bfad_iocmd_diag_queuetest(bfad, iocmd);
2641 rc = bfad_iocmd_diag_sfp(bfad, iocmd);
2644 rc = bfad_iocmd_diag_led(bfad, iocmd);
2647 rc = bfad_iocmd_diag_beacon_lport(bfad, iocmd);
2650 rc = bfad_iocmd_diag_lb_stat(bfad, iocmd);
2653 rc = bfad_iocmd_phy_get_attr(bfad, iocmd);
2656 rc = bfad_iocmd_phy_get_stats(bfad, iocmd);
2659 rc = bfad_iocmd_phy_update(bfad, iocmd, payload_len);
2662 rc = bfad_iocmd_phy_read(bfad, iocmd, payload_len);
2665 rc = bfad_iocmd_vhba_query(bfad, iocmd);
2668 rc = bfad_iocmd_porglog_get(bfad, iocmd);
2671 rc = bfad_iocmd_debug_fw_core(bfad, iocmd, payload_len);
2677 rc = bfad_iocmd_debug_ctl(bfad, iocmd, cmd);
2680 rc = bfad_iocmd_porglog_ctl(bfad, iocmd);
2684 rc = bfad_iocmd_fcpim_cfg_profile(bfad, iocmd, cmd);
2687 rc = bfad_iocmd_itnim_get_ioprofile(bfad, iocmd);
2690 rc = bfad_iocmd_fcport_get_stats(bfad, iocmd);
2693 rc = bfad_iocmd_fcport_reset_stats(bfad, iocmd);
2696 rc = bfad_iocmd_boot_cfg(bfad, iocmd);
2699 rc = bfad_iocmd_boot_query(bfad, iocmd);
2702 rc = bfad_iocmd_preboot_query(bfad, iocmd);
2705 rc = bfad_iocmd_ethboot_cfg(bfad, iocmd);
2708 rc = bfad_iocmd_ethboot_query(bfad, iocmd);
2712 rc = bfad_iocmd_cfg_trunk(bfad, iocmd, cmd);
2715 rc = bfad_iocmd_trunk_get_attr(bfad, iocmd);
2719 rc = bfad_iocmd_qos(bfad, iocmd, cmd);
2722 rc = bfad_iocmd_qos_get_attr(bfad, iocmd);
2725 rc = bfad_iocmd_qos_get_vc_attr(bfad, iocmd);
2728 rc = bfad_iocmd_qos_get_stats(bfad, iocmd);
2731 rc = bfad_iocmd_qos_reset_stats(bfad, iocmd);
2734 rc = bfad_iocmd_vf_get_stats(bfad, iocmd);
2737 rc = bfad_iocmd_vf_clr_stats(bfad, iocmd);
2742 rc = bfad_iocmd_lunmask(bfad, iocmd, cmd);
2745 rc = bfad_iocmd_fcpim_lunmask_query(bfad, iocmd);
2749 rc = bfad_iocmd_fcpim_cfg_lunmask(bfad, iocmd, cmd);