Lines Matching refs:vha

34 	scsi_qla_host_t	*vha;  in qla2100_intr_handler()  local
56 vha = pci_get_drvdata(ha->pdev); in qla2100_intr_handler()
59 if (qla2x00_check_reg16_for_disconnect(vha, hccr)) in qla2100_intr_handler()
73 ha->isp_ops->fw_dump(vha, 1); in qla2100_intr_handler()
74 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2100_intr_handler()
86 qla2x00_mbx_completion(vha, mb[0]); in qla2100_intr_handler()
92 qla2x00_async_event(vha, rsp, mb); in qla2100_intr_handler()
95 ql_dbg(ql_dbg_async, vha, 0x5025, in qla2100_intr_handler()
116 qla2x00_check_reg32_for_disconnect(scsi_qla_host_t *vha, uint32_t reg) in qla2x00_check_reg32_for_disconnect() argument
119 if (reg == 0xffffffff && !pci_channel_offline(vha->hw->pdev)) { in qla2x00_check_reg32_for_disconnect()
120 if (!test_and_set_bit(PFLG_DISCONNECTED, &vha->pci_flags) && in qla2x00_check_reg32_for_disconnect()
121 !test_bit(PFLG_DRIVER_REMOVING, &vha->pci_flags) && in qla2x00_check_reg32_for_disconnect()
122 !test_bit(PFLG_DRIVER_PROBING, &vha->pci_flags)) { in qla2x00_check_reg32_for_disconnect()
128 schedule_work(&vha->hw->board_disable); in qla2x00_check_reg32_for_disconnect()
136 qla2x00_check_reg16_for_disconnect(scsi_qla_host_t *vha, uint16_t reg) in qla2x00_check_reg16_for_disconnect() argument
138 return qla2x00_check_reg32_for_disconnect(vha, 0xffff0000 | reg); in qla2x00_check_reg16_for_disconnect()
153 scsi_qla_host_t *vha; in qla2300_intr_handler() local
176 vha = pci_get_drvdata(ha->pdev); in qla2300_intr_handler()
179 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla2300_intr_handler()
188 ql_log(ql_log_warn, vha, 0x5026, in qla2300_intr_handler()
192 ql_log(ql_log_warn, vha, 0x5027, in qla2300_intr_handler()
204 ha->isp_ops->fw_dump(vha, 1); in qla2300_intr_handler()
205 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2300_intr_handler()
215 qla2x00_mbx_completion(vha, MSW(stat)); in qla2300_intr_handler()
226 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
234 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
240 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
243 ql_dbg(ql_dbg_async, vha, 0x5028, in qla2300_intr_handler()
262 qla2x00_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla2x00_mbx_completion() argument
267 struct qla_hw_data *ha = vha->hw; in qla2x00_mbx_completion()
273 ql_dbg(ql_dbg_async, vha, 0x5001, "MBX pointer ERROR.\n"); in qla2x00_mbx_completion()
297 qla81xx_idc_event(scsi_qla_host_t *vha, uint16_t aen, uint16_t descr) in qla81xx_idc_event() argument
302 struct device_reg_24xx __iomem *reg24 = &vha->hw->iobase->isp24; in qla81xx_idc_event()
303 struct device_reg_82xx __iomem *reg82 = &vha->hw->iobase->isp82; in qla81xx_idc_event()
308 if (IS_QLA81XX(vha->hw) || IS_QLA83XX(vha->hw)) in qla81xx_idc_event()
310 else if (IS_QLA8044(vha->hw)) in qla81xx_idc_event()
318 ql_dbg(ql_dbg_async, vha, 0x5021, in qla81xx_idc_event()
327 vha->hw->flags.idc_compl_status = 1; in qla81xx_idc_event()
328 if (vha->hw->notify_dcbx_comp && !vha->vp_idx) in qla81xx_idc_event()
329 complete(&vha->hw->dcbx_comp); in qla81xx_idc_event()
336 ql_dbg(ql_dbg_async, vha, 0x5022, in qla81xx_idc_event()
338 vha->host_no, event[aen & 0xff], timeout); in qla81xx_idc_event()
342 rval = qla2x00_post_idc_ack_work(vha, mb); in qla81xx_idc_event()
344 ql_log(ql_log_warn, vha, 0x5023, in qla81xx_idc_event()
348 vha->hw->idc_extend_tmo = descr; in qla81xx_idc_event()
349 ql_dbg(ql_dbg_async, vha, 0x5087, in qla81xx_idc_event()
352 vha->host_no, event[aen & 0xff], vha->hw->idc_extend_tmo); in qla81xx_idc_event()
377 qla83xx_handle_8200_aen(scsi_qla_host_t *vha, uint16_t *mb) in qla83xx_handle_8200_aen() argument
379 struct qla_hw_data *ha = vha->hw; in qla83xx_handle_8200_aen()
392 ql_dbg(ql_dbg_async, vha, 0x506b, "AEN Code: mb[0] = 0x%x AEN reason: " in qla83xx_handle_8200_aen()
395 ql_dbg(ql_dbg_async, vha, 0x506c, "PH-status2: mb[3] = 0x%x " in qla83xx_handle_8200_aen()
402 ql_log(ql_log_warn, vha, 0x5060, in qla83xx_handle_8200_aen()
425 ql_log(ql_log_warn, vha, 0x5061, "PegHalt Status-1 " in qla83xx_handle_8200_aen()
429 ql_log(ql_log_warn, vha, 0x5062, "PegHalt Status-2 " in qla83xx_handle_8200_aen()
432 ql_log(ql_log_warn, vha, 0x5063, in qla83xx_handle_8200_aen()
436 ql_log(ql_log_fatal, vha, 0x5064, in qla83xx_handle_8200_aen()
439 qla83xx_schedule_work(vha, in qla83xx_handle_8200_aen()
442 ql_log(ql_log_fatal, vha, 0x5065, in qla83xx_handle_8200_aen()
445 qla83xx_schedule_work(vha, in qla83xx_handle_8200_aen()
500 ql_log(ql_log_warn, vha, 0x5066, in qla83xx_handle_8200_aen()
507 ql_log(ql_log_warn, vha, 0x5067, in qla83xx_handle_8200_aen()
512 ql_log(ql_log_warn, vha, 0x5068, in qla83xx_handle_8200_aen()
517 qla83xx_schedule_work(vha, QLA83XX_NIC_CORE_RESET); in qla83xx_handle_8200_aen()
521 ql_log(ql_log_warn, vha, 0x5069, in qla83xx_handle_8200_aen()
525 qla83xx_schedule_work(vha, QLA83XX_NIC_CORE_RESET); in qla83xx_handle_8200_aen()
530 ql_log(ql_log_info, vha, 0x506a, in qla83xx_handle_8200_aen()
534 qla83xx_schedule_work(vha, MBA_IDC_AEN); in qla83xx_handle_8200_aen()
539 qla2x00_is_a_vp_did(scsi_qla_host_t *vha, uint32_t rscn_entry) in qla2x00_is_a_vp_did() argument
541 struct qla_hw_data *ha = vha->hw; in qla2x00_is_a_vp_did()
564 qla2x00_find_fcport_by_loopid(scsi_qla_host_t *vha, uint16_t loop_id) in qla2x00_find_fcport_by_loopid() argument
568 list_for_each_entry(fcport, &vha->vp_fcports, list) in qla2x00_find_fcport_by_loopid()
580 qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb) in qla2x00_async_event() argument
585 struct qla_hw_data *ha = vha->hw; in qla2x00_async_event()
651 if (!vha->flags.online) in qla2x00_async_event()
655 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_async_event()
660 ql_dbg(ql_dbg_async, vha, 0x5002, in qla2x00_async_event()
663 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
669 ql_log(ql_log_warn, vha, 0x5003, in qla2x00_async_event()
673 ha->isp_ops->fw_dump(vha, 1); in qla2x00_async_event()
677 ql_log(ql_log_fatal, vha, 0x5004, in qla2x00_async_event()
680 vha->flags.online = 0; in qla2x00_async_event()
681 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
686 &vha->dpc_flags); in qla2x00_async_event()
688 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
691 ql_log(ql_log_fatal, vha, 0x5005, in qla2x00_async_event()
694 vha->flags.online = 0; in qla2x00_async_event()
695 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
697 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
701 ql_log(ql_log_warn, vha, 0x5006, in qla2x00_async_event()
704 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
708 ql_log(ql_log_warn, vha, 0x5007, in qla2x00_async_event()
711 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
715 ql_dbg(ql_dbg_async, vha, 0x5008, in qla2x00_async_event()
720 ql_dbg(ql_dbg_async, vha, 0x5009, in qla2x00_async_event()
723 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
724 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
725 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
726 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
729 if (vha->vp_idx) { in qla2x00_async_event()
730 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
731 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
734 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
735 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
737 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
738 qla2x00_post_aen_work(vha, FCH_EVT_LIP, mb[1]); in qla2x00_async_event()
747 ql_log(ql_log_info, vha, 0x500a, in qla2x00_async_event()
751 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
752 qla2x00_post_aen_work(vha, FCH_EVT_LINKUP, ha->link_data_rate); in qla2x00_async_event()
760 ql_log(ql_log_info, vha, 0x500b, in qla2x00_async_event()
764 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
765 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
766 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
772 if (!vha->vp_idx) { in qla2x00_async_event()
775 memcpy(vha->port_name, wwpn, WWN_SIZE); in qla2x00_async_event()
776 fc_host_port_name(vha->host) = in qla2x00_async_event()
777 wwn_to_u64(vha->port_name); in qla2x00_async_event()
779 vha, 0x0144, "LOOP DOWN detected," in qla2x00_async_event()
781 wwn_to_u64(vha->port_name)); in qla2x00_async_event()
784 clear_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
787 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
788 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
791 if (vha->vp_idx) { in qla2x00_async_event()
792 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
793 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
796 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
798 qla2x00_post_aen_work(vha, FCH_EVT_LINKDOWN, 0); in qla2x00_async_event()
802 ql_dbg(ql_dbg_async, vha, 0x500c, in qla2x00_async_event()
805 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
806 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
807 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
808 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
811 if (vha->vp_idx) { in qla2x00_async_event()
812 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
813 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
816 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
819 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
820 qla2x00_post_aen_work(vha, FCH_EVT_LIPRESET, mb[1]); in qla2x00_async_event()
829 ql_dbg(ql_dbg_async, vha, 0x500d, in qla2x00_async_event()
832 if (ha->notify_dcbx_comp && !vha->vp_idx) in qla2x00_async_event()
836 ql_dbg(ql_dbg_async, vha, 0x500e, in qla2x00_async_event()
843 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
844 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
845 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
846 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
848 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
851 if (vha->vp_idx) { in qla2x00_async_event()
852 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
853 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
856 if (!(test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags))) in qla2x00_async_event()
857 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
859 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
860 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
863 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
870 ql_dbg(ql_dbg_async, vha, 0x500f, in qla2x00_async_event()
873 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
874 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
875 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
876 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
878 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
881 if (vha->vp_idx) { in qla2x00_async_event()
882 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
883 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
886 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
887 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
908 (mb[1] != 0xffff)) && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
912 ql_dbg(ql_dbg_async, vha, 0x5010, in qla2x00_async_event()
921 fcport = qla2x00_find_fcport_by_loopid(vha, mb[1]); in qla2x00_async_event()
926 ql_dbg(ql_dbg_async, vha, 0x508a, in qla2x00_async_event()
929 qla2x00_mark_device_lost(fcport->vha, fcport, 1, 1); in qla2x00_async_event()
934 ql_log(ql_log_warn, vha, 0x505e, in qla2x00_async_event()
937 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
938 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
939 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
941 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
942 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
945 if (vha->vp_idx) { in qla2x00_async_event()
946 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
947 fc_vport_set_state(vha->fc_vport, in qla2x00_async_event()
949 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
952 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
962 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
963 if (atomic_read(&vha->loop_state) != LOOP_DOWN && in qla2x00_async_event()
964 atomic_read(&vha->loop_state) != LOOP_DEAD) { in qla2x00_async_event()
965 ql_dbg(ql_dbg_async, vha, 0x5011, in qla2x00_async_event()
969 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
973 ql_dbg(ql_dbg_async, vha, 0x5012, in qla2x00_async_event()
980 atomic_set(&vha->loop_state, LOOP_UP); in qla2x00_async_event()
982 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
984 if (vha->vp_idx == 0 && !qla_ini_mode_enabled(vha)) in qla2x00_async_event()
985 set_bit(SCR_PENDING, &vha->dpc_flags); in qla2x00_async_event()
987 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
988 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
989 set_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
991 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
996 if (vha->vp_idx && test_bit(VP_SCR_NEEDED, &vha->vp_flags)) in qla2x00_async_event()
999 if (ha->flags.npiv_supported && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
1002 ql_dbg(ql_dbg_async, vha, 0x5013, in qla2x00_async_event()
1007 host_pid = (vha->d_id.b.domain << 16) | (vha->d_id.b.area << 8) in qla2x00_async_event()
1008 | vha->d_id.b.al_pa; in qla2x00_async_event()
1010 ql_dbg(ql_dbg_async, vha, 0x5014, in qla2x00_async_event()
1020 if (qla2x00_is_a_vp_did(vha, rscn_entry)) in qla2x00_async_event()
1027 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla2x00_async_event()
1031 qla2x00_mark_device_lost(vha, fcport, 0, 0); in qla2x00_async_event()
1036 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
1037 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1039 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1040 set_bit(RSCN_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1041 qla2x00_post_aen_work(vha, FCH_EVT_RSCN, rscn_entry); in qla2x00_async_event()
1046 ql_dbg(ql_dbg_async, vha, 0x5015, in qla2x00_async_event()
1050 qla24xx_process_response_queue(vha, rsp); in qla2x00_async_event()
1056 ql_dbg(ql_dbg_async, vha, 0x5016, in qla2x00_async_event()
1062 ql_dbg(ql_dbg_async, vha, 0x5017, in qla2x00_async_event()
1067 ql_dbg(ql_dbg_async, vha, 0x5018, in qla2x00_async_event()
1074 ql_log(ql_log_info, vha, 0x5019, in qla2x00_async_event()
1080 ql_log(ql_log_info, vha, 0x501a, in qla2x00_async_event()
1086 ql_log(ql_log_info, vha, 0x501b, in qla2x00_async_event()
1093 ql_log(ql_log_info, vha, 0x501c, in qla2x00_async_event()
1098 ql_log(ql_log_warn, vha, 0x501d, in qla2x00_async_event()
1105 ql_dbg(ql_dbg_async, vha, 0x501e, in qla2x00_async_event()
1110 ql_dbg(ql_dbg_async, vha, 0x501f, in qla2x00_async_event()
1115 ql_dbg(ql_dbg_async, vha, 0x5020, in qla2x00_async_event()
1120 if (IS_QLA8031(vha->hw) || IS_QLA8044(ha)) { in qla2x00_async_event()
1125 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1129 if (atomic_read(&vha->loop_state) == LOOP_DOWN) in qla2x00_async_event()
1130 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1132 qla2xxx_wake_dpc(vha); in qla2x00_async_event()
1136 if (ha->notify_lb_portup_comp && !vha->vp_idx) in qla2x00_async_event()
1140 if (IS_QLA81XX(vha->hw) || IS_QLA8031(vha->hw) || in qla2x00_async_event()
1142 qla81xx_idc_event(vha, mb[0], mb[1]); in qla2x00_async_event()
1150 qla83xx_handle_8200_aen(vha, mb); in qla2x00_async_event()
1154 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1162 ql_dbg(ql_dbg_async, vha, 0x5057, in qla2x00_async_event()
1167 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
1169 if (!vha->vp_idx && ha->num_vhosts) in qla2x00_async_event()
1179 qla2x00_process_completed_request(struct scsi_qla_host *vha, in qla2x00_process_completed_request() argument
1183 struct qla_hw_data *ha = vha->hw; in qla2x00_process_completed_request()
1187 ql_log(ql_log_warn, vha, 0x3014, in qla2x00_process_completed_request()
1191 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1193 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1205 ql_log(ql_log_warn, vha, 0x3016, "Invalid SCSI SRB.\n"); in qla2x00_process_completed_request()
1208 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1210 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1215 qla2x00_get_sp_from_handle(scsi_qla_host_t *vha, const char *func, in qla2x00_get_sp_from_handle() argument
1218 struct qla_hw_data *ha = vha->hw; in qla2x00_get_sp_from_handle()
1225 ql_log(ql_log_warn, vha, 0x5031, in qla2x00_get_sp_from_handle()
1228 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1230 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1235 ql_log(ql_log_warn, vha, 0x5032, in qla2x00_get_sp_from_handle()
1240 ql_log(ql_log_warn, vha, 0x5033, in qla2x00_get_sp_from_handle()
1252 qla2x00_mbx_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_mbx_iocb_entry() argument
1263 sp = qla2x00_get_sp_from_handle(vha, func, req, mbx); in qla2x00_mbx_iocb_entry()
1276 ql_dbg(ql_dbg_async, vha, 0x5043, in qla2x00_mbx_iocb_entry()
1285 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5029, in qla2x00_mbx_iocb_entry()
1296 ql_dbg(ql_dbg_async, vha, 0x5045, in qla2x00_mbx_iocb_entry()
1325 ql_log(ql_log_warn, vha, 0x5046, in qla2x00_mbx_iocb_entry()
1334 sp->done(vha, sp, 0); in qla2x00_mbx_iocb_entry()
1338 qla2x00_ct_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_ct_entry() argument
1348 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_ct_entry()
1370 ql_log(ql_log_warn, vha, 0x5048, in qla2x00_ct_entry()
1376 ql_log(ql_log_warn, vha, 0x5049, in qla2x00_ct_entry()
1382 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5035, in qla2x00_ct_entry()
1391 sp->done(vha, sp, res); in qla2x00_ct_entry()
1395 qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_els_ct_entry() argument
1407 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_els_ct_entry()
1422 ql_dbg(ql_dbg_user, vha, 0x503e, in qla24xx_els_ct_entry()
1443 ql_dbg(ql_dbg_user, vha, 0x503f, in qla24xx_els_ct_entry()
1453 ql_dbg(ql_dbg_user, vha, 0x5040, in qla24xx_els_ct_entry()
1466 ql_dump_buffer(ql_dbg_user + ql_dbg_buffer, vha, 0x5056, in qla24xx_els_ct_entry()
1475 sp->done(vha, sp, res); in qla24xx_els_ct_entry()
1479 qla24xx_logio_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_logio_entry() argument
1490 sp = qla2x00_get_sp_from_handle(vha, func, req, logio); in qla24xx_logio_entry()
1503 ql_log(ql_log_warn, fcport->vha, 0x5034, in qla24xx_logio_entry()
1509 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x504d, in qla24xx_logio_entry()
1516 ql_dbg(ql_dbg_async, fcport->vha, 0x5036, in qla24xx_logio_entry()
1560 ql_dbg(ql_dbg_async, fcport->vha, 0x5037, in qla24xx_logio_entry()
1569 sp->done(vha, sp, 0); in qla24xx_logio_entry()
1573 qla24xx_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk) in qla24xx_tm_iocb_entry() argument
1582 sp = qla2x00_get_sp_from_handle(vha, func, req, tsk); in qla24xx_tm_iocb_entry()
1592 ql_log(ql_log_warn, fcport->vha, 0x5038, in qla24xx_tm_iocb_entry()
1597 ql_log(ql_log_warn, fcport->vha, 0x5039, in qla24xx_tm_iocb_entry()
1604 ql_log(ql_log_warn, fcport->vha, 0x503b, in qla24xx_tm_iocb_entry()
1608 ql_log(ql_log_warn, fcport->vha, 0x503c, in qla24xx_tm_iocb_entry()
1616 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5055, in qla24xx_tm_iocb_entry()
1619 sp->done(vha, sp, 0); in qla24xx_tm_iocb_entry()
1629 struct scsi_qla_host *vha; in qla2x00_process_response_queue() local
1636 vha = pci_get_drvdata(ha->pdev); in qla2x00_process_response_queue()
1638 if (!vha->flags.online) in qla2x00_process_response_queue()
1653 qla2x00_error_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
1661 qla2x00_status_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
1666 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_queue()
1673 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_queue()
1681 qla2x00_mbx_iocb_entry(vha, rsp->req, in qla2x00_process_response_queue()
1685 qla2x00_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla2x00_process_response_queue()
1689 ql_log(ql_log_warn, vha, 0x504a, in qla2x00_process_response_queue()
1707 struct scsi_qla_host *vha = sp->fcport->vha; in qla2x00_handle_sense() local
1733 ql_dbg(ql_dbg_io + ql_dbg_buffer, vha, 0x301c, in qla2x00_handle_sense()
1735 sp->fcport->vha->host_no, cp->device->id, cp->device->lun, in qla2x00_handle_sense()
1737 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302b, in qla2x00_handle_sense()
1757 struct scsi_qla_host *vha = sp->fcport->vha; in qla2x00_handle_dif_error() local
1776 ql_dbg(ql_dbg_io, vha, 0x3023, in qla2x00_handle_dif_error()
1779 ql_dbg(ql_dbg_io, vha, 0x3024, in qla2x00_handle_dif_error()
1826 ql_log(ql_log_warn, vha, 0x302f, in qla2x00_handle_dif_error()
1877 qla25xx_process_bidir_status_iocb(scsi_qla_host_t *vha, void *pkt, in qla25xx_process_bidir_status_iocb() argument
1880 struct qla_hw_data *ha = vha->hw; in qla25xx_process_bidir_status_iocb()
1894 ql_log(ql_log_warn, vha, 0x70af, in qla25xx_process_bidir_status_iocb()
1896 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
1906 ql_log(ql_log_warn, vha, 0x70b0, in qla25xx_process_bidir_status_iocb()
1910 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
1928 vha->qla_stats.input_bytes += in qla25xx_process_bidir_status_iocb()
1930 vha->qla_stats.input_requests++; in qla25xx_process_bidir_status_iocb()
1936 ql_dbg(ql_dbg_user, vha, 0x70b1, in qla25xx_process_bidir_status_iocb()
1943 ql_dbg(ql_dbg_user, vha, 0x70b2, in qla25xx_process_bidir_status_iocb()
1949 ql_dbg(ql_dbg_user, vha, 0x70b3, in qla25xx_process_bidir_status_iocb()
1956 ql_dbg(ql_dbg_user, vha, 0x70b4, in qla25xx_process_bidir_status_iocb()
1963 ql_dbg(ql_dbg_user, vha, 0x70b5, in qla25xx_process_bidir_status_iocb()
1970 ql_dbg(ql_dbg_user, vha, 0x70b6, in qla25xx_process_bidir_status_iocb()
1977 ql_dbg(ql_dbg_user, vha, 0x70b7, in qla25xx_process_bidir_status_iocb()
1984 ql_dbg(ql_dbg_user, vha, 0x70b8, in qla25xx_process_bidir_status_iocb()
1991 ql_dbg(ql_dbg_user, vha, 0x70b9, in qla25xx_process_bidir_status_iocb()
1998 ql_dbg(ql_dbg_user, vha, 0x70ba, in qla25xx_process_bidir_status_iocb()
2004 ql_dbg(ql_dbg_user, vha, 0x70bb, in qla25xx_process_bidir_status_iocb()
2018 sp->done(vha, sp, (DID_OK << 6)); in qla25xx_process_bidir_status_iocb()
2028 qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) in qla2x00_status_entry() argument
2043 struct qla_hw_data *ha = vha->hw; in qla2x00_status_entry()
2069 ql_dbg(ql_dbg_io, vha, 0x3059, in qla2x00_status_entry()
2079 ql_dbg(ql_dbg_io, vha, 0x3075, in qla2x00_status_entry()
2081 __func__, vha->host_no, sts->handle); in qla2x00_status_entry()
2085 ql_dbg(ql_dbg_io, vha, 0x3017, in qla2x00_status_entry()
2089 if (!test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_status_entry()
2091 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
2093 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
2094 qla2xxx_wake_dpc(vha); in qla2x00_status_entry()
2100 qla25xx_process_bidir_status_iocb(vha, pkt, req, handle); in qla2x00_status_entry()
2106 qla24xx_tm_iocb_entry(vha, req, pkt); in qla2x00_status_entry()
2112 qla2x00_process_completed_request(vha, req, handle); in qla2x00_status_entry()
2120 ql_dbg(ql_dbg_io, vha, 0x3018, in qla2x00_status_entry()
2170 ql_dbg(ql_dbg_io, fcport->vha, 0x3019, in qla2x00_status_entry()
2209 ql_dbg(ql_dbg_io, fcport->vha, 0x301a, in qla2x00_status_entry()
2221 ql_dbg(ql_dbg_io, fcport->vha, 0x301b, in qla2x00_status_entry()
2243 ql_dbg(ql_dbg_io, fcport->vha, 0x301d, in qla2x00_status_entry()
2255 ql_dbg(ql_dbg_io, fcport->vha, 0x301e, in qla2x00_status_entry()
2270 ql_dbg(ql_dbg_io, fcport->vha, 0x301f, in qla2x00_status_entry()
2278 ql_dbg(ql_dbg_io, fcport->vha, 0x3030, in qla2x00_status_entry()
2293 ql_dbg(ql_dbg_io, fcport->vha, 0x3020, in qla2x00_status_entry()
2333 ql_dbg(ql_dbg_io, fcport->vha, 0x3021, in qla2x00_status_entry()
2340 qla2x00_mark_device_lost(fcport->vha, fcport, 1, 1); in qla2x00_status_entry()
2371 ql_dbg(ql_dbg_io, fcport->vha, 0x3022, in qla2x00_status_entry()
2375 comp_status, scsi_status, res, vha->host_no, in qla2x00_status_entry()
2397 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla2x00_status_cont_entry() local
2411 ql_log(ql_log_warn, vha, 0x3025, in qla2x00_status_cont_entry()
2427 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302c, in qla2x00_status_cont_entry()
2449 qla2x00_error_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, sts_entry_t *pkt) in qla2x00_error_entry() argument
2452 struct qla_hw_data *ha = vha->hw; in qla2x00_error_entry()
2458 ql_dbg(ql_dbg_async, vha, 0x502a, in qla2x00_error_entry()
2469 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_error_entry()
2475 ql_log(ql_log_warn, vha, 0x5030, in qla2x00_error_entry()
2485 qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla24xx_mbx_completion() argument
2490 struct qla_hw_data *ha = vha->hw; in qla24xx_mbx_completion()
2496 ql_dbg(ql_dbg_async, vha, 0x504e, "MBX pointer ERROR.\n"); in qla24xx_mbx_completion()
2516 qla24xx_abort_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_abort_iocb_entry() argument
2523 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_abort_iocb_entry()
2529 sp->done(vha, sp, 0); in qla24xx_abort_iocb_entry()
2536 void qla24xx_process_response_queue(struct scsi_qla_host *vha, in qla24xx_process_response_queue() argument
2540 struct qla_hw_data *ha = vha->hw; in qla24xx_process_response_queue()
2542 if (!vha->flags.online) in qla24xx_process_response_queue()
2557 qla2x00_error_entry(vha, rsp, (sts_entry_t *) pkt); in qla24xx_process_response_queue()
2559 if (qlt_24xx_process_response_error(vha, pkt)) in qla24xx_process_response_queue()
2570 qla2x00_status_entry(vha, rsp, pkt); in qla24xx_process_response_queue()
2576 qla24xx_report_id_acquisition(vha, in qla24xx_process_response_queue()
2580 qla24xx_logio_entry(vha, rsp->req, in qla24xx_process_response_queue()
2584 qla24xx_els_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla24xx_process_response_queue()
2587 qla24xx_els_ct_entry(vha, rsp->req, pkt, ELS_IOCB_TYPE); in qla24xx_process_response_queue()
2591 qlt_24xx_process_atio_queue(vha); in qla24xx_process_response_queue()
2596 qlt_response_pkt_all_vps(vha, (response_t *)pkt); in qla24xx_process_response_queue()
2604 qla24xx_abort_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
2609 ql_dbg(ql_dbg_async, vha, 0x5042, in qla24xx_process_response_queue()
2628 qla2xxx_check_risc_status(scsi_qla_host_t *vha) in qla2xxx_check_risc_status() argument
2632 struct qla_hw_data *ha = vha->hw; in qla2xxx_check_risc_status()
2669 ql_log(ql_log_info, vha, 0x504c, in qla2xxx_check_risc_status()
2689 scsi_qla_host_t *vha; in qla24xx_intr_handler() local
2715 vha = pci_get_drvdata(ha->pdev); in qla24xx_intr_handler()
2718 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_intr_handler()
2726 ql_log(ql_log_warn, vha, 0x504b, in qla24xx_intr_handler()
2730 qla2xxx_check_risc_status(vha); in qla24xx_intr_handler()
2732 ha->isp_ops->fw_dump(vha, 1); in qla24xx_intr_handler()
2733 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_intr_handler()
2743 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_intr_handler()
2752 qla2x00_async_event(vha, rsp, mb); in qla24xx_intr_handler()
2756 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
2759 qlt_24xx_process_atio_queue(vha); in qla24xx_intr_handler()
2762 qlt_24xx_process_atio_queue(vha); in qla24xx_intr_handler()
2763 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
2766 ql_dbg(ql_dbg_async, vha, 0x504f, in qla24xx_intr_handler()
2787 struct scsi_qla_host *vha; in qla24xx_msix_rsp_q() local
2802 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_rsp_q()
2808 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_msix_rsp_q()
2810 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_rsp_q()
2825 scsi_qla_host_t *vha; in qla25xx_msix_rsp_q() local
2838 vha = pci_get_drvdata(ha->pdev); in qla25xx_msix_rsp_q()
2848 if (qla2x00_check_reg32_for_disconnect(vha, hccr)) in qla25xx_msix_rsp_q()
2859 scsi_qla_host_t *vha; in qla24xx_msix_default() local
2880 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_default()
2883 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_msix_default()
2891 ql_log(ql_log_info, vha, 0x5050, in qla24xx_msix_default()
2895 qla2xxx_check_risc_status(vha); in qla24xx_msix_default()
2897 ha->isp_ops->fw_dump(vha, 1); in qla24xx_msix_default()
2898 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_msix_default()
2908 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_msix_default()
2917 qla2x00_async_event(vha, rsp, mb); in qla24xx_msix_default()
2921 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
2924 qlt_24xx_process_atio_queue(vha); in qla24xx_msix_default()
2927 qlt_24xx_process_atio_queue(vha); in qla24xx_msix_default()
2928 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
2931 ql_dbg(ql_dbg_async, vha, 0x5051, in qla24xx_msix_default()
2972 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_disable_msix() local
2983 ql_dbg(ql_dbg_init, vha, 0x0042, in qla24xx_disable_msix()
2995 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_enable_msix() local
3000 ql_log(ql_log_warn, vha, 0x00bc, in qla24xx_enable_msix()
3011 ql_log(ql_log_fatal, vha, 0x00c7, in qla24xx_enable_msix()
3017 ql_log(ql_log_warn, vha, 0x00c6, in qla24xx_enable_msix()
3027 ql_log(ql_log_fatal, vha, 0x00c8, in qla24xx_enable_msix()
3076 ql_log(ql_log_fatal, vha, 0x00cb, in qla24xx_enable_msix()
3093 ql_dbg(ql_dbg_multiq, vha, 0xc005, in qla24xx_enable_msix()
3096 ql_dbg(ql_dbg_init, vha, 0x0055, in qla24xx_enable_msix()
3110 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla2x00_request_irqs() local
3122 ql_log(ql_log_warn, vha, 0x0034, in qla2x00_request_irqs()
3130 ql_log(ql_log_warn, vha, 0x0035, in qla2x00_request_irqs()
3138 ql_dbg(ql_dbg_init, vha, 0x0036, in qla2x00_request_irqs()
3146 ql_log(ql_log_info, vha, 0x0037, in qla2x00_request_irqs()
3156 ql_dbg(ql_dbg_init, vha, 0x0038, in qla2x00_request_irqs()
3160 ql_log(ql_log_warn, vha, 0x0039, in qla2x00_request_irqs()
3172 ql_log(ql_log_warn, vha, 0x003a, in qla2x00_request_irqs()
3177 ql_dbg(ql_dbg_init, vha, 0x0125, in qla2x00_request_irqs()
3195 qla2x00_free_irqs(scsi_qla_host_t *vha) in qla2x00_free_irqs() argument
3197 struct qla_hw_data *ha = vha->hw; in qla2x00_free_irqs()
3223 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla25xx_request_irq() local
3228 ql_log(ql_log_fatal, vha, 0x00e6, in qla25xx_request_irq()