Lines Matching refs:vha

23 	struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj,  in qla2x00_sysfs_read_fw_dump()  local
25 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_read_fw_dump()
64 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_write_fw_dump() local
66 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_write_fw_dump()
78 ql_log(ql_log_info, vha, 0x705d, in qla2x00_sysfs_write_fw_dump()
79 "Firmware dump cleared on (%ld).\n", vha->host_no); in qla2x00_sysfs_write_fw_dump()
82 qla82xx_md_free(vha); in qla2x00_sysfs_write_fw_dump()
83 qla82xx_md_prep(vha); in qla2x00_sysfs_write_fw_dump()
92 ql_log(ql_log_info, vha, 0x705e, in qla2x00_sysfs_write_fw_dump()
94 vha->host_no); in qla2x00_sysfs_write_fw_dump()
98 qla2x00_alloc_fw_dump(vha); in qla2x00_sysfs_write_fw_dump()
103 qla82xx_set_reset_owner(vha); in qla2x00_sysfs_write_fw_dump()
107 qla82xx_set_reset_owner(vha); in qla2x00_sysfs_write_fw_dump()
110 qla2x00_system_error(vha); in qla2x00_sysfs_write_fw_dump()
116 ql_dbg(ql_dbg_user, vha, 0x705b, in qla2x00_sysfs_write_fw_dump()
119 ql_dbg(ql_dbg_user, vha, 0x709d, in qla2x00_sysfs_write_fw_dump()
125 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_sysfs_write_fw_dump()
130 ql_log(ql_log_info, vha, 0x70c1, in qla2x00_sysfs_write_fw_dump()
131 "MCTP dump cleared on (%ld).\n", vha->host_no); in qla2x00_sysfs_write_fw_dump()
138 ql_log(ql_log_info, vha, 0x70c2, in qla2x00_sysfs_write_fw_dump()
140 vha->host_no); in qla2x00_sysfs_write_fw_dump()
146 ql_log(ql_log_info, vha, 0x70e7, in qla2x00_sysfs_write_fw_dump()
147 "MPI firmware dump cleared on (%ld).\n", vha->host_no); in qla2x00_sysfs_write_fw_dump()
154 ql_log(ql_log_info, vha, 0x70e8, in qla2x00_sysfs_write_fw_dump()
156 vha->host_no); in qla2x00_sysfs_write_fw_dump()
161 ql_log(ql_log_info, vha, 0x70e9, in qla2x00_sysfs_write_fw_dump()
163 vha->host_no); in qla2x00_sysfs_write_fw_dump()
164 ha->isp_ops->mpi_fw_dump(vha, 0); in qla2x00_sysfs_write_fw_dump()
186 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_read_nvram() local
188 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_read_nvram()
196 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_read_nvram()
208 qla28xx_get_aux_images(vha, &active_regions); in qla2x00_sysfs_read_nvram()
212 ha->isp_ops->read_optrom(vha, ha->nvram, faddr << 2, ha->nvram_size); in qla2x00_sysfs_read_nvram()
226 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_write_nvram() local
228 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_write_nvram()
257 if (qla2x00_wait_for_hba_online(vha) != QLA_SUCCESS) { in qla2x00_sysfs_write_nvram()
258 ql_log(ql_log_warn, vha, 0x705f, in qla2x00_sysfs_write_nvram()
264 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_write_nvram()
270 ha->isp_ops->write_nvram(vha, buf, ha->nvram_base, count); in qla2x00_sysfs_write_nvram()
271 ha->isp_ops->read_nvram(vha, ha->nvram, ha->nvram_base, in qla2x00_sysfs_write_nvram()
275 ql_dbg(ql_dbg_user, vha, 0x7060, in qla2x00_sysfs_write_nvram()
278 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_sysfs_write_nvram()
279 qla2xxx_wake_dpc(vha); in qla2x00_sysfs_write_nvram()
280 qla2x00_wait_for_chip_reset(vha); in qla2x00_sysfs_write_nvram()
300 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_read_optrom() local
302 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_read_optrom()
324 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_write_optrom() local
326 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_write_optrom()
362 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_write_optrom_ctl() local
364 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_write_optrom_ctl()
384 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_write_optrom_ctl()
397 ql_dbg(ql_dbg_user, vha, 0x7061, in qla2x00_sysfs_write_optrom_ctl()
416 ql_log(ql_log_warn, vha, 0x7062, in qla2x00_sysfs_write_optrom_ctl()
425 if (qla2x00_wait_for_hba_online(vha) != QLA_SUCCESS) { in qla2x00_sysfs_write_optrom_ctl()
426 ql_log(ql_log_warn, vha, 0x7063, in qla2x00_sysfs_write_optrom_ctl()
432 ql_dbg(ql_dbg_user, vha, 0x7064, in qla2x00_sysfs_write_optrom_ctl()
436 ha->isp_ops->read_optrom(vha, ha->optrom_buffer, in qla2x00_sysfs_write_optrom_ctl()
475 ql_log(ql_log_warn, vha, 0x7065, in qla2x00_sysfs_write_optrom_ctl()
487 ql_log(ql_log_warn, vha, 0x7066, in qla2x00_sysfs_write_optrom_ctl()
496 ql_dbg(ql_dbg_user, vha, 0x7067, in qla2x00_sysfs_write_optrom_ctl()
507 if (qla2x00_wait_for_hba_online(vha) != QLA_SUCCESS) { in qla2x00_sysfs_write_optrom_ctl()
508 ql_log(ql_log_warn, vha, 0x7068, in qla2x00_sysfs_write_optrom_ctl()
514 ql_dbg(ql_dbg_user, vha, 0x7069, in qla2x00_sysfs_write_optrom_ctl()
518 rval = ha->isp_ops->write_optrom(vha, ha->optrom_buffer, in qla2x00_sysfs_write_optrom_ctl()
546 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_read_vpd() local
548 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_read_vpd()
564 qla28xx_get_aux_images(vha, &active_regions); in qla2x00_sysfs_read_vpd()
568 ql_dbg(ql_dbg_init, vha, 0x7070, in qla2x00_sysfs_read_vpd()
575 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_read_vpd()
580 ha->isp_ops->read_optrom(vha, ha->vpd, faddr, ha->vpd_size); in qla2x00_sysfs_read_vpd()
583 ha->isp_ops->read_optrom(vha, ha->vpd, faddr, ha->vpd_size); in qla2x00_sysfs_read_vpd()
593 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_write_vpd() local
595 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_write_vpd()
601 if (qla2x00_chip_is_down(vha)) in qla2x00_sysfs_write_vpd()
608 if (qla2x00_wait_for_hba_online(vha) != QLA_SUCCESS) { in qla2x00_sysfs_write_vpd()
609 ql_log(ql_log_warn, vha, 0x706a, in qla2x00_sysfs_write_vpd()
615 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_write_vpd()
621 ha->isp_ops->write_nvram(vha, buf, ha->vpd_base, count); in qla2x00_sysfs_write_vpd()
622 ha->isp_ops->read_nvram(vha, ha->vpd, ha->vpd_base, count); in qla2x00_sysfs_write_vpd()
633 ql_log(ql_log_warn, vha, 0x706b, in qla2x00_sysfs_write_vpd()
637 ha->isp_ops->get_flash_version(vha, tmp_data); in qla2x00_sysfs_write_vpd()
660 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_read_sfp() local
667 mutex_lock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_sfp()
668 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_read_sfp()
669 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_sfp()
673 rval = qla2x00_read_sfp_dev(vha, buf, count); in qla2x00_sysfs_read_sfp()
674 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_sfp()
696 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_write_reset() local
698 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_write_reset()
710 ql_log(ql_log_info, vha, 0x706e, in qla2x00_sysfs_write_reset()
713 scsi_block_requests(vha->host); in qla2x00_sysfs_write_reset()
717 qla82xx_set_reset_owner(vha); in qla2x00_sysfs_write_reset()
725 qla82xx_set_reset_owner(vha); in qla2x00_sysfs_write_reset()
728 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_sysfs_write_reset()
729 qla2xxx_wake_dpc(vha); in qla2x00_sysfs_write_reset()
731 qla2x00_wait_for_chip_reset(vha); in qla2x00_sysfs_write_reset()
732 scsi_unblock_requests(vha->host); in qla2x00_sysfs_write_reset()
739 ql_log(ql_log_info, vha, 0x706f, in qla2x00_sysfs_write_reset()
745 qla83xx_idc_lock(vha, 0); in qla2x00_sysfs_write_reset()
746 __qla83xx_get_idc_control(vha, &idc_control); in qla2x00_sysfs_write_reset()
748 __qla83xx_set_idc_control(vha, idc_control); in qla2x00_sysfs_write_reset()
749 qla83xx_wr_reg(vha, QLA83XX_IDC_DEV_STATE, in qla2x00_sysfs_write_reset()
751 qla83xx_idc_audit(vha, IDC_AUDIT_TIMESTAMP); in qla2x00_sysfs_write_reset()
752 qla83xx_idc_unlock(vha, 0); in qla2x00_sysfs_write_reset()
756 WARN_ON_ONCE(qla2x00_wait_for_hba_online(vha) != in qla2x00_sysfs_write_reset()
760 scsi_block_requests(vha->host); in qla2x00_sysfs_write_reset()
761 if (qla81xx_restart_mpi_firmware(vha) != QLA_SUCCESS) in qla2x00_sysfs_write_reset()
762 ql_log(ql_log_warn, vha, 0x7070, in qla2x00_sysfs_write_reset()
764 scsi_unblock_requests(vha->host); in qla2x00_sysfs_write_reset()
769 if (!IS_P3P_TYPE(ha) || vha != base_vha) { in qla2x00_sysfs_write_reset()
770 ql_log(ql_log_info, vha, 0x7071, in qla2x00_sysfs_write_reset()
775 ql_log(ql_log_info, vha, 0x7072, in qla2x00_sysfs_write_reset()
777 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_sysfs_write_reset()
778 qla2xxx_wake_dpc(vha); in qla2x00_sysfs_write_reset()
779 qla2x00_wait_for_fcoe_ctx_reset(vha); in qla2x00_sysfs_write_reset()
784 ql_log(ql_log_info, vha, 0x70bc, in qla2x00_sysfs_write_reset()
786 qla83xx_idc_lock(vha, 0); in qla2x00_sysfs_write_reset()
787 __qla83xx_get_idc_control(vha, &idc_control); in qla2x00_sysfs_write_reset()
789 __qla83xx_set_idc_control(vha, idc_control); in qla2x00_sysfs_write_reset()
790 qla83xx_idc_unlock(vha, 0); in qla2x00_sysfs_write_reset()
795 ql_log(ql_log_info, vha, 0x70bd, in qla2x00_sysfs_write_reset()
797 qla83xx_idc_lock(vha, 0); in qla2x00_sysfs_write_reset()
798 __qla83xx_get_idc_control(vha, &idc_control); in qla2x00_sysfs_write_reset()
800 __qla83xx_set_idc_control(vha, idc_control); in qla2x00_sysfs_write_reset()
801 qla83xx_idc_unlock(vha, 0); in qla2x00_sysfs_write_reset()
804 ql_dbg(ql_dbg_user, vha, 0x70e0, in qla2x00_sysfs_write_reset()
809 ql_log(ql_log_warn, vha, 0x70e1, in qla2x00_sysfs_write_reset()
813 ha->isp_ops->get_flash_version(vha, tmp_data); in qla2x00_sysfs_write_reset()
834 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_issue_logo() local
842 if (unlikely(pci_channel_offline(vha->hw->pdev))) in qla2x00_issue_logo()
845 if (qla2x00_chip_is_down(vha)) in qla2x00_issue_logo()
854 ql_log(ql_log_info, vha, 0xd04d, "portid=%02x%02x%02x done\n", in qla2x00_issue_logo()
857 ql_log(ql_log_info, vha, 0x70e4, "%s: %d\n", __func__, type); in qla2x00_issue_logo()
859 qla24xx_els_dcmd_iocb(vha, ELS_DCMD_LOGO, did); in qla2x00_issue_logo()
877 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_read_xgmac_stats() local
879 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_read_xgmac_stats()
888 mutex_lock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_xgmac_stats()
889 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_read_xgmac_stats()
890 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_xgmac_stats()
900 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_xgmac_stats()
901 ql_log(ql_log_warn, vha, 0x7076, in qla2x00_sysfs_read_xgmac_stats()
910 rval = qla2x00_get_xgmac_stats(vha, ha->xgmac_data_dma, in qla2x00_sysfs_read_xgmac_stats()
913 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_xgmac_stats()
915 ql_log(ql_log_warn, vha, 0x7077, in qla2x00_sysfs_read_xgmac_stats()
940 struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, in qla2x00_sysfs_read_dcbx_tlv() local
942 struct qla_hw_data *ha = vha->hw; in qla2x00_sysfs_read_dcbx_tlv()
950 mutex_lock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_dcbx_tlv()
951 if (qla2x00_chip_is_down(vha)) { in qla2x00_sysfs_read_dcbx_tlv()
952 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_dcbx_tlv()
959 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_dcbx_tlv()
960 ql_log(ql_log_warn, vha, 0x7078, in qla2x00_sysfs_read_dcbx_tlv()
968 rval = qla2x00_get_dcbx_params(vha, ha->dcbx_tlv_dma, in qla2x00_sysfs_read_dcbx_tlv()
971 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_sysfs_read_dcbx_tlv()
974 ql_log(ql_log_warn, vha, 0x7079, in qla2x00_sysfs_read_dcbx_tlv()
1012 qla2x00_alloc_sysfs_attr(scsi_qla_host_t *vha) in qla2x00_alloc_sysfs_attr() argument
1014 struct Scsi_Host *host = vha->host; in qla2x00_alloc_sysfs_attr()
1019 if (iter->type && !IS_FWI2_CAPABLE(vha->hw)) in qla2x00_alloc_sysfs_attr()
1021 if (iter->type == 2 && !IS_QLA25XX(vha->hw)) in qla2x00_alloc_sysfs_attr()
1023 if (iter->type == 3 && !(IS_CNA_CAPABLE(vha->hw))) in qla2x00_alloc_sysfs_attr()
1029 ql_log(ql_log_warn, vha, 0x00f3, in qla2x00_alloc_sysfs_attr()
1033 ql_dbg(ql_dbg_init, vha, 0x00f4, in qla2x00_alloc_sysfs_attr()
1040 qla2x00_free_sysfs_attr(scsi_qla_host_t *vha, bool stop_beacon) in qla2x00_free_sysfs_attr() argument
1042 struct Scsi_Host *host = vha->host; in qla2x00_free_sysfs_attr()
1044 struct qla_hw_data *ha = vha->hw; in qla2x00_free_sysfs_attr()
1059 ha->isp_ops->beacon_off(vha); in qla2x00_free_sysfs_attr()
1075 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_fw_version_show() local
1076 struct qla_hw_data *ha = vha->hw; in qla2x00_fw_version_show()
1080 ha->isp_ops->fw_version_str(vha, fw_str, sizeof(fw_str))); in qla2x00_fw_version_show()
1087 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_serial_num_show() local
1088 struct qla_hw_data *ha = vha->hw; in qla2x00_serial_num_show()
1091 if (IS_QLAFX00(vha->hw)) { in qla2x00_serial_num_show()
1093 vha->hw->mr.serial_num); in qla2x00_serial_num_show()
1095 qla2xxx_get_vpd_field(vha, "SN", buf, PAGE_SIZE - 1); in qla2x00_serial_num_show()
1108 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_isp_name_show() local
1110 return scnprintf(buf, PAGE_SIZE, "ISP%04X\n", vha->hw->pdev->device); in qla2x00_isp_name_show()
1117 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_isp_id_show() local
1118 struct qla_hw_data *ha = vha->hw; in qla2x00_isp_id_show()
1120 if (IS_QLAFX00(vha->hw)) in qla2x00_isp_id_show()
1122 vha->hw->mr.hw_version); in qla2x00_isp_id_show()
1133 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_model_name_show() local
1135 return scnprintf(buf, PAGE_SIZE, "%s\n", vha->hw->model_number); in qla2x00_model_name_show()
1142 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_model_desc_show() local
1144 return scnprintf(buf, PAGE_SIZE, "%s\n", vha->hw->model_desc); in qla2x00_model_desc_show()
1151 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_pci_info_show() local
1155 vha->hw->isp_ops->pci_info_str(vha, pci_info, in qla2x00_pci_info_show()
1163 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_link_state_show() local
1164 struct qla_hw_data *ha = vha->hw; in qla2x00_link_state_show()
1167 if (atomic_read(&vha->loop_state) == LOOP_DOWN || in qla2x00_link_state_show()
1168 atomic_read(&vha->loop_state) == LOOP_DEAD || in qla2x00_link_state_show()
1169 vha->device_flags & DFLG_NO_CABLE) in qla2x00_link_state_show()
1171 else if (atomic_read(&vha->loop_state) != LOOP_READY || in qla2x00_link_state_show()
1172 qla2x00_chip_is_down(vha)) in qla2x00_link_state_show()
1203 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_zio_show() local
1206 switch (vha->hw->zio_mode) { in qla2x00_zio_show()
1221 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_zio_store() local
1222 struct qla_hw_data *ha = vha->hw; in qla2x00_zio_store()
1240 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_zio_store()
1249 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_zio_timer_show() local
1251 return scnprintf(buf, PAGE_SIZE, "%d us\n", vha->hw->zio_timer * 100); in qla2x00_zio_timer_show()
1258 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_zio_timer_store() local
1268 vha->hw->zio_timer = zio_timer; in qla2x00_zio_timer_store()
1277 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla_zio_threshold_show() local
1280 vha->hw->last_zio_threshold); in qla_zio_threshold_show()
1287 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla_zio_threshold_store() local
1290 if (vha->hw->zio_mode != QLA_ZIO_MODE_6) in qla_zio_threshold_store()
1297 atomic_set(&vha->hw->zio_threshold, val); in qla_zio_threshold_store()
1305 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_beacon_show() local
1308 if (vha->hw->beacon_blink_led) in qla2x00_beacon_show()
1319 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_beacon_store() local
1320 struct qla_hw_data *ha = vha->hw; in qla2x00_beacon_store()
1330 mutex_lock(&vha->hw->optrom_mutex); in qla2x00_beacon_store()
1331 if (qla2x00_chip_is_down(vha)) { in qla2x00_beacon_store()
1332 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_beacon_store()
1333 ql_log(ql_log_warn, vha, 0x707a, in qla2x00_beacon_store()
1339 rval = ha->isp_ops->beacon_on(vha); in qla2x00_beacon_store()
1341 rval = ha->isp_ops->beacon_off(vha); in qla2x00_beacon_store()
1346 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_beacon_store()
1355 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_beacon_config_show() local
1356 struct qla_hw_data *ha = vha->hw; in qla2x00_beacon_config_show()
1362 if (ql26xx_led_config(vha, 0, led)) in qla2x00_beacon_config_show()
1373 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_beacon_config_store() local
1374 struct qla_hw_data *ha = vha->hw; in qla2x00_beacon_config_store()
1418 if (ql26xx_led_config(vha, options, led)) in qla2x00_beacon_config_store()
1428 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_optrom_bios_version_show() local
1429 struct qla_hw_data *ha = vha->hw; in qla2x00_optrom_bios_version_show()
1439 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_optrom_efi_version_show() local
1440 struct qla_hw_data *ha = vha->hw; in qla2x00_optrom_efi_version_show()
1450 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_optrom_fcode_version_show() local
1451 struct qla_hw_data *ha = vha->hw; in qla2x00_optrom_fcode_version_show()
1461 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_optrom_fw_version_show() local
1462 struct qla_hw_data *ha = vha->hw; in qla2x00_optrom_fw_version_show()
1473 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_optrom_gold_fw_version_show() local
1474 struct qla_hw_data *ha = vha->hw; in qla2x00_optrom_gold_fw_version_show()
1489 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_total_isp_aborts_show() local
1492 vha->qla_stats.total_isp_aborts); in qla2x00_total_isp_aborts_show()
1501 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla24xx_84xx_fw_version_show() local
1502 struct qla_hw_data *ha = vha->hw; in qla24xx_84xx_fw_version_show()
1508 rval = qla84xx_verify_chip(vha, status); in qla24xx_84xx_fw_version_show()
1522 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_serdes_version_show() local
1523 struct qla_hw_data *ha = vha->hw; in qla2x00_serdes_version_show()
1537 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_mpi_version_show() local
1538 struct qla_hw_data *ha = vha->hw; in qla2x00_mpi_version_show()
1553 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_phy_version_show() local
1554 struct qla_hw_data *ha = vha->hw; in qla2x00_phy_version_show()
1567 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_flash_block_size_show() local
1568 struct qla_hw_data *ha = vha->hw; in qla2x00_flash_block_size_show()
1577 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_vlan_id_show() local
1579 if (!IS_CNA_CAPABLE(vha->hw)) in qla2x00_vlan_id_show()
1582 return scnprintf(buf, PAGE_SIZE, "%d\n", vha->fcoe_vlan_id); in qla2x00_vlan_id_show()
1589 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_vn_port_mac_address_show() local
1591 if (!IS_CNA_CAPABLE(vha->hw)) in qla2x00_vn_port_mac_address_show()
1594 return scnprintf(buf, PAGE_SIZE, "%pMR\n", vha->fcoe_vn_port_mac); in qla2x00_vn_port_mac_address_show()
1601 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_fabric_param_show() local
1603 return scnprintf(buf, PAGE_SIZE, "%d\n", vha->hw->switch_cap); in qla2x00_fabric_param_show()
1610 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_thermal_temp_show() local
1614 mutex_lock(&vha->hw->optrom_mutex); in qla2x00_thermal_temp_show()
1615 if (qla2x00_chip_is_down(vha)) { in qla2x00_thermal_temp_show()
1616 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_thermal_temp_show()
1617 ql_log(ql_log_warn, vha, 0x70dc, "ISP reset active.\n"); in qla2x00_thermal_temp_show()
1621 if (vha->hw->flags.eeh_busy) { in qla2x00_thermal_temp_show()
1622 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_thermal_temp_show()
1623 ql_log(ql_log_warn, vha, 0x70dd, "PCI EEH busy.\n"); in qla2x00_thermal_temp_show()
1627 rc = qla2x00_get_thermal_temp(vha, &temp); in qla2x00_thermal_temp_show()
1628 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_thermal_temp_show()
1640 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_fw_state_show() local
1645 if (IS_QLAFX00(vha->hw)) { in qla2x00_fw_state_show()
1650 mutex_lock(&vha->hw->optrom_mutex); in qla2x00_fw_state_show()
1651 if (qla2x00_chip_is_down(vha)) { in qla2x00_fw_state_show()
1652 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_fw_state_show()
1653 ql_log(ql_log_warn, vha, 0x707c, in qla2x00_fw_state_show()
1656 } else if (vha->hw->flags.eeh_busy) { in qla2x00_fw_state_show()
1657 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_fw_state_show()
1661 rval = qla2x00_get_firmware_state(vha, state); in qla2x00_fw_state_show()
1662 mutex_unlock(&vha->hw->optrom_mutex); in qla2x00_fw_state_show()
1666 rval = qla2x00_get_firmware_state(vha, state); in qla2x00_fw_state_show()
1677 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_diag_requests_show() local
1679 if (!IS_BIDI_CAPABLE(vha->hw)) in qla2x00_diag_requests_show()
1682 return scnprintf(buf, PAGE_SIZE, "%llu\n", vha->bidi_stats.io_count); in qla2x00_diag_requests_show()
1689 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_diag_megabytes_show() local
1691 if (!IS_BIDI_CAPABLE(vha->hw)) in qla2x00_diag_megabytes_show()
1695 vha->bidi_stats.transfer_bytes >> 20); in qla2x00_diag_megabytes_show()
1702 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_fw_dump_size_show() local
1703 struct qla_hw_data *ha = vha->hw; in qla2x00_fw_dump_size_show()
1720 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_allow_cna_fw_dump_show() local
1722 if (!IS_P3P_TYPE(vha->hw)) in qla2x00_allow_cna_fw_dump_show()
1726 vha->hw->allow_cna_fw_dump ? "true" : "false"); in qla2x00_allow_cna_fw_dump_show()
1733 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_allow_cna_fw_dump_store() local
1736 if (!IS_P3P_TYPE(vha->hw)) in qla2x00_allow_cna_fw_dump_store()
1742 vha->hw->allow_cna_fw_dump = val != 0; in qla2x00_allow_cna_fw_dump_store()
1751 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_pep_version_show() local
1752 struct qla_hw_data *ha = vha->hw; in qla2x00_pep_version_show()
1765 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_min_supported_speed_show() local
1766 struct qla_hw_data *ha = vha->hw; in qla2x00_min_supported_speed_show()
1784 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_max_supported_speed_show() local
1785 struct qla_hw_data *ha = vha->hw; in qla2x00_max_supported_speed_show()
1800 struct scsi_qla_host *vha = shost_priv(dev_to_shost(dev)); in qla2x00_port_speed_store() local
1804 struct qla_hw_data *ha = vha->hw; in qla2x00_port_speed_store()
1807 ql_log(ql_log_warn, vha, 0x70d8, in qla2x00_port_speed_store()
1818 ql_dbg(ql_dbg_user, vha, 0x70d9, in qla2x00_port_speed_store()
1843 ql_log(ql_log_warn, vha, 0x1199, in qla2x00_port_speed_store()
1849 if (qla2x00_chip_is_down(vha) || (oldspeed == ha->set_data_rate)) in qla2x00_port_speed_store()
1852 ql_log(ql_log_info, vha, 0x70da, in qla2x00_port_speed_store()
1855 rval = qla2x00_set_data_rate(vha, mode); in qla2x00_port_speed_store()
1878 struct scsi_qla_host *vha = shost_priv(dev_to_shost(dev)); in qla2x00_port_speed_show() local
1879 struct qla_hw_data *ha = vha->hw; in qla2x00_port_speed_show()
1884 rval = qla2x00_get_data_rate(vha); in qla2x00_port_speed_show()
1886 ql_log(ql_log_warn, vha, 0x70db, in qla2x00_port_speed_show()
1906 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qlini_mode_show() local
1915 switch (vha->qlini_mode) { in qlini_mode_show()
1946 static void qla_set_ini_mode(scsi_qla_host_t *vha, int op) in qla_set_ini_mode() argument
1958 switch (vha->qlini_mode) { in qla_set_ini_mode()
1962 if (qla_tgt_mode_enabled(vha)) { in qla_set_ini_mode()
1963 if (NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld) != in qla_set_ini_mode()
1964 vha->hw->flags.exchoffld_enabled) in qla_set_ini_mode()
1966 if (((vha->ql2xexchoffld != in qla_set_ini_mode()
1967 vha->u_ql2xexchoffld) && in qla_set_ini_mode()
1968 NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld)) || in qla_set_ini_mode()
1984 if (qla_tgt_mode_enabled(vha)) { in qla_set_ini_mode()
1985 if (NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld) != in qla_set_ini_mode()
1986 vha->hw->flags.exchoffld_enabled) in qla_set_ini_mode()
1988 if (((vha->ql2xexchoffld != in qla_set_ini_mode()
1989 vha->u_ql2xexchoffld) && in qla_set_ini_mode()
1990 NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld)) || in qla_set_ini_mode()
2008 if (qla_tgt_mode_enabled(vha)) { in qla_set_ini_mode()
2017 if (qla_tgt_mode_enabled(vha)) in qla_set_ini_mode()
2030 if (qla_tgt_mode_enabled(vha)) { in qla_set_ini_mode()
2031 if (NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld) != in qla_set_ini_mode()
2032 vha->hw->flags.exchoffld_enabled) in qla_set_ini_mode()
2034 if (((vha->ql2xexchoffld != in qla_set_ini_mode()
2035 vha->u_ql2xexchoffld) && in qla_set_ini_mode()
2036 NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld)) || in qla_set_ini_mode()
2052 if (qla_tgt_mode_enabled(vha)) { in qla_set_ini_mode()
2053 if (NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld) != in qla_set_ini_mode()
2054 vha->hw->flags.exchoffld_enabled) in qla_set_ini_mode()
2056 if (((vha->ql2xexchoffld != in qla_set_ini_mode()
2057 vha->u_ql2xexchoffld) && in qla_set_ini_mode()
2058 NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld)) || in qla_set_ini_mode()
2068 if (qla_tgt_mode_enabled(vha)) { in qla_set_ini_mode()
2076 if (qla_tgt_mode_enabled(vha)) in qla_set_ini_mode()
2079 if (vha->hw->flags.fw_started) in qla_set_ini_mode()
2091 if (NEED_EXCH_OFFLOAD(vha->u_ql2xiniexchg) != in qla_set_ini_mode()
2092 vha->hw->flags.exchoffld_enabled) in qla_set_ini_mode()
2094 if (((vha->ql2xiniexchg != vha->u_ql2xiniexchg) && in qla_set_ini_mode()
2095 NEED_EXCH_OFFLOAD(vha->u_ql2xiniexchg)) || in qla_set_ini_mode()
2114 if (qla_tgt_mode_enabled(vha) || in qla_set_ini_mode()
2115 qla_dual_mode_enabled(vha)) { in qla_set_ini_mode()
2116 if (NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld + in qla_set_ini_mode()
2117 vha->u_ql2xiniexchg) != in qla_set_ini_mode()
2118 vha->hw->flags.exchoffld_enabled) in qla_set_ini_mode()
2121 if ((((vha->ql2xexchoffld + in qla_set_ini_mode()
2122 vha->ql2xiniexchg) != in qla_set_ini_mode()
2123 (vha->u_ql2xiniexchg + in qla_set_ini_mode()
2124 vha->u_ql2xexchoffld)) && in qla_set_ini_mode()
2125 NEED_EXCH_OFFLOAD(vha->u_ql2xiniexchg + in qla_set_ini_mode()
2126 vha->u_ql2xexchoffld)) || eo_toggle) in qla_set_ini_mode()
2131 if (NEED_EXCH_OFFLOAD(vha->u_ql2xexchoffld + in qla_set_ini_mode()
2132 vha->u_ql2xiniexchg) != in qla_set_ini_mode()
2133 vha->hw->flags.exchoffld_enabled) in qla_set_ini_mode()
2136 if ((((vha->ql2xexchoffld + vha->ql2xiniexchg) in qla_set_ini_mode()
2137 != (vha->u_ql2xiniexchg + in qla_set_ini_mode()
2138 vha->u_ql2xexchoffld)) && in qla_set_ini_mode()
2139 NEED_EXCH_OFFLOAD(vha->u_ql2xiniexchg + in qla_set_ini_mode()
2140 vha->u_ql2xexchoffld)) || eo_toggle) in qla_set_ini_mode()
2148 if (qla_tgt_mode_enabled(vha) || in qla_set_ini_mode()
2149 qla_dual_mode_enabled(vha)) { in qla_set_ini_mode()
2159 if (qla_tgt_mode_enabled(vha) || in qla_set_ini_mode()
2160 qla_dual_mode_enabled(vha)) { in qla_set_ini_mode()
2169 if (qla_tgt_mode_enabled(vha) || in qla_set_ini_mode()
2170 qla_dual_mode_enabled(vha)) { in qla_set_ini_mode()
2181 ql_log(ql_log_warn, vha, 0xffff, in qla_set_ini_mode()
2183 mode_to_str[vha->qlini_mode], mode_to_str[op], in qla_set_ini_mode()
2184 vha->ql2xexchoffld, vha->u_ql2xexchoffld, in qla_set_ini_mode()
2185 vha->ql2xiniexchg, vha->u_ql2xiniexchg); in qla_set_ini_mode()
2187 vha->qlini_mode = op; in qla_set_ini_mode()
2188 vha->ql2xexchoffld = vha->u_ql2xexchoffld; in qla_set_ini_mode()
2189 vha->ql2xiniexchg = vha->u_ql2xiniexchg; in qla_set_ini_mode()
2191 qlt_set_mode(vha); in qla_set_ini_mode()
2192 vha->flags.online = 1; in qla_set_ini_mode()
2193 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla_set_ini_mode()
2197 ql_log(ql_log_warn, vha, 0xffff, in qla_set_ini_mode()
2199 mode_to_str[vha->qlini_mode], mode_to_str[op], in qla_set_ini_mode()
2200 vha->ql2xexchoffld, vha->u_ql2xexchoffld, in qla_set_ini_mode()
2201 vha->ql2xiniexchg, vha->u_ql2xiniexchg); in qla_set_ini_mode()
2202 vha->qlini_mode = op; in qla_set_ini_mode()
2203 vha->ql2xexchoffld = vha->u_ql2xexchoffld; in qla_set_ini_mode()
2204 vha->ql2xiniexchg = vha->u_ql2xiniexchg; in qla_set_ini_mode()
2208 ql_log(ql_log_warn, vha, 0xffff, in qla_set_ini_mode()
2214 ql_log(ql_log_warn, vha, 0xffff, in qla_set_ini_mode()
2216 vha->qlini_mode, op, in qla_set_ini_mode()
2217 vha->ql2xexchoffld, vha->u_ql2xexchoffld); in qla_set_ini_mode()
2226 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qlini_mode_store() local
2247 qla_set_ini_mode(vha, ini); in qlini_mode_store()
2255 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in ql2xexchoffld_show() local
2260 vha->u_ql2xexchoffld, vha->ql2xexchoffld); in ql2xexchoffld_show()
2264 vha->host_no); in ql2xexchoffld_show()
2273 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in ql2xexchoffld_store() local
2284 vha->u_ql2xexchoffld = val; in ql2xexchoffld_store()
2292 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in ql2xiniexchg_show() local
2297 vha->u_ql2xiniexchg, vha->ql2xiniexchg); in ql2xiniexchg_show()
2301 vha->host_no); in ql2xiniexchg_show()
2310 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in ql2xiniexchg_store() local
2321 vha->u_ql2xiniexchg = val; in ql2xiniexchg_store()
2329 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_dif_bundle_statistics_show() local
2330 struct qla_hw_data *ha = vha->hw; in qla2x00_dif_bundle_statistics_show()
2343 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_fw_attr_show() local
2344 struct qla_hw_data *ha = vha->hw; in qla2x00_fw_attr_show()
2360 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_port_no_show() local
2362 return scnprintf(buf, PAGE_SIZE, "%u\n", vha->hw->port_no); in qla2x00_port_no_show()
2369 scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); in qla2x00_dport_diagnostics_show() local
2371 if (!IS_QLA83XX(vha->hw) && !IS_QLA27XX(vha->hw) && in qla2x00_dport_diagnostics_show()
2372 !IS_QLA28XX(vha->hw)) in qla2x00_dport_diagnostics_show()
2375 if (!*vha->dport_data) in qla2x00_dport_diagnostics_show()
2379 vha->dport_data[0], vha->dport_data[1], in qla2x00_dport_diagnostics_show()
2380 vha->dport_data[2], vha->dport_data[3]); in qla2x00_dport_diagnostics_show()
2520 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_get_host_port_id() local
2522 fc_host_port_id(shost) = vha->d_id.b.domain << 16 | in qla2x00_get_host_port_id()
2523 vha->d_id.b.area << 8 | vha->d_id.b.al_pa; in qla2x00_get_host_port_id()
2529 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_get_host_speed() local
2532 if (IS_QLAFX00(vha->hw)) { in qla2x00_get_host_speed()
2537 switch (vha->hw->link_data_rate) { in qla2x00_get_host_speed()
2573 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_get_host_port_type() local
2576 if (vha->vp_idx) { in qla2x00_get_host_port_type()
2580 switch (vha->hw->current_topology) { in qla2x00_get_host_port_type()
2605 scsi_qla_host_t *vha = shost_priv(host); in qla2x00_get_starget_node_name() local
2609 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla2x00_get_starget_node_name()
2624 scsi_qla_host_t *vha = shost_priv(host); in qla2x00_get_starget_port_name() local
2628 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla2x00_get_starget_port_name()
2643 scsi_qla_host_t *vha = shost_priv(host); in qla2x00_get_starget_port_id() local
2647 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla2x00_get_starget_port_id()
2688 if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) in qla2x00_dev_loss_tmo_callbk()
2691 if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { in qla2x00_dev_loss_tmo_callbk()
2692 qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); in qla2x00_dev_loss_tmo_callbk()
2705 if (test_bit(UNLOADING, &fcport->vha->dpc_flags)) in qla2x00_terminate_rport_io()
2708 if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) in qla2x00_terminate_rport_io()
2711 if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { in qla2x00_terminate_rport_io()
2712 qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); in qla2x00_terminate_rport_io()
2720 if (IS_FWI2_CAPABLE(fcport->vha->hw)) in qla2x00_terminate_rport_io()
2721 fcport->vha->hw->isp_ops->fabric_logout(fcport->vha, in qla2x00_terminate_rport_io()
2725 qla2x00_port_logout(fcport->vha, fcport); in qla2x00_terminate_rport_io()
2732 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_issue_lip() local
2734 if (IS_QLAFX00(vha->hw)) in qla2x00_issue_lip()
2737 qla2x00_loop_reset(vha); in qla2x00_issue_lip()
2744 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_get_fc_host_stats() local
2745 struct qla_hw_data *ha = vha->hw; in qla2x00_get_fc_host_stats()
2750 struct fc_host_statistics *p = &vha->fc_host_stat; in qla2x00_get_fc_host_stats()
2757 if (IS_QLAFX00(vha->hw)) in qla2x00_get_fc_host_stats()
2760 if (test_bit(UNLOADING, &vha->dpc_flags)) in qla2x00_get_fc_host_stats()
2766 if (qla2x00_chip_is_down(vha)) in qla2x00_get_fc_host_stats()
2772 ql_log(ql_log_warn, vha, 0x707d, in qla2x00_get_fc_host_stats()
2791 for (i = 0; i < vha->hw->max_qpairs; i++) { in qla2x00_get_fc_host_stats()
2792 qpair = vha->hw->queue_pair_map[i]; in qla2x00_get_fc_host_stats()
2805 ir += vha->qla_stats.input_requests; in qla2x00_get_fc_host_stats()
2806 or += vha->qla_stats.output_requests; in qla2x00_get_fc_host_stats()
2807 ib += vha->qla_stats.input_bytes; in qla2x00_get_fc_host_stats()
2808 ob += vha->qla_stats.output_bytes; in qla2x00_get_fc_host_stats()
2835 p->fcp_control_requests = vha->qla_stats.control_requests; in qla2x00_get_fc_host_stats()
2841 get_jiffies_64() - vha->qla_stats.jiffies_at_last_reset; in qla2x00_get_fc_host_stats()
2854 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_reset_host_stats() local
2855 struct qla_hw_data *ha = vha->hw; in qla2x00_reset_host_stats()
2862 memset(&vha->qla_stats, 0, sizeof(vha->qla_stats)); in qla2x00_reset_host_stats()
2863 memset(&vha->fc_host_stat, 0, sizeof(vha->fc_host_stat)); in qla2x00_reset_host_stats()
2864 for (i = 0; i < vha->hw->max_qpairs; i++) { in qla2x00_reset_host_stats()
2865 qpair = vha->hw->queue_pair_map[i]; in qla2x00_reset_host_stats()
2872 vha->qla_stats.jiffies_at_last_reset = get_jiffies_64(); in qla2x00_reset_host_stats()
2880 ql_log(ql_log_warn, vha, 0x70d7, in qla2x00_reset_host_stats()
2888 ql_log(ql_log_warn, vha, 0x70de, in qla2x00_reset_host_stats()
2900 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_get_host_symbolic_name() local
2902 qla2x00_get_sym_node_name(vha, fc_host_symbolic_name(shost), in qla2x00_get_host_symbolic_name()
2909 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_set_host_system_hostname() local
2911 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_set_host_system_hostname()
2917 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_get_host_fabric_name() local
2923 if (vha->device_flags & SWITCH_FOUND) in qla2x00_get_host_fabric_name()
2924 fabric_name = wwn_to_u64(vha->fabric_node_name); in qla2x00_get_host_fabric_name()
2932 scsi_qla_host_t *vha = shost_priv(shost); in qla2x00_get_host_port_state() local
2933 struct scsi_qla_host *base_vha = pci_get_drvdata(vha->hw->pdev); in qla2x00_get_host_port_state()
2968 scsi_qla_host_t *vha = NULL; in qla24xx_vport_create() local
2976 ql_log(ql_log_warn, vha, 0x707e, in qla24xx_vport_create()
2981 vha = qla24xx_create_vhost(fc_vport); in qla24xx_vport_create()
2982 if (vha == NULL) { in qla24xx_vport_create()
2983 ql_log(ql_log_warn, vha, 0x707f, "Vport create host failed.\n"); in qla24xx_vport_create()
2987 atomic_set(&vha->vp_state, VP_OFFLINE); in qla24xx_vport_create()
2990 atomic_set(&vha->vp_state, VP_FAILED); in qla24xx_vport_create()
2993 ql_log(ql_log_info, vha, 0x7080, in qla24xx_vport_create()
2994 "VP entry id %d assigned.\n", vha->vp_idx); in qla24xx_vport_create()
2997 atomic_set(&vha->loop_state, LOOP_DOWN); in qla24xx_vport_create()
2998 vha->vp_err_state = VP_ERR_PORTDWN; in qla24xx_vport_create()
2999 vha->vp_prev_err_state = VP_ERR_UNKWN; in qla24xx_vport_create()
3004 ql_dbg(ql_dbg_user, vha, 0x7081, in qla24xx_vport_create()
3006 atomic_set(&vha->loop_state, LOOP_DEAD); in qla24xx_vport_create()
3015 vha->flags.difdix_supported = 1; in qla24xx_vport_create()
3016 ql_dbg(ql_dbg_user, vha, 0x7082, in qla24xx_vport_create()
3020 scsi_host_set_prot(vha->host, in qla24xx_vport_create()
3034 scsi_host_set_guard(vha->host, guard); in qla24xx_vport_create()
3036 vha->flags.difdix_supported = 0; in qla24xx_vport_create()
3039 if (scsi_add_host_with_dma(vha->host, &fc_vport->dev, in qla24xx_vport_create()
3041 ql_dbg(ql_dbg_user, vha, 0x7083, in qla24xx_vport_create()
3042 "scsi_add_host failure for VP[%d].\n", vha->vp_idx); in qla24xx_vport_create()
3047 fc_host_dev_loss_tmo(vha->host) = ha->port_down_retry_count; in qla24xx_vport_create()
3048 fc_host_node_name(vha->host) = wwn_to_u64(vha->node_name); in qla24xx_vport_create()
3049 fc_host_port_name(vha->host) = wwn_to_u64(vha->port_name); in qla24xx_vport_create()
3050 fc_host_supported_classes(vha->host) = in qla24xx_vport_create()
3052 fc_host_supported_speeds(vha->host) = in qla24xx_vport_create()
3055 qlt_vport_create(vha, ha); in qla24xx_vport_create()
3063 if (memcmp(ha->npiv_info[cnt].port_name, vha->port_name, 8) == 0 in qla24xx_vport_create()
3064 && memcmp(ha->npiv_info[cnt].node_name, vha->node_name, in qla24xx_vport_create()
3072 qpair = qla2xxx_create_qpair(vha, qos, vha->vp_idx, true); in qla24xx_vport_create()
3074 ql_log(ql_log_warn, vha, 0x7084, in qla24xx_vport_create()
3076 vha->vp_idx); in qla24xx_vport_create()
3078 ql_dbg(ql_dbg_multiq, vha, 0xc001, in qla24xx_vport_create()
3080 qpair->id, qos, vha->vp_idx); in qla24xx_vport_create()
3081 ql_dbg(ql_dbg_user, vha, 0x7085, in qla24xx_vport_create()
3083 qpair->id, qos, vha->vp_idx); in qla24xx_vport_create()
3085 vha->qpair = qpair; in qla24xx_vport_create()
3090 vha->req = req; in qla24xx_vport_create()
3094 qla24xx_disable_vp(vha); in qla24xx_vport_create()
3095 qla24xx_deallocate_vp_id(vha); in qla24xx_vport_create()
3096 scsi_host_put(vha->host); in qla24xx_vport_create()
3103 scsi_qla_host_t *vha = fc_vport->dd_data; in qla24xx_vport_delete() local
3104 struct qla_hw_data *ha = vha->hw; in qla24xx_vport_delete()
3105 uint16_t id = vha->vp_idx; in qla24xx_vport_delete()
3107 set_bit(VPORT_DELETE, &vha->dpc_flags); in qla24xx_vport_delete()
3109 while (test_bit(LOOP_RESYNC_ACTIVE, &vha->dpc_flags) || in qla24xx_vport_delete()
3110 test_bit(FCPORT_UPDATE_NEEDED, &vha->dpc_flags)) in qla24xx_vport_delete()
3114 qla24xx_disable_vp(vha); in qla24xx_vport_delete()
3115 qla2x00_wait_for_sess_deletion(vha); in qla24xx_vport_delete()
3117 qla_nvme_delete(vha); in qla24xx_vport_delete()
3118 vha->flags.delete_progress = 1; in qla24xx_vport_delete()
3120 qlt_remove_target(ha, vha); in qla24xx_vport_delete()
3122 fc_remove_host(vha->host); in qla24xx_vport_delete()
3124 scsi_remove_host(vha->host); in qla24xx_vport_delete()
3127 qla24xx_deallocate_vp_id(vha); in qla24xx_vport_delete()
3129 if (vha->timer_active) { in qla24xx_vport_delete()
3130 qla2x00_vp_stop_timer(vha); in qla24xx_vport_delete()
3131 ql_dbg(ql_dbg_user, vha, 0x7086, in qla24xx_vport_delete()
3132 "Timer for the VP[%d] has stopped\n", vha->vp_idx); in qla24xx_vport_delete()
3135 qla2x00_free_fcports(vha); in qla24xx_vport_delete()
3139 clear_bit(vha->vp_idx, ha->vp_idx_map); in qla24xx_vport_delete()
3142 dma_free_coherent(&ha->pdev->dev, vha->gnl.size, vha->gnl.l, in qla24xx_vport_delete()
3143 vha->gnl.ldma); in qla24xx_vport_delete()
3145 vha->gnl.l = NULL; in qla24xx_vport_delete()
3147 vfree(vha->scan.l); in qla24xx_vport_delete()
3149 if (vha->qpair && vha->qpair->vp_idx == vha->vp_idx) { in qla24xx_vport_delete()
3150 if (qla2xxx_delete_qpair(vha, vha->qpair) != QLA_SUCCESS) in qla24xx_vport_delete()
3151 ql_log(ql_log_warn, vha, 0x7087, in qla24xx_vport_delete()
3155 ql_log(ql_log_info, vha, 0x7088, "VP[%d] deleted.\n", id); in qla24xx_vport_delete()
3156 scsi_host_put(vha->host); in qla24xx_vport_delete()
3163 scsi_qla_host_t *vha = fc_vport->dd_data; in qla24xx_vport_disable() local
3166 qla24xx_disable_vp(vha); in qla24xx_vport_disable()
3168 qla24xx_enable_vp(vha); in qla24xx_vport_disable()
3266 qla2x00_get_host_supported_speeds(scsi_qla_host_t *vha, uint speeds) in qla2x00_get_host_supported_speeds() argument
3289 qla2x00_init_host_attr(scsi_qla_host_t *vha) in qla2x00_init_host_attr() argument
3291 struct qla_hw_data *ha = vha->hw; in qla2x00_init_host_attr()
3294 fc_host_dev_loss_tmo(vha->host) = ha->port_down_retry_count; in qla2x00_init_host_attr()
3295 fc_host_node_name(vha->host) = wwn_to_u64(vha->node_name); in qla2x00_init_host_attr()
3296 fc_host_port_name(vha->host) = wwn_to_u64(vha->port_name); in qla2x00_init_host_attr()
3297 fc_host_supported_classes(vha->host) = ha->base_qpair->enable_class_2 ? in qla2x00_init_host_attr()
3299 fc_host_max_npiv_vports(vha->host) = ha->max_npiv_vports; in qla2x00_init_host_attr()
3300 fc_host_npiv_vports_inuse(vha->host) = ha->cur_vport_count; in qla2x00_init_host_attr()
3303 speeds = qla2x00_get_host_supported_speeds(vha, fdmi_speed); in qla2x00_init_host_attr()
3305 fc_host_supported_speeds(vha->host) = speeds; in qla2x00_init_host_attr()