Lines Matching refs:base_vha

684 	struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev);  in qla2xxx_queuecommand()  local
727 atomic_read(&base_vha->loop_state) == LOOP_DEAD) { in qla2xxx_queuecommand()
731 atomic_read(&base_vha->loop_state)); in qla2xxx_queuecommand()
844 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2x00_wait_for_hba_online() local
847 while (((test_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags)) || in qla2x00_wait_for_hba_online()
848 test_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags) || in qla2x00_wait_for_hba_online()
849 test_bit(ISP_ABORT_RETRY, &base_vha->dpc_flags) || in qla2x00_wait_for_hba_online()
854 if (base_vha->flags.online) in qla2x00_wait_for_hba_online()
892 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2x00_wait_for_chip_reset() local
895 while (((test_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags)) || in qla2x00_wait_for_chip_reset()
896 test_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags) || in qla2x00_wait_for_chip_reset()
897 test_bit(ISP_ABORT_RETRY, &base_vha->dpc_flags) || in qla2x00_wait_for_chip_reset()
902 if (!test_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags) && in qla2x00_wait_for_chip_reset()
1234 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2xxx_eh_host_reset() local
1249 if (vha != base_vha) { in qla2xxx_eh_host_reset()
1264 set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
1265 if (ha->isp_ops->abort_isp(base_vha)) { in qla2xxx_eh_host_reset()
1266 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
1268 set_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
1276 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
2276 scsi_qla_host_t *base_vha = NULL; in qla2x00_probe_one() local
2571 base_vha = qla2x00_create_host(sht, ha); in qla2x00_probe_one()
2572 if (!base_vha) { in qla2x00_probe_one()
2580 pci_set_drvdata(pdev, base_vha); in qla2x00_probe_one()
2581 set_bit(PFLG_DRIVER_PROBING, &base_vha->pci_flags); in qla2x00_probe_one()
2583 host = base_vha->host; in qla2x00_probe_one()
2584 base_vha->req = req; in qla2x00_probe_one()
2586 base_vha->mgmt_svr_loop_id = 10 + base_vha->vp_idx; in qla2x00_probe_one()
2588 base_vha->mgmt_svr_loop_id = MANAGEMENT_SERVER + in qla2x00_probe_one()
2589 base_vha->vp_idx; in qla2x00_probe_one()
2592 ha->mr.fcport.vha = base_vha; in qla2x00_probe_one()
2624 ql_dbg(ql_dbg_init, base_vha, 0x0033, in qla2x00_probe_one()
2635 ql_log(ql_log_fatal, base_vha, 0x003d, in qla2x00_probe_one()
2641 qlt_probe_one_stage1(base_vha, ha); in qla2x00_probe_one()
2686 ql_dbg(ql_dbg_multiq, base_vha, 0xc009, in qla2x00_probe_one()
2689 ql_dbg(ql_dbg_multiq, base_vha, 0xc00a, in qla2x00_probe_one()
2694 ql_dbg(ql_dbg_init, base_vha, 0x003e, in qla2x00_probe_one()
2697 ql_dbg(ql_dbg_init, base_vha, 0x003f, in qla2x00_probe_one()
2701 if (ha->isp_ops->initialize_adapter(base_vha)) { in qla2x00_probe_one()
2702 ql_log(ql_log_fatal, base_vha, 0x00d6, in qla2x00_probe_one()
2704 base_vha->device_flags); in qla2x00_probe_one()
2711 ql_log(ql_log_fatal, base_vha, 0x00d7, in qla2x00_probe_one()
2715 qla8044_wr_direct(base_vha, in qla2x00_probe_one()
2719 ql_log(ql_log_fatal, base_vha, 0x0150, in qla2x00_probe_one()
2732 ql_dbg(ql_dbg_init, base_vha, 0x0032, in qla2x00_probe_one()
2734 host->can_queue, base_vha->req, in qla2x00_probe_one()
2735 base_vha->mgmt_svr_loop_id, host->sg_tablesize); in qla2x00_probe_one()
2738 if (qla25xx_setup_mode(base_vha)) { in qla2x00_probe_one()
2739 ql_log(ql_log_warn, base_vha, 0x00ec, in qla2x00_probe_one()
2752 "%s_dpc", base_vha->host_str); in qla2x00_probe_one()
2754 ql_log(ql_log_fatal, base_vha, 0x00ed, in qla2x00_probe_one()
2759 ql_dbg(ql_dbg_init, base_vha, 0x00ee, in qla2x00_probe_one()
2768 qla2xxx_wake_dpc(base_vha); in qla2x00_probe_one()
2773 sprintf(wq_name, "qla2xxx_%lu_dpc_lp_wq", base_vha->host_no); in qla2x00_probe_one()
2777 sprintf(wq_name, "qla2xxx_%lu_dpc_hp_wq", base_vha->host_no); in qla2x00_probe_one()
2787 list_add_tail(&base_vha->list, &ha->vp_list); in qla2x00_probe_one()
2788 base_vha->host->irq = ha->pdev->irq; in qla2x00_probe_one()
2791 qla2x00_start_timer(base_vha, qla2x00_timer, WATCH_INTERVAL); in qla2x00_probe_one()
2792 ql_dbg(ql_dbg_init, base_vha, 0x00ef, in qla2x00_probe_one()
2795 ql_dbg(ql_dbg_init, base_vha, 0x00f0, in qla2x00_probe_one()
2802 base_vha->flags.difdix_supported = 1; in qla2x00_probe_one()
2803 ql_dbg(ql_dbg_init, base_vha, 0x00f1, in qla2x00_probe_one()
2823 base_vha->flags.difdix_supported = 0; in qla2x00_probe_one()
2829 ret = qlafx00_fx_disc(base_vha, in qla2x00_probe_one()
2830 &base_vha->hw->mr.fcport, FXDISC_GET_CONFIG_INFO); in qla2x00_probe_one()
2839 base_vha->flags.init_done = 1; in qla2x00_probe_one()
2840 base_vha->flags.online = 1; in qla2x00_probe_one()
2843 ql_dbg(ql_dbg_init, base_vha, 0x00f2, in qla2x00_probe_one()
2846 if (qla_ini_mode_enabled(base_vha)) in qla2x00_probe_one()
2849 ql_dbg(ql_dbg_init, base_vha, 0x0122, in qla2x00_probe_one()
2852 qla2x00_alloc_sysfs_attr(base_vha); in qla2x00_probe_one()
2855 ret = qlafx00_fx_disc(base_vha, in qla2x00_probe_one()
2856 &base_vha->hw->mr.fcport, FXDISC_GET_PORT_INFO); in qla2x00_probe_one()
2859 ret = qlafx00_fx_disc(base_vha, in qla2x00_probe_one()
2860 &base_vha->hw->mr.fcport, FXDISC_REG_HOST_INFO); in qla2x00_probe_one()
2863 qla2x00_init_host_attr(base_vha); in qla2x00_probe_one()
2865 qla2x00_dfs_setup(base_vha); in qla2x00_probe_one()
2867 ql_log(ql_log_info, base_vha, 0x00fb, in qla2x00_probe_one()
2869 ql_log(ql_log_info, base_vha, 0x00fc, in qla2x00_probe_one()
2871 pdev->device, ha->isp_ops->pci_info_str(base_vha, pci_info), in qla2x00_probe_one()
2873 base_vha->host_no, in qla2x00_probe_one()
2874 ha->isp_ops->fw_version_str(base_vha, fw_str, sizeof(fw_str))); in qla2x00_probe_one()
2876 qlt_add_target(ha, base_vha); in qla2x00_probe_one()
2878 clear_bit(PFLG_DRIVER_PROBING, &base_vha->pci_flags); in qla2x00_probe_one()
2891 if (base_vha->timer_active) in qla2x00_probe_one()
2892 qla2x00_stop_timer(base_vha); in qla2x00_probe_one()
2893 base_vha->flags.online = 0; in qla2x00_probe_one()
2901 qla2x00_free_device(base_vha); in qla2x00_probe_one()
2903 scsi_host_put(base_vha->host); in qla2x00_probe_one()
2977 qla2x00_delete_all_vps(struct qla_hw_data *ha, scsi_qla_host_t *base_vha) in qla2x00_delete_all_vps() argument
2986 BUG_ON(base_vha->list.next == &ha->vp_list); in qla2x00_delete_all_vps()
2988 vha = list_first_entry(&base_vha->list, scsi_qla_host_t, list); in qla2x00_delete_all_vps()
3081 scsi_qla_host_t *base_vha; in qla2x00_remove_one() local
3084 base_vha = pci_get_drvdata(pdev); in qla2x00_remove_one()
3085 ha = base_vha->hw; in qla2x00_remove_one()
3089 set_bit(PFLG_DRIVER_REMOVING, &base_vha->pci_flags); in qla2x00_remove_one()
3098 scsi_host_put(base_vha->host); in qla2x00_remove_one()
3104 qla2x00_wait_for_hba_ready(base_vha); in qla2x00_remove_one()
3106 set_bit(UNLOADING, &base_vha->dpc_flags); in qla2x00_remove_one()
3109 qlafx00_driver_shutdown(base_vha, 20); in qla2x00_remove_one()
3111 qla2x00_delete_all_vps(ha, base_vha); in qla2x00_remove_one()
3114 ql_dbg(ql_dbg_p3p, base_vha, 0xb07e, in qla2x00_remove_one()
3116 if (qla83xx_clear_drv_presence(base_vha) != QLA_SUCCESS) in qla2x00_remove_one()
3117 ql_dbg(ql_dbg_p3p, base_vha, 0xb079, in qla2x00_remove_one()
3121 qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16); in qla2x00_remove_one()
3123 qla2x00_dfs_remove(base_vha); in qla2x00_remove_one()
3125 qla84xx_put_chip(base_vha); in qla2x00_remove_one()
3129 qla83xx_disable_laser(base_vha); in qla2x00_remove_one()
3132 if (base_vha->timer_active) in qla2x00_remove_one()
3133 qla2x00_stop_timer(base_vha); in qla2x00_remove_one()
3135 base_vha->flags.online = 0; in qla2x00_remove_one()
3139 qlt_remove_target(ha, base_vha); in qla2x00_remove_one()
3141 qla2x00_free_sysfs_attr(base_vha, true); in qla2x00_remove_one()
3143 fc_remove_host(base_vha->host); in qla2x00_remove_one()
3145 scsi_remove_host(base_vha->host); in qla2x00_remove_one()
3147 qla2x00_free_device(base_vha); in qla2x00_remove_one()
3151 scsi_host_put(base_vha->host); in qla2x00_remove_one()
3222 scsi_qla_host_t *base_vha; in qla2x00_schedule_rport_del() local
3230 base_vha = pci_get_drvdata(vha->hw->pdev); in qla2x00_schedule_rport_del()
3234 qlt_do_generation_tick(vha, &base_vha->total_fcport_update_gen); in qla2x00_schedule_rport_del()
3235 set_bit(FCPORT_UPDATE_NEEDED, &base_vha->dpc_flags); in qla2x00_schedule_rport_del()
3236 qla2xxx_wake_dpc(base_vha); in qla2x00_schedule_rport_del()
4086 qla83xx_schedule_work(scsi_qla_host_t *base_vha, int work_code) in qla83xx_schedule_work() argument
4088 struct qla_hw_data *ha = base_vha->hw; in qla83xx_schedule_work()
4101 ql_dbg(ql_dbg_p3p, base_vha, 0xb05e, in qla83xx_schedule_work()
4114 ql_log(ql_log_warn, base_vha, 0xb05f, in qla83xx_schedule_work()
4127 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_nic_core_unrecoverable_work() local
4130 qla83xx_idc_lock(base_vha, 0); in qla83xx_nic_core_unrecoverable_work()
4131 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_nic_core_unrecoverable_work()
4132 qla83xx_reset_ownership(base_vha); in qla83xx_nic_core_unrecoverable_work()
4135 qla83xx_wr_reg(base_vha, QLA83XX_IDC_DEV_STATE, in qla83xx_nic_core_unrecoverable_work()
4137 ql_log(ql_log_info, base_vha, 0xb060, "HW State: FAILED.\n"); in qla83xx_nic_core_unrecoverable_work()
4138 qla83xx_schedule_work(base_vha, QLA83XX_IDC_STATE_HANDLER); in qla83xx_nic_core_unrecoverable_work()
4140 qla83xx_idc_unlock(base_vha, 0); in qla83xx_nic_core_unrecoverable_work()
4149 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_idc_state_handler_work() local
4152 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler_work()
4153 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_idc_state_handler_work()
4156 qla83xx_idc_state_handler(base_vha); in qla83xx_idc_state_handler_work()
4157 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler_work()
4161 qla83xx_check_nic_core_fw_alive(scsi_qla_host_t *base_vha) in qla83xx_check_nic_core_fw_alive() argument
4169 ql_dbg(ql_dbg_p3p, base_vha, 0xb07c, in qla83xx_check_nic_core_fw_alive()
4175 qla83xx_idc_lock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4176 qla83xx_rd_reg(base_vha, QLA83XX_FW_HEARTBEAT, in qla83xx_check_nic_core_fw_alive()
4178 qla83xx_idc_unlock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4180 qla83xx_idc_lock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4181 qla83xx_rd_reg(base_vha, QLA83XX_FW_HEARTBEAT, in qla83xx_check_nic_core_fw_alive()
4183 qla83xx_idc_unlock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4195 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_nic_core_reset_work() local
4199 if (qla2xxx_mctp_dump(base_vha) != QLA_SUCCESS) in qla83xx_nic_core_reset_work()
4200 ql_log(ql_log_warn, base_vha, 0xb081, in qla83xx_nic_core_reset_work()
4206 if (qla83xx_check_nic_core_fw_alive(base_vha) == QLA_SUCCESS) { in qla83xx_nic_core_reset_work()
4207 qla83xx_idc_lock(base_vha, 0); in qla83xx_nic_core_reset_work()
4208 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, in qla83xx_nic_core_reset_work()
4210 qla83xx_idc_unlock(base_vha, 0); in qla83xx_nic_core_reset_work()
4212 ql_dbg(ql_dbg_p3p, base_vha, 0xb07a, in qla83xx_nic_core_reset_work()
4219 if (qla83xx_nic_core_reset(base_vha)) { in qla83xx_nic_core_reset_work()
4221 ql_dbg(ql_dbg_p3p, base_vha, 0xb061, in qla83xx_nic_core_reset_work()
4234 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_service_idc_aen() local
4237 qla83xx_idc_lock(base_vha, 0); in qla83xx_service_idc_aen()
4238 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_service_idc_aen()
4239 qla83xx_rd_reg(base_vha, QLA83XX_IDC_CONTROL, &idc_control); in qla83xx_service_idc_aen()
4240 qla83xx_idc_unlock(base_vha, 0); in qla83xx_service_idc_aen()
4243 ql_dbg(ql_dbg_p3p, base_vha, 0xb062, in qla83xx_service_idc_aen()
4245 qla83xx_schedule_work(base_vha, QLA83XX_NIC_CORE_RESET); in qla83xx_service_idc_aen()
4246 } else if (qla83xx_check_nic_core_fw_alive(base_vha) == in qla83xx_service_idc_aen()
4248 ql_dbg(ql_dbg_p3p, base_vha, 0xb07b, in qla83xx_service_idc_aen()
4250 qla83xx_schedule_work(base_vha, QLA83XX_NIC_CORE_RESET); in qla83xx_service_idc_aen()
4254 qla83xx_schedule_work(base_vha, QLA83XX_IDC_STATE_HANDLER); in qla83xx_service_idc_aen()
4279 qla83xx_force_lock_recovery(scsi_qla_host_t *base_vha) in qla83xx_force_lock_recovery() argument
4285 struct qla_hw_data *ha = base_vha->hw; in qla83xx_force_lock_recovery()
4286 ql_dbg(ql_dbg_p3p, base_vha, 0xb086, in qla83xx_force_lock_recovery()
4289 rval = qla83xx_rd_reg(base_vha, QLA83XX_IDC_LOCK_RECOVERY, &data); in qla83xx_force_lock_recovery()
4297 rval = qla83xx_wr_reg(base_vha, QLA83XX_IDC_LOCK_RECOVERY, in qla83xx_force_lock_recovery()
4304 rval = qla83xx_rd_reg(base_vha, QLA83XX_IDC_LOCK_RECOVERY, in qla83xx_force_lock_recovery()
4312 rval = qla83xx_wr_reg(base_vha, in qla83xx_force_lock_recovery()
4318 rval = qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_UNLOCK, in qla83xx_force_lock_recovery()
4323 rval = qla83xx_wr_reg(base_vha, QLA83XX_DRIVER_LOCKID, in qla83xx_force_lock_recovery()
4328 rval = qla83xx_wr_reg(base_vha, in qla83xx_force_lock_recovery()
4340 qla83xx_idc_lock_recovery(scsi_qla_host_t *base_vha) in qla83xx_idc_lock_recovery() argument
4348 rval = qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, &o_drv_lockid); in qla83xx_idc_lock_recovery()
4354 if (qla83xx_force_lock_recovery(base_vha) == QLA_SUCCESS) in qla83xx_idc_lock_recovery()
4360 rval = qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, &n_drv_lockid); in qla83xx_idc_lock_recovery()
4375 qla83xx_idc_lock(scsi_qla_host_t *base_vha, uint16_t requester_id) in qla83xx_idc_lock() argument
4380 struct qla_hw_data *ha = base_vha->hw; in qla83xx_idc_lock()
4384 if (qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCK, &data) in qla83xx_idc_lock()
4388 qla83xx_wr_reg(base_vha, QLA83XX_DRIVER_LOCKID, in qla83xx_idc_lock()
4391 qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, in qla83xx_idc_lock()
4393 ql_dbg(ql_dbg_p3p, base_vha, 0xb063, in qla83xx_idc_lock()
4398 if (qla83xx_idc_lock_recovery(base_vha) in qla83xx_idc_lock()
4403 ql_log(ql_log_warn, base_vha, 0xb075, in qla83xx_idc_lock()
4413 if (qla83xx_access_control(base_vha, options, 0, 0, NULL)) { in qla83xx_idc_lock()
4414 ql_dbg(ql_dbg_p3p, base_vha, 0xb072, in qla83xx_idc_lock()
4417 if (qla83xx_idc_lock_recovery(base_vha) == QLA_SUCCESS) { in qla83xx_idc_lock()
4421 ql_log(ql_log_warn, base_vha, 0xb076, in qla83xx_idc_lock()
4429 qla83xx_idc_unlock(scsi_qla_host_t *base_vha, uint16_t requester_id) in qla83xx_idc_unlock() argument
4436 struct qla_hw_data *ha = base_vha->hw; in qla83xx_idc_unlock()
4443 if (qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, &data) in qla83xx_idc_unlock()
4446 qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_UNLOCK, &data); in qla83xx_idc_unlock()
4448 qla83xx_wr_reg(base_vha, QLA83XX_DRIVER_LOCKID, 0xff); in qla83xx_idc_unlock()
4455 ql_dbg(ql_dbg_p3p, base_vha, 0xb064, in qla83xx_idc_unlock()
4463 ql_dbg(ql_dbg_p3p, base_vha, 0xb065, in qla83xx_idc_unlock()
4474 if (qla83xx_access_control(base_vha, options, 0, 0, NULL)) { in qla83xx_idc_unlock()
4479 ql_dbg(ql_dbg_p3p, base_vha, 0xb066, in qla83xx_idc_unlock()
4621 qla83xx_idc_state_handler(scsi_qla_host_t *base_vha) in qla83xx_idc_state_handler() argument
4623 struct qla_hw_data *ha = base_vha->hw; in qla83xx_idc_state_handler()
4634 ql_log(ql_log_warn, base_vha, 0xb06e, in qla83xx_idc_state_handler()
4639 qla83xx_wr_reg(base_vha, QLA83XX_IDC_DEV_STATE, in qla83xx_idc_state_handler()
4641 ql_log(ql_log_info, base_vha, 0xb06f, in qla83xx_idc_state_handler()
4645 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_idc_state_handler()
4649 qla83xx_idc_audit(base_vha, in qla83xx_idc_state_handler()
4652 ql_dbg(ql_dbg_p3p, base_vha, 0xb070, in qla83xx_idc_state_handler()
4658 rval = qla83xx_device_bootstrap(base_vha); in qla83xx_idc_state_handler()
4661 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4663 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4668 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4670 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4674 qla83xx_need_reset_handler(base_vha); in qla83xx_idc_state_handler()
4677 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4679 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4687 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4689 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4696 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4698 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4704 qla83xx_idc_audit(base_vha, in qla83xx_idc_state_handler()
4707 __qla83xx_clear_drv_presence(base_vha); in qla83xx_idc_state_handler()
4708 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4709 qla8xxx_dev_failed_handler(base_vha); in qla83xx_idc_state_handler()
4711 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4714 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4716 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4719 ql_log(ql_log_warn, base_vha, 0xb071, in qla83xx_idc_state_handler()
4721 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4722 qla8xxx_dev_failed_handler(base_vha); in qla83xx_idc_state_handler()
4724 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4739 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2x00_disable_board_on_pci_error() local
4741 ql_log(ql_log_warn, base_vha, 0x015b, in qla2x00_disable_board_on_pci_error()
4744 set_bit(UNLOADING, &base_vha->dpc_flags); in qla2x00_disable_board_on_pci_error()
4746 qla2x00_delete_all_vps(ha, base_vha); in qla2x00_disable_board_on_pci_error()
4748 qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16); in qla2x00_disable_board_on_pci_error()
4750 qla2x00_dfs_remove(base_vha); in qla2x00_disable_board_on_pci_error()
4752 qla84xx_put_chip(base_vha); in qla2x00_disable_board_on_pci_error()
4754 if (base_vha->timer_active) in qla2x00_disable_board_on_pci_error()
4755 qla2x00_stop_timer(base_vha); in qla2x00_disable_board_on_pci_error()
4757 base_vha->flags.online = 0; in qla2x00_disable_board_on_pci_error()
4765 qla2x00_free_sysfs_attr(base_vha, false); in qla2x00_disable_board_on_pci_error()
4767 fc_remove_host(base_vha->host); in qla2x00_disable_board_on_pci_error()
4769 scsi_remove_host(base_vha->host); in qla2x00_disable_board_on_pci_error()
4771 base_vha->flags.init_done = 0; in qla2x00_disable_board_on_pci_error()
4772 qla25xx_delete_queues(base_vha); in qla2x00_disable_board_on_pci_error()
4773 qla2x00_free_irqs(base_vha); in qla2x00_disable_board_on_pci_error()
4774 qla2x00_free_fcports(base_vha); in qla2x00_disable_board_on_pci_error()
4776 qla82xx_md_free(base_vha); in qla2x00_disable_board_on_pci_error()
4806 scsi_qla_host_t *base_vha; in qla2x00_do_dpc() local
4810 base_vha = pci_get_drvdata(ha->pdev); in qla2x00_do_dpc()
4816 ql_dbg(ql_dbg_dpc, base_vha, 0x4000, in qla2x00_do_dpc()
4821 if (!base_vha->flags.init_done || ha->flags.mbox_busy) in qla2x00_do_dpc()
4825 ql_dbg(ql_dbg_dpc, base_vha, 0x4003, in qla2x00_do_dpc()
4832 ql_dbg(ql_dbg_dpc + ql_dbg_verbose, base_vha, 0x4001, in qla2x00_do_dpc()
4834 base_vha->dpc_flags); in qla2x00_do_dpc()
4836 qla2x00_do_work(base_vha); in qla2x00_do_dpc()
4841 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4843 qla8044_wr_direct(base_vha, in qla2x00_do_dpc()
4847 ql_log(ql_log_info, base_vha, 0x4004, in qla2x00_do_dpc()
4849 qla8044_device_state_handler(base_vha); in qla2x00_do_dpc()
4855 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4860 ql_log(ql_log_info, base_vha, 0x0151, in qla2x00_do_dpc()
4862 qla82xx_device_state_handler(base_vha); in qla2x00_do_dpc()
4868 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4870 ql_dbg(ql_dbg_dpc, base_vha, 0x4005, in qla2x00_do_dpc()
4873 &base_vha->dpc_flags))) { in qla2x00_do_dpc()
4874 if (qla82xx_fcoe_ctx_reset(base_vha)) { in qla2x00_do_dpc()
4879 &base_vha->dpc_flags); in qla2x00_do_dpc()
4882 &base_vha->dpc_flags); in qla2x00_do_dpc()
4885 ql_dbg(ql_dbg_dpc, base_vha, 0x4006, in qla2x00_do_dpc()
4890 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4891 ql_dbg(ql_dbg_dpc, base_vha, 0x4020, in qla2x00_do_dpc()
4893 if (qlafx00_reset_initialize(base_vha)) { in qla2x00_do_dpc()
4896 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4898 &base_vha->dpc_flags); in qla2x00_do_dpc()
4899 ql_dbg(ql_dbg_dpc, base_vha, in qla2x00_do_dpc()
4907 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4908 ql_dbg(ql_dbg_dpc, base_vha, 0x4022, in qla2x00_do_dpc()
4910 if (qlafx00_rescan_isp(base_vha)) { in qla2x00_do_dpc()
4912 &base_vha->dpc_flags)) in qla2x00_do_dpc()
4914 &base_vha->dpc_flags); in qla2x00_do_dpc()
4915 ql_dbg(ql_dbg_dpc, base_vha, 0x401e, in qla2x00_do_dpc()
4918 ql_dbg(ql_dbg_dpc, base_vha, 0x401f, in qla2x00_do_dpc()
4922 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4923 ql_dbg(ql_dbg_dpc, base_vha, 0x4023, in qla2x00_do_dpc()
4925 qlafx00_fx_disc(base_vha, in qla2x00_do_dpc()
4926 &base_vha->hw->mr.fcport, in qla2x00_do_dpc()
4932 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4934 ql_dbg(ql_dbg_dpc, base_vha, 0x4007, in qla2x00_do_dpc()
4937 &base_vha->dpc_flags))) { in qla2x00_do_dpc()
4939 if (ha->isp_ops->abort_isp(base_vha)) { in qla2x00_do_dpc()
4942 &base_vha->dpc_flags); in qla2x00_do_dpc()
4945 &base_vha->dpc_flags); in qla2x00_do_dpc()
4948 ql_dbg(ql_dbg_dpc, base_vha, 0x4008, in qla2x00_do_dpc()
4953 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4954 qla2x00_update_fcports(base_vha); in qla2x00_do_dpc()
4957 if (test_bit(SCR_PENDING, &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4959 ret = qla2x00_send_change_request(base_vha, 0x3, 0); in qla2x00_do_dpc()
4961 ql_log(ql_log_warn, base_vha, 0x121, in qla2x00_do_dpc()
4964 clear_bit(SCR_PENDING, &base_vha->dpc_flags); in qla2x00_do_dpc()
4970 if (test_bit(ISP_QUIESCE_NEEDED, &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4971 ql_dbg(ql_dbg_dpc, base_vha, 0x4009, in qla2x00_do_dpc()
4975 qla82xx_device_state_handler(base_vha); in qla2x00_do_dpc()
4977 qla8044_device_state_handler(base_vha); in qla2x00_do_dpc()
4979 &base_vha->dpc_flags); in qla2x00_do_dpc()
4981 qla2x00_perform_loop_resync(base_vha); in qla2x00_do_dpc()
4985 base_vha); in qla2x00_do_dpc()
4990 base_vha); in qla2x00_do_dpc()
4996 &base_vha->dpc_flags); in qla2x00_do_dpc()
4997 qla2x00_quiesce_io(base_vha); in qla2x00_do_dpc()
4999 ql_dbg(ql_dbg_dpc, base_vha, 0x400a, in qla2x00_do_dpc()
5004 &base_vha->dpc_flags) && in qla2x00_do_dpc()
5005 (!(test_and_set_bit(RESET_ACTIVE, &base_vha->dpc_flags)))) { in qla2x00_do_dpc()
5007 ql_dbg(ql_dbg_dpc, base_vha, 0x400b, in qla2x00_do_dpc()
5009 qla2x00_rst_aen(base_vha); in qla2x00_do_dpc()
5010 clear_bit(RESET_ACTIVE, &base_vha->dpc_flags); in qla2x00_do_dpc()
5011 ql_dbg(ql_dbg_dpc, base_vha, 0x400c, in qla2x00_do_dpc()
5017 &base_vha->dpc_flags)) && in qla2x00_do_dpc()
5018 !test_bit(LOOP_RESYNC_NEEDED, &base_vha->dpc_flags) && in qla2x00_do_dpc()
5019 atomic_read(&base_vha->loop_state) != LOOP_DOWN) { in qla2x00_do_dpc()
5021 ql_dbg(ql_dbg_dpc, base_vha, 0x400d, in qla2x00_do_dpc()
5023 qla2x00_relogin(base_vha); in qla2x00_do_dpc()
5024 ql_dbg(ql_dbg_dpc, base_vha, 0x400e, in qla2x00_do_dpc()
5029 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
5031 ql_dbg(ql_dbg_dpc, base_vha, 0x400f, in qla2x00_do_dpc()
5035 &base_vha->dpc_flags))) { in qla2x00_do_dpc()
5037 qla2x00_loop_resync(base_vha); in qla2x00_do_dpc()
5040 &base_vha->dpc_flags); in qla2x00_do_dpc()
5043 ql_dbg(ql_dbg_dpc, base_vha, 0x4010, in qla2x00_do_dpc()
5050 if (test_bit(NPIV_CONFIG_NEEDED, &base_vha->dpc_flags) && in qla2x00_do_dpc()
5051 atomic_read(&base_vha->loop_state) == LOOP_READY) { in qla2x00_do_dpc()
5052 clear_bit(NPIV_CONFIG_NEEDED, &base_vha->dpc_flags); in qla2x00_do_dpc()
5053 qla2xxx_flash_npiv_conf(base_vha); in qla2x00_do_dpc()
5061 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
5063 ha->isp_ops->beacon_blink(base_vha); in qla2x00_do_dpc()
5067 qla2x00_do_dpc_all_vps(base_vha); in qla2x00_do_dpc()
5075 ql_dbg(ql_dbg_dpc, base_vha, 0x4011, in qla2x00_do_dpc()
5084 qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16); in qla2x00_do_dpc()
5436 scsi_qla_host_t *base_vha = pci_get_drvdata(pdev); in qla2xxx_pci_mmio_enabled() local
5437 struct qla_hw_data *ha = base_vha->hw; in qla2xxx_pci_mmio_enabled()
5461 ql_log(ql_log_info, base_vha, 0x9003, in qla2xxx_pci_mmio_enabled()
5463 ha->isp_ops->fw_dump(base_vha, 0); in qla2xxx_pci_mmio_enabled()
5471 qla82xx_error_recovery(scsi_qla_host_t *base_vha) in qla82xx_error_recovery() argument
5475 struct qla_hw_data *ha = base_vha->hw; in qla82xx_error_recovery()
5479 ql_dbg(ql_dbg_aer, base_vha, 0x9006, in qla82xx_error_recovery()
5482 set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla82xx_error_recovery()
5484 if (base_vha->flags.online) { in qla82xx_error_recovery()
5487 qla2x00_abort_isp_cleanup(base_vha); in qla82xx_error_recovery()
5494 ql_dbg(ql_dbg_aer, base_vha, 0x9007, in qla82xx_error_recovery()
5504 ql_dbg(ql_dbg_aer, base_vha, 0x9008, in qla82xx_error_recovery()
5515 ql_dbg(ql_dbg_aer, base_vha, 0x9009, in qla82xx_error_recovery()
5527 ql_dbg(ql_dbg_aer, base_vha, 0x900a, in qla82xx_error_recovery()
5535 rval = qla82xx_start_firmware(base_vha); in qla82xx_error_recovery()
5541 ql_log(ql_log_info, base_vha, 0x900b, in qla82xx_error_recovery()
5547 ql_log(ql_log_info, base_vha, 0x900c, in qla82xx_error_recovery()
5553 rval = qla82xx_restart_isp(base_vha); in qla82xx_error_recovery()
5557 qla82xx_set_drv_active(base_vha); in qla82xx_error_recovery()
5561 ql_dbg(ql_dbg_aer, base_vha, 0x900d, in qla82xx_error_recovery()
5567 rval = qla82xx_restart_isp(base_vha); in qla82xx_error_recovery()
5569 qla82xx_set_drv_active(base_vha); in qla82xx_error_recovery()
5573 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla82xx_error_recovery()
5582 scsi_qla_host_t *base_vha = pci_get_drvdata(pdev); in qla2xxx_pci_slot_reset() local
5583 struct qla_hw_data *ha = base_vha->hw; in qla2xxx_pci_slot_reset()
5587 ql_dbg(ql_dbg_aer, base_vha, 0x9004, in qla2xxx_pci_slot_reset()
5609 ql_log(ql_log_warn, base_vha, 0x9005, in qla2xxx_pci_slot_reset()
5618 if (ha->isp_ops->pci_config(base_vha)) in qla2xxx_pci_slot_reset()
5622 if (qla82xx_error_recovery(base_vha) == QLA_SUCCESS) { in qla2xxx_pci_slot_reset()
5632 set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_pci_slot_reset()
5633 if (ha->isp_ops->abort_isp(base_vha) == QLA_SUCCESS) in qla2xxx_pci_slot_reset()
5635 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_pci_slot_reset()
5639 ql_dbg(ql_dbg_aer, base_vha, 0x900e, in qla2xxx_pci_slot_reset()
5648 scsi_qla_host_t *base_vha = pci_get_drvdata(pdev); in qla2xxx_pci_resume() local
5649 struct qla_hw_data *ha = base_vha->hw; in qla2xxx_pci_resume()
5652 ql_dbg(ql_dbg_aer, base_vha, 0x900f, in qla2xxx_pci_resume()
5655 ret = qla2x00_wait_for_hba_online(base_vha); in qla2xxx_pci_resume()
5657 ql_log(ql_log_fatal, base_vha, 0x9002, in qla2xxx_pci_resume()