Lines Matching refs:base_vha

685 	struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev);  in qla2xxx_queuecommand()  local
728 atomic_read(&base_vha->loop_state) == LOOP_DEAD) { in qla2xxx_queuecommand()
732 atomic_read(&base_vha->loop_state)); in qla2xxx_queuecommand()
845 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2x00_wait_for_hba_online() local
848 while (((test_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags)) || in qla2x00_wait_for_hba_online()
849 test_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags) || in qla2x00_wait_for_hba_online()
850 test_bit(ISP_ABORT_RETRY, &base_vha->dpc_flags) || in qla2x00_wait_for_hba_online()
855 if (base_vha->flags.online) in qla2x00_wait_for_hba_online()
893 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2x00_wait_for_chip_reset() local
896 while (((test_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags)) || in qla2x00_wait_for_chip_reset()
897 test_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags) || in qla2x00_wait_for_chip_reset()
898 test_bit(ISP_ABORT_RETRY, &base_vha->dpc_flags) || in qla2x00_wait_for_chip_reset()
903 if (!test_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags) && in qla2x00_wait_for_chip_reset()
1246 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2xxx_eh_host_reset() local
1261 if (vha != base_vha) { in qla2xxx_eh_host_reset()
1276 set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
1277 if (ha->isp_ops->abort_isp(base_vha)) { in qla2xxx_eh_host_reset()
1278 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
1280 set_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
1288 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_eh_host_reset()
2281 scsi_qla_host_t *base_vha = NULL; in qla2x00_probe_one() local
2574 base_vha = qla2x00_create_host(sht, ha); in qla2x00_probe_one()
2575 if (!base_vha) { in qla2x00_probe_one()
2583 pci_set_drvdata(pdev, base_vha); in qla2x00_probe_one()
2584 set_bit(PFLG_DRIVER_PROBING, &base_vha->pci_flags); in qla2x00_probe_one()
2586 host = base_vha->host; in qla2x00_probe_one()
2587 base_vha->req = req; in qla2x00_probe_one()
2589 base_vha->mgmt_svr_loop_id = 10 + base_vha->vp_idx; in qla2x00_probe_one()
2591 base_vha->mgmt_svr_loop_id = MANAGEMENT_SERVER + in qla2x00_probe_one()
2592 base_vha->vp_idx; in qla2x00_probe_one()
2595 ha->mr.fcport.vha = base_vha; in qla2x00_probe_one()
2627 ql_dbg(ql_dbg_init, base_vha, 0x0033, in qla2x00_probe_one()
2638 ql_log(ql_log_fatal, base_vha, 0x003d, in qla2x00_probe_one()
2644 qlt_probe_one_stage1(base_vha, ha); in qla2x00_probe_one()
2689 ql_dbg(ql_dbg_multiq, base_vha, 0xc009, in qla2x00_probe_one()
2692 ql_dbg(ql_dbg_multiq, base_vha, 0xc00a, in qla2x00_probe_one()
2697 ql_dbg(ql_dbg_init, base_vha, 0x003e, in qla2x00_probe_one()
2700 ql_dbg(ql_dbg_init, base_vha, 0x003f, in qla2x00_probe_one()
2704 if (ha->isp_ops->initialize_adapter(base_vha)) { in qla2x00_probe_one()
2705 ql_log(ql_log_fatal, base_vha, 0x00d6, in qla2x00_probe_one()
2707 base_vha->device_flags); in qla2x00_probe_one()
2714 ql_log(ql_log_fatal, base_vha, 0x00d7, in qla2x00_probe_one()
2718 qla8044_wr_direct(base_vha, in qla2x00_probe_one()
2722 ql_log(ql_log_fatal, base_vha, 0x0150, in qla2x00_probe_one()
2735 ql_dbg(ql_dbg_init, base_vha, 0x0032, in qla2x00_probe_one()
2737 host->can_queue, base_vha->req, in qla2x00_probe_one()
2738 base_vha->mgmt_svr_loop_id, host->sg_tablesize); in qla2x00_probe_one()
2741 if (qla25xx_setup_mode(base_vha)) { in qla2x00_probe_one()
2742 ql_log(ql_log_warn, base_vha, 0x00ec, in qla2x00_probe_one()
2755 "%s_dpc", base_vha->host_str); in qla2x00_probe_one()
2757 ql_log(ql_log_fatal, base_vha, 0x00ed, in qla2x00_probe_one()
2762 ql_dbg(ql_dbg_init, base_vha, 0x00ee, in qla2x00_probe_one()
2771 qla2xxx_wake_dpc(base_vha); in qla2x00_probe_one()
2776 sprintf(wq_name, "qla2xxx_%lu_dpc_lp_wq", base_vha->host_no); in qla2x00_probe_one()
2780 sprintf(wq_name, "qla2xxx_%lu_dpc_hp_wq", base_vha->host_no); in qla2x00_probe_one()
2790 list_add_tail(&base_vha->list, &ha->vp_list); in qla2x00_probe_one()
2791 base_vha->host->irq = ha->pdev->irq; in qla2x00_probe_one()
2794 qla2x00_start_timer(base_vha, qla2x00_timer, WATCH_INTERVAL); in qla2x00_probe_one()
2795 ql_dbg(ql_dbg_init, base_vha, 0x00ef, in qla2x00_probe_one()
2798 ql_dbg(ql_dbg_init, base_vha, 0x00f0, in qla2x00_probe_one()
2805 base_vha->flags.difdix_supported = 1; in qla2x00_probe_one()
2806 ql_dbg(ql_dbg_init, base_vha, 0x00f1, in qla2x00_probe_one()
2826 base_vha->flags.difdix_supported = 0; in qla2x00_probe_one()
2832 ret = qlafx00_fx_disc(base_vha, in qla2x00_probe_one()
2833 &base_vha->hw->mr.fcport, FXDISC_GET_CONFIG_INFO); in qla2x00_probe_one()
2842 base_vha->flags.init_done = 1; in qla2x00_probe_one()
2843 base_vha->flags.online = 1; in qla2x00_probe_one()
2846 ql_dbg(ql_dbg_init, base_vha, 0x00f2, in qla2x00_probe_one()
2849 if (qla_ini_mode_enabled(base_vha)) in qla2x00_probe_one()
2852 ql_dbg(ql_dbg_init, base_vha, 0x0122, in qla2x00_probe_one()
2855 qla2x00_alloc_sysfs_attr(base_vha); in qla2x00_probe_one()
2858 ret = qlafx00_fx_disc(base_vha, in qla2x00_probe_one()
2859 &base_vha->hw->mr.fcport, FXDISC_GET_PORT_INFO); in qla2x00_probe_one()
2862 ret = qlafx00_fx_disc(base_vha, in qla2x00_probe_one()
2863 &base_vha->hw->mr.fcport, FXDISC_REG_HOST_INFO); in qla2x00_probe_one()
2866 qla2x00_init_host_attr(base_vha); in qla2x00_probe_one()
2868 qla2x00_dfs_setup(base_vha); in qla2x00_probe_one()
2870 ql_log(ql_log_info, base_vha, 0x00fb, in qla2x00_probe_one()
2872 ql_log(ql_log_info, base_vha, 0x00fc, in qla2x00_probe_one()
2874 pdev->device, ha->isp_ops->pci_info_str(base_vha, pci_info), in qla2x00_probe_one()
2876 base_vha->host_no, in qla2x00_probe_one()
2877 ha->isp_ops->fw_version_str(base_vha, fw_str, sizeof(fw_str))); in qla2x00_probe_one()
2879 qlt_add_target(ha, base_vha); in qla2x00_probe_one()
2881 clear_bit(PFLG_DRIVER_PROBING, &base_vha->pci_flags); in qla2x00_probe_one()
2894 if (base_vha->timer_active) in qla2x00_probe_one()
2895 qla2x00_stop_timer(base_vha); in qla2x00_probe_one()
2896 base_vha->flags.online = 0; in qla2x00_probe_one()
2904 qla2x00_free_device(base_vha); in qla2x00_probe_one()
2906 scsi_host_put(base_vha->host); in qla2x00_probe_one()
2980 qla2x00_delete_all_vps(struct qla_hw_data *ha, scsi_qla_host_t *base_vha) in qla2x00_delete_all_vps() argument
2990 BUG_ON(base_vha->list.next == &ha->vp_list); in qla2x00_delete_all_vps()
2992 vha = list_first_entry(&base_vha->list, scsi_qla_host_t, list); in qla2x00_delete_all_vps()
3085 scsi_qla_host_t *base_vha; in qla2x00_remove_one() local
3088 base_vha = pci_get_drvdata(pdev); in qla2x00_remove_one()
3089 ha = base_vha->hw; in qla2x00_remove_one()
3093 set_bit(PFLG_DRIVER_REMOVING, &base_vha->pci_flags); in qla2x00_remove_one()
3102 scsi_host_put(base_vha->host); in qla2x00_remove_one()
3108 qla2x00_wait_for_hba_ready(base_vha); in qla2x00_remove_one()
3110 set_bit(UNLOADING, &base_vha->dpc_flags); in qla2x00_remove_one()
3113 qlafx00_driver_shutdown(base_vha, 20); in qla2x00_remove_one()
3115 qla2x00_delete_all_vps(ha, base_vha); in qla2x00_remove_one()
3118 ql_dbg(ql_dbg_p3p, base_vha, 0xb07e, in qla2x00_remove_one()
3120 if (qla83xx_clear_drv_presence(base_vha) != QLA_SUCCESS) in qla2x00_remove_one()
3121 ql_dbg(ql_dbg_p3p, base_vha, 0xb079, in qla2x00_remove_one()
3125 qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16); in qla2x00_remove_one()
3127 qla2x00_dfs_remove(base_vha); in qla2x00_remove_one()
3129 qla84xx_put_chip(base_vha); in qla2x00_remove_one()
3133 qla83xx_disable_laser(base_vha); in qla2x00_remove_one()
3136 if (base_vha->timer_active) in qla2x00_remove_one()
3137 qla2x00_stop_timer(base_vha); in qla2x00_remove_one()
3139 base_vha->flags.online = 0; in qla2x00_remove_one()
3143 qlt_remove_target(ha, base_vha); in qla2x00_remove_one()
3145 qla2x00_free_sysfs_attr(base_vha, true); in qla2x00_remove_one()
3147 fc_remove_host(base_vha->host); in qla2x00_remove_one()
3149 scsi_remove_host(base_vha->host); in qla2x00_remove_one()
3151 qla2x00_free_device(base_vha); in qla2x00_remove_one()
3155 scsi_host_put(base_vha->host); in qla2x00_remove_one()
3226 scsi_qla_host_t *base_vha; in qla2x00_schedule_rport_del() local
3234 base_vha = pci_get_drvdata(vha->hw->pdev); in qla2x00_schedule_rport_del()
3238 qlt_do_generation_tick(vha, &base_vha->total_fcport_update_gen); in qla2x00_schedule_rport_del()
3239 set_bit(FCPORT_UPDATE_NEEDED, &base_vha->dpc_flags); in qla2x00_schedule_rport_del()
3240 qla2xxx_wake_dpc(base_vha); in qla2x00_schedule_rport_del()
4088 qla83xx_schedule_work(scsi_qla_host_t *base_vha, int work_code) in qla83xx_schedule_work() argument
4090 struct qla_hw_data *ha = base_vha->hw; in qla83xx_schedule_work()
4103 ql_dbg(ql_dbg_p3p, base_vha, 0xb05e, in qla83xx_schedule_work()
4116 ql_log(ql_log_warn, base_vha, 0xb05f, in qla83xx_schedule_work()
4129 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_nic_core_unrecoverable_work() local
4132 qla83xx_idc_lock(base_vha, 0); in qla83xx_nic_core_unrecoverable_work()
4133 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_nic_core_unrecoverable_work()
4134 qla83xx_reset_ownership(base_vha); in qla83xx_nic_core_unrecoverable_work()
4137 qla83xx_wr_reg(base_vha, QLA83XX_IDC_DEV_STATE, in qla83xx_nic_core_unrecoverable_work()
4139 ql_log(ql_log_info, base_vha, 0xb060, "HW State: FAILED.\n"); in qla83xx_nic_core_unrecoverable_work()
4140 qla83xx_schedule_work(base_vha, QLA83XX_IDC_STATE_HANDLER); in qla83xx_nic_core_unrecoverable_work()
4142 qla83xx_idc_unlock(base_vha, 0); in qla83xx_nic_core_unrecoverable_work()
4151 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_idc_state_handler_work() local
4154 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler_work()
4155 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_idc_state_handler_work()
4158 qla83xx_idc_state_handler(base_vha); in qla83xx_idc_state_handler_work()
4159 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler_work()
4163 qla83xx_check_nic_core_fw_alive(scsi_qla_host_t *base_vha) in qla83xx_check_nic_core_fw_alive() argument
4171 ql_dbg(ql_dbg_p3p, base_vha, 0xb07c, in qla83xx_check_nic_core_fw_alive()
4177 qla83xx_idc_lock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4178 qla83xx_rd_reg(base_vha, QLA83XX_FW_HEARTBEAT, in qla83xx_check_nic_core_fw_alive()
4180 qla83xx_idc_unlock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4182 qla83xx_idc_lock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4183 qla83xx_rd_reg(base_vha, QLA83XX_FW_HEARTBEAT, in qla83xx_check_nic_core_fw_alive()
4185 qla83xx_idc_unlock(base_vha, 0); in qla83xx_check_nic_core_fw_alive()
4197 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_nic_core_reset_work() local
4201 if (qla2xxx_mctp_dump(base_vha) != QLA_SUCCESS) in qla83xx_nic_core_reset_work()
4202 ql_log(ql_log_warn, base_vha, 0xb081, in qla83xx_nic_core_reset_work()
4208 if (qla83xx_check_nic_core_fw_alive(base_vha) == QLA_SUCCESS) { in qla83xx_nic_core_reset_work()
4209 qla83xx_idc_lock(base_vha, 0); in qla83xx_nic_core_reset_work()
4210 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, in qla83xx_nic_core_reset_work()
4212 qla83xx_idc_unlock(base_vha, 0); in qla83xx_nic_core_reset_work()
4214 ql_dbg(ql_dbg_p3p, base_vha, 0xb07a, in qla83xx_nic_core_reset_work()
4221 if (qla83xx_nic_core_reset(base_vha)) { in qla83xx_nic_core_reset_work()
4223 ql_dbg(ql_dbg_p3p, base_vha, 0xb061, in qla83xx_nic_core_reset_work()
4236 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla83xx_service_idc_aen() local
4239 qla83xx_idc_lock(base_vha, 0); in qla83xx_service_idc_aen()
4240 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_service_idc_aen()
4241 qla83xx_rd_reg(base_vha, QLA83XX_IDC_CONTROL, &idc_control); in qla83xx_service_idc_aen()
4242 qla83xx_idc_unlock(base_vha, 0); in qla83xx_service_idc_aen()
4245 ql_dbg(ql_dbg_p3p, base_vha, 0xb062, in qla83xx_service_idc_aen()
4247 qla83xx_schedule_work(base_vha, QLA83XX_NIC_CORE_RESET); in qla83xx_service_idc_aen()
4248 } else if (qla83xx_check_nic_core_fw_alive(base_vha) == in qla83xx_service_idc_aen()
4250 ql_dbg(ql_dbg_p3p, base_vha, 0xb07b, in qla83xx_service_idc_aen()
4252 qla83xx_schedule_work(base_vha, QLA83XX_NIC_CORE_RESET); in qla83xx_service_idc_aen()
4256 qla83xx_schedule_work(base_vha, QLA83XX_IDC_STATE_HANDLER); in qla83xx_service_idc_aen()
4281 qla83xx_force_lock_recovery(scsi_qla_host_t *base_vha) in qla83xx_force_lock_recovery() argument
4287 struct qla_hw_data *ha = base_vha->hw; in qla83xx_force_lock_recovery()
4288 ql_dbg(ql_dbg_p3p, base_vha, 0xb086, in qla83xx_force_lock_recovery()
4291 rval = qla83xx_rd_reg(base_vha, QLA83XX_IDC_LOCK_RECOVERY, &data); in qla83xx_force_lock_recovery()
4299 rval = qla83xx_wr_reg(base_vha, QLA83XX_IDC_LOCK_RECOVERY, in qla83xx_force_lock_recovery()
4306 rval = qla83xx_rd_reg(base_vha, QLA83XX_IDC_LOCK_RECOVERY, in qla83xx_force_lock_recovery()
4314 rval = qla83xx_wr_reg(base_vha, in qla83xx_force_lock_recovery()
4320 rval = qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_UNLOCK, in qla83xx_force_lock_recovery()
4325 rval = qla83xx_wr_reg(base_vha, QLA83XX_DRIVER_LOCKID, in qla83xx_force_lock_recovery()
4330 rval = qla83xx_wr_reg(base_vha, in qla83xx_force_lock_recovery()
4342 qla83xx_idc_lock_recovery(scsi_qla_host_t *base_vha) in qla83xx_idc_lock_recovery() argument
4350 rval = qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, &o_drv_lockid); in qla83xx_idc_lock_recovery()
4356 if (qla83xx_force_lock_recovery(base_vha) == QLA_SUCCESS) in qla83xx_idc_lock_recovery()
4362 rval = qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, &n_drv_lockid); in qla83xx_idc_lock_recovery()
4377 qla83xx_idc_lock(scsi_qla_host_t *base_vha, uint16_t requester_id) in qla83xx_idc_lock() argument
4382 struct qla_hw_data *ha = base_vha->hw; in qla83xx_idc_lock()
4386 if (qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCK, &data) in qla83xx_idc_lock()
4390 qla83xx_wr_reg(base_vha, QLA83XX_DRIVER_LOCKID, in qla83xx_idc_lock()
4393 qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, in qla83xx_idc_lock()
4395 ql_dbg(ql_dbg_p3p, base_vha, 0xb063, in qla83xx_idc_lock()
4400 if (qla83xx_idc_lock_recovery(base_vha) in qla83xx_idc_lock()
4405 ql_log(ql_log_warn, base_vha, 0xb075, in qla83xx_idc_lock()
4415 if (qla83xx_access_control(base_vha, options, 0, 0, NULL)) { in qla83xx_idc_lock()
4416 ql_dbg(ql_dbg_p3p, base_vha, 0xb072, in qla83xx_idc_lock()
4419 if (qla83xx_idc_lock_recovery(base_vha) == QLA_SUCCESS) { in qla83xx_idc_lock()
4423 ql_log(ql_log_warn, base_vha, 0xb076, in qla83xx_idc_lock()
4431 qla83xx_idc_unlock(scsi_qla_host_t *base_vha, uint16_t requester_id) in qla83xx_idc_unlock() argument
4435 struct qla_hw_data *ha = base_vha->hw; in qla83xx_idc_unlock()
4442 if (qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_LOCKID, &data) in qla83xx_idc_unlock()
4445 qla83xx_rd_reg(base_vha, QLA83XX_DRIVER_UNLOCK, &data); in qla83xx_idc_unlock()
4447 qla83xx_wr_reg(base_vha, QLA83XX_DRIVER_LOCKID, 0xff); in qla83xx_idc_unlock()
4454 ql_dbg(ql_dbg_p3p, base_vha, 0xb064, in qla83xx_idc_unlock()
4462 ql_dbg(ql_dbg_p3p, base_vha, 0xb065, in qla83xx_idc_unlock()
4472 if (qla83xx_access_control(base_vha, options, 0, 0, NULL)) { in qla83xx_idc_unlock()
4477 ql_dbg(ql_dbg_p3p, base_vha, 0xb066, in qla83xx_idc_unlock()
4618 qla83xx_idc_state_handler(scsi_qla_host_t *base_vha) in qla83xx_idc_state_handler() argument
4620 struct qla_hw_data *ha = base_vha->hw; in qla83xx_idc_state_handler()
4631 ql_log(ql_log_warn, base_vha, 0xb06e, in qla83xx_idc_state_handler()
4636 qla83xx_wr_reg(base_vha, QLA83XX_IDC_DEV_STATE, in qla83xx_idc_state_handler()
4638 ql_log(ql_log_info, base_vha, 0xb06f, in qla83xx_idc_state_handler()
4642 qla83xx_rd_reg(base_vha, QLA83XX_IDC_DEV_STATE, &dev_state); in qla83xx_idc_state_handler()
4646 qla83xx_idc_audit(base_vha, in qla83xx_idc_state_handler()
4649 ql_dbg(ql_dbg_p3p, base_vha, 0xb070, in qla83xx_idc_state_handler()
4655 rval = qla83xx_device_bootstrap(base_vha); in qla83xx_idc_state_handler()
4658 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4660 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4665 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4667 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4671 qla83xx_need_reset_handler(base_vha); in qla83xx_idc_state_handler()
4674 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4676 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4684 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4686 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4693 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4695 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4701 qla83xx_idc_audit(base_vha, in qla83xx_idc_state_handler()
4704 __qla83xx_clear_drv_presence(base_vha); in qla83xx_idc_state_handler()
4705 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4706 qla8xxx_dev_failed_handler(base_vha); in qla83xx_idc_state_handler()
4708 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4711 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4713 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4716 ql_log(ql_log_warn, base_vha, 0xb071, in qla83xx_idc_state_handler()
4718 qla83xx_idc_unlock(base_vha, 0); in qla83xx_idc_state_handler()
4719 qla8xxx_dev_failed_handler(base_vha); in qla83xx_idc_state_handler()
4721 qla83xx_idc_lock(base_vha, 0); in qla83xx_idc_state_handler()
4736 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in qla2x00_disable_board_on_pci_error() local
4738 ql_log(ql_log_warn, base_vha, 0x015b, in qla2x00_disable_board_on_pci_error()
4741 set_bit(UNLOADING, &base_vha->dpc_flags); in qla2x00_disable_board_on_pci_error()
4743 qla2x00_delete_all_vps(ha, base_vha); in qla2x00_disable_board_on_pci_error()
4745 qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16); in qla2x00_disable_board_on_pci_error()
4747 qla2x00_dfs_remove(base_vha); in qla2x00_disable_board_on_pci_error()
4749 qla84xx_put_chip(base_vha); in qla2x00_disable_board_on_pci_error()
4751 if (base_vha->timer_active) in qla2x00_disable_board_on_pci_error()
4752 qla2x00_stop_timer(base_vha); in qla2x00_disable_board_on_pci_error()
4754 base_vha->flags.online = 0; in qla2x00_disable_board_on_pci_error()
4762 qla2x00_free_sysfs_attr(base_vha, false); in qla2x00_disable_board_on_pci_error()
4764 fc_remove_host(base_vha->host); in qla2x00_disable_board_on_pci_error()
4766 scsi_remove_host(base_vha->host); in qla2x00_disable_board_on_pci_error()
4768 base_vha->flags.init_done = 0; in qla2x00_disable_board_on_pci_error()
4769 qla25xx_delete_queues(base_vha); in qla2x00_disable_board_on_pci_error()
4770 qla2x00_free_irqs(base_vha); in qla2x00_disable_board_on_pci_error()
4771 qla2x00_free_fcports(base_vha); in qla2x00_disable_board_on_pci_error()
4773 qla82xx_md_free(base_vha); in qla2x00_disable_board_on_pci_error()
4804 scsi_qla_host_t *base_vha; in qla2x00_do_dpc() local
4808 base_vha = pci_get_drvdata(ha->pdev); in qla2x00_do_dpc()
4814 ql_dbg(ql_dbg_dpc, base_vha, 0x4000, in qla2x00_do_dpc()
4819 if (!base_vha->flags.init_done || ha->flags.mbox_busy) in qla2x00_do_dpc()
4823 ql_dbg(ql_dbg_dpc, base_vha, 0x4003, in qla2x00_do_dpc()
4830 ql_dbg(ql_dbg_dpc + ql_dbg_verbose, base_vha, 0x4001, in qla2x00_do_dpc()
4832 base_vha->dpc_flags); in qla2x00_do_dpc()
4834 qla2x00_do_work(base_vha); in qla2x00_do_dpc()
4839 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4841 qla8044_wr_direct(base_vha, in qla2x00_do_dpc()
4845 ql_log(ql_log_info, base_vha, 0x4004, in qla2x00_do_dpc()
4847 qla8044_device_state_handler(base_vha); in qla2x00_do_dpc()
4853 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4858 ql_log(ql_log_info, base_vha, 0x0151, in qla2x00_do_dpc()
4860 qla82xx_device_state_handler(base_vha); in qla2x00_do_dpc()
4866 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4868 ql_dbg(ql_dbg_dpc, base_vha, 0x4005, in qla2x00_do_dpc()
4871 &base_vha->dpc_flags))) { in qla2x00_do_dpc()
4872 if (qla82xx_fcoe_ctx_reset(base_vha)) { in qla2x00_do_dpc()
4877 &base_vha->dpc_flags); in qla2x00_do_dpc()
4880 &base_vha->dpc_flags); in qla2x00_do_dpc()
4883 ql_dbg(ql_dbg_dpc, base_vha, 0x4006, in qla2x00_do_dpc()
4888 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4889 ql_dbg(ql_dbg_dpc, base_vha, 0x4020, in qla2x00_do_dpc()
4891 if (qlafx00_reset_initialize(base_vha)) { in qla2x00_do_dpc()
4894 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4896 &base_vha->dpc_flags); in qla2x00_do_dpc()
4897 ql_dbg(ql_dbg_dpc, base_vha, in qla2x00_do_dpc()
4905 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4906 ql_dbg(ql_dbg_dpc, base_vha, 0x4022, in qla2x00_do_dpc()
4908 if (qlafx00_rescan_isp(base_vha)) { in qla2x00_do_dpc()
4910 &base_vha->dpc_flags)) in qla2x00_do_dpc()
4912 &base_vha->dpc_flags); in qla2x00_do_dpc()
4913 ql_dbg(ql_dbg_dpc, base_vha, 0x401e, in qla2x00_do_dpc()
4916 ql_dbg(ql_dbg_dpc, base_vha, 0x401f, in qla2x00_do_dpc()
4920 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4921 ql_dbg(ql_dbg_dpc, base_vha, 0x4023, in qla2x00_do_dpc()
4923 qlafx00_fx_disc(base_vha, in qla2x00_do_dpc()
4924 &base_vha->hw->mr.fcport, in qla2x00_do_dpc()
4930 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4932 ql_dbg(ql_dbg_dpc, base_vha, 0x4007, in qla2x00_do_dpc()
4935 &base_vha->dpc_flags))) { in qla2x00_do_dpc()
4937 if (ha->isp_ops->abort_isp(base_vha)) { in qla2x00_do_dpc()
4940 &base_vha->dpc_flags); in qla2x00_do_dpc()
4943 &base_vha->dpc_flags); in qla2x00_do_dpc()
4946 ql_dbg(ql_dbg_dpc, base_vha, 0x4008, in qla2x00_do_dpc()
4951 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4952 qla2x00_update_fcports(base_vha); in qla2x00_do_dpc()
4955 if (test_bit(SCR_PENDING, &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4957 ret = qla2x00_send_change_request(base_vha, 0x3, 0); in qla2x00_do_dpc()
4959 ql_log(ql_log_warn, base_vha, 0x121, in qla2x00_do_dpc()
4962 clear_bit(SCR_PENDING, &base_vha->dpc_flags); in qla2x00_do_dpc()
4968 if (test_bit(ISP_QUIESCE_NEEDED, &base_vha->dpc_flags)) { in qla2x00_do_dpc()
4969 ql_dbg(ql_dbg_dpc, base_vha, 0x4009, in qla2x00_do_dpc()
4973 qla82xx_device_state_handler(base_vha); in qla2x00_do_dpc()
4975 qla8044_device_state_handler(base_vha); in qla2x00_do_dpc()
4977 &base_vha->dpc_flags); in qla2x00_do_dpc()
4979 qla2x00_perform_loop_resync(base_vha); in qla2x00_do_dpc()
4983 base_vha); in qla2x00_do_dpc()
4988 base_vha); in qla2x00_do_dpc()
4994 &base_vha->dpc_flags); in qla2x00_do_dpc()
4995 qla2x00_quiesce_io(base_vha); in qla2x00_do_dpc()
4997 ql_dbg(ql_dbg_dpc, base_vha, 0x400a, in qla2x00_do_dpc()
5002 &base_vha->dpc_flags) && in qla2x00_do_dpc()
5003 (!(test_and_set_bit(RESET_ACTIVE, &base_vha->dpc_flags)))) { in qla2x00_do_dpc()
5005 ql_dbg(ql_dbg_dpc, base_vha, 0x400b, in qla2x00_do_dpc()
5007 qla2x00_rst_aen(base_vha); in qla2x00_do_dpc()
5008 clear_bit(RESET_ACTIVE, &base_vha->dpc_flags); in qla2x00_do_dpc()
5009 ql_dbg(ql_dbg_dpc, base_vha, 0x400c, in qla2x00_do_dpc()
5015 &base_vha->dpc_flags)) && in qla2x00_do_dpc()
5016 !test_bit(LOOP_RESYNC_NEEDED, &base_vha->dpc_flags) && in qla2x00_do_dpc()
5017 atomic_read(&base_vha->loop_state) != LOOP_DOWN) { in qla2x00_do_dpc()
5019 ql_dbg(ql_dbg_dpc, base_vha, 0x400d, in qla2x00_do_dpc()
5021 qla2x00_relogin(base_vha); in qla2x00_do_dpc()
5022 ql_dbg(ql_dbg_dpc, base_vha, 0x400e, in qla2x00_do_dpc()
5027 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
5029 ql_dbg(ql_dbg_dpc, base_vha, 0x400f, in qla2x00_do_dpc()
5033 &base_vha->dpc_flags))) { in qla2x00_do_dpc()
5035 rval = qla2x00_loop_resync(base_vha); in qla2x00_do_dpc()
5038 &base_vha->dpc_flags); in qla2x00_do_dpc()
5041 ql_dbg(ql_dbg_dpc, base_vha, 0x4010, in qla2x00_do_dpc()
5048 if (test_bit(NPIV_CONFIG_NEEDED, &base_vha->dpc_flags) && in qla2x00_do_dpc()
5049 atomic_read(&base_vha->loop_state) == LOOP_READY) { in qla2x00_do_dpc()
5050 clear_bit(NPIV_CONFIG_NEEDED, &base_vha->dpc_flags); in qla2x00_do_dpc()
5051 qla2xxx_flash_npiv_conf(base_vha); in qla2x00_do_dpc()
5059 &base_vha->dpc_flags)) { in qla2x00_do_dpc()
5061 ha->isp_ops->beacon_blink(base_vha); in qla2x00_do_dpc()
5065 qla2x00_do_dpc_all_vps(base_vha); in qla2x00_do_dpc()
5073 ql_dbg(ql_dbg_dpc, base_vha, 0x4011, in qla2x00_do_dpc()
5082 qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16); in qla2x00_do_dpc()
5434 scsi_qla_host_t *base_vha = pci_get_drvdata(pdev); in qla2xxx_pci_mmio_enabled() local
5435 struct qla_hw_data *ha = base_vha->hw; in qla2xxx_pci_mmio_enabled()
5459 ql_log(ql_log_info, base_vha, 0x9003, in qla2xxx_pci_mmio_enabled()
5461 ha->isp_ops->fw_dump(base_vha, 0); in qla2xxx_pci_mmio_enabled()
5469 qla82xx_error_recovery(scsi_qla_host_t *base_vha) in qla82xx_error_recovery() argument
5473 struct qla_hw_data *ha = base_vha->hw; in qla82xx_error_recovery()
5477 ql_dbg(ql_dbg_aer, base_vha, 0x9006, in qla82xx_error_recovery()
5480 set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla82xx_error_recovery()
5482 if (base_vha->flags.online) { in qla82xx_error_recovery()
5485 qla2x00_abort_isp_cleanup(base_vha); in qla82xx_error_recovery()
5492 ql_dbg(ql_dbg_aer, base_vha, 0x9007, in qla82xx_error_recovery()
5502 ql_dbg(ql_dbg_aer, base_vha, 0x9008, in qla82xx_error_recovery()
5513 ql_dbg(ql_dbg_aer, base_vha, 0x9009, in qla82xx_error_recovery()
5525 ql_dbg(ql_dbg_aer, base_vha, 0x900a, in qla82xx_error_recovery()
5533 rval = qla82xx_start_firmware(base_vha); in qla82xx_error_recovery()
5539 ql_log(ql_log_info, base_vha, 0x900b, in qla82xx_error_recovery()
5545 ql_log(ql_log_info, base_vha, 0x900c, in qla82xx_error_recovery()
5551 rval = qla82xx_restart_isp(base_vha); in qla82xx_error_recovery()
5555 qla82xx_set_drv_active(base_vha); in qla82xx_error_recovery()
5559 ql_dbg(ql_dbg_aer, base_vha, 0x900d, in qla82xx_error_recovery()
5565 rval = qla82xx_restart_isp(base_vha); in qla82xx_error_recovery()
5567 qla82xx_set_drv_active(base_vha); in qla82xx_error_recovery()
5571 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla82xx_error_recovery()
5580 scsi_qla_host_t *base_vha = pci_get_drvdata(pdev); in qla2xxx_pci_slot_reset() local
5581 struct qla_hw_data *ha = base_vha->hw; in qla2xxx_pci_slot_reset()
5585 ql_dbg(ql_dbg_aer, base_vha, 0x9004, in qla2xxx_pci_slot_reset()
5607 ql_log(ql_log_warn, base_vha, 0x9005, in qla2xxx_pci_slot_reset()
5616 if (ha->isp_ops->pci_config(base_vha)) in qla2xxx_pci_slot_reset()
5620 if (qla82xx_error_recovery(base_vha) == QLA_SUCCESS) { in qla2xxx_pci_slot_reset()
5630 set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_pci_slot_reset()
5631 if (ha->isp_ops->abort_isp(base_vha) == QLA_SUCCESS) in qla2xxx_pci_slot_reset()
5633 clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); in qla2xxx_pci_slot_reset()
5637 ql_dbg(ql_dbg_aer, base_vha, 0x900e, in qla2xxx_pci_slot_reset()
5646 scsi_qla_host_t *base_vha = pci_get_drvdata(pdev); in qla2xxx_pci_resume() local
5647 struct qla_hw_data *ha = base_vha->hw; in qla2xxx_pci_resume()
5650 ql_dbg(ql_dbg_aer, base_vha, 0x900f, in qla2xxx_pci_resume()
5653 ret = qla2x00_wait_for_hba_online(base_vha); in qla2xxx_pci_resume()
5655 ql_log(ql_log_fatal, base_vha, 0x9002, in qla2xxx_pci_resume()