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
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()
569 qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb) in qla2x00_async_event() argument
574 struct qla_hw_data *ha = vha->hw; in qla2x00_async_event()
640 if (!vha->flags.online) in qla2x00_async_event()
644 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_async_event()
649 ql_dbg(ql_dbg_async, vha, 0x5002, in qla2x00_async_event()
652 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
658 ql_log(ql_log_warn, vha, 0x5003, in qla2x00_async_event()
662 ha->isp_ops->fw_dump(vha, 1); in qla2x00_async_event()
666 ql_log(ql_log_fatal, vha, 0x5004, in qla2x00_async_event()
669 vha->flags.online = 0; in qla2x00_async_event()
670 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
675 &vha->dpc_flags); in qla2x00_async_event()
677 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
680 ql_log(ql_log_fatal, vha, 0x5005, in qla2x00_async_event()
683 vha->flags.online = 0; in qla2x00_async_event()
684 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
686 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
690 ql_log(ql_log_warn, vha, 0x5006, in qla2x00_async_event()
693 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
697 ql_log(ql_log_warn, vha, 0x5007, in qla2x00_async_event()
700 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
704 ql_dbg(ql_dbg_async, vha, 0x5008, in qla2x00_async_event()
709 ql_dbg(ql_dbg_async, vha, 0x5009, in qla2x00_async_event()
712 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
713 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
714 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
715 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
718 if (vha->vp_idx) { in qla2x00_async_event()
719 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
720 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
723 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
724 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
726 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
727 qla2x00_post_aen_work(vha, FCH_EVT_LIP, mb[1]); in qla2x00_async_event()
736 ql_log(ql_log_info, vha, 0x500a, in qla2x00_async_event()
740 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
741 qla2x00_post_aen_work(vha, FCH_EVT_LINKUP, ha->link_data_rate); in qla2x00_async_event()
749 ql_log(ql_log_info, vha, 0x500b, in qla2x00_async_event()
753 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
754 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
755 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
761 if (!vha->vp_idx) { in qla2x00_async_event()
764 memcpy(vha->port_name, wwpn, WWN_SIZE); in qla2x00_async_event()
765 fc_host_port_name(vha->host) = in qla2x00_async_event()
766 wwn_to_u64(vha->port_name); in qla2x00_async_event()
768 vha, 0x0144, "LOOP DOWN detected," in qla2x00_async_event()
770 wwn_to_u64(vha->port_name)); in qla2x00_async_event()
773 clear_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
776 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
777 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
780 if (vha->vp_idx) { in qla2x00_async_event()
781 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
782 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
785 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
787 qla2x00_post_aen_work(vha, FCH_EVT_LINKDOWN, 0); in qla2x00_async_event()
791 ql_dbg(ql_dbg_async, vha, 0x500c, in qla2x00_async_event()
794 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
795 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
796 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
797 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
800 if (vha->vp_idx) { in qla2x00_async_event()
801 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
802 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
805 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
808 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
809 qla2x00_post_aen_work(vha, FCH_EVT_LIPRESET, mb[1]); in qla2x00_async_event()
818 ql_dbg(ql_dbg_async, vha, 0x500d, in qla2x00_async_event()
821 if (ha->notify_dcbx_comp && !vha->vp_idx) in qla2x00_async_event()
825 ql_dbg(ql_dbg_async, vha, 0x500e, in qla2x00_async_event()
832 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
833 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
834 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
835 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
837 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
840 if (vha->vp_idx) { in qla2x00_async_event()
841 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
842 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
845 if (!(test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags))) in qla2x00_async_event()
846 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
848 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
849 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
852 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
859 ql_dbg(ql_dbg_async, vha, 0x500f, in qla2x00_async_event()
862 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
863 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
864 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
865 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
867 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
870 if (vha->vp_idx) { in qla2x00_async_event()
871 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
872 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
875 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
876 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
897 (mb[1] != 0xffff)) && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
902 ql_dbg(ql_dbg_async, vha, 0x5010, in qla2x00_async_event()
905 ql_log(ql_log_warn, vha, 0x505e, in qla2x00_async_event()
908 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
909 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
910 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
912 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
913 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
916 if (vha->vp_idx) { in qla2x00_async_event()
917 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
918 fc_vport_set_state(vha->fc_vport, in qla2x00_async_event()
920 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
923 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
933 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
934 if (atomic_read(&vha->loop_state) != LOOP_DOWN && in qla2x00_async_event()
935 atomic_read(&vha->loop_state) != LOOP_DEAD) { in qla2x00_async_event()
936 ql_dbg(ql_dbg_async, vha, 0x5011, in qla2x00_async_event()
940 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
944 ql_dbg(ql_dbg_async, vha, 0x5012, in qla2x00_async_event()
951 atomic_set(&vha->loop_state, LOOP_UP); in qla2x00_async_event()
953 qla2x00_mark_all_devices_lost(vha, 1); in qla2x00_async_event()
955 if (vha->vp_idx == 0 && !qla_ini_mode_enabled(vha)) in qla2x00_async_event()
956 set_bit(SCR_PENDING, &vha->dpc_flags); in qla2x00_async_event()
958 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
959 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
960 set_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
962 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
967 if (vha->vp_idx && test_bit(VP_SCR_NEEDED, &vha->vp_flags)) in qla2x00_async_event()
970 if (ha->flags.npiv_supported && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
973 ql_dbg(ql_dbg_async, vha, 0x5013, in qla2x00_async_event()
978 host_pid = (vha->d_id.b.domain << 16) | (vha->d_id.b.area << 8) in qla2x00_async_event()
979 | vha->d_id.b.al_pa; in qla2x00_async_event()
981 ql_dbg(ql_dbg_async, vha, 0x5014, in qla2x00_async_event()
991 if (qla2x00_is_a_vp_did(vha, rscn_entry)) in qla2x00_async_event()
998 list_for_each_entry(fcport, &vha->vp_fcports, list) { in qla2x00_async_event()
1003 qla2x00_mark_device_lost(vha, fcport, 0, 0); in qla2x00_async_event()
1008 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
1009 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1011 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1012 set_bit(RSCN_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1013 qla2x00_post_aen_work(vha, FCH_EVT_RSCN, rscn_entry); in qla2x00_async_event()
1018 ql_dbg(ql_dbg_async, vha, 0x5015, in qla2x00_async_event()
1022 qla24xx_process_response_queue(vha, rsp); in qla2x00_async_event()
1028 ql_dbg(ql_dbg_async, vha, 0x5016, in qla2x00_async_event()
1034 ql_dbg(ql_dbg_async, vha, 0x5017, in qla2x00_async_event()
1039 ql_dbg(ql_dbg_async, vha, 0x5018, in qla2x00_async_event()
1046 ql_log(ql_log_info, vha, 0x5019, in qla2x00_async_event()
1052 ql_log(ql_log_info, vha, 0x501a, in qla2x00_async_event()
1058 ql_log(ql_log_info, vha, 0x501b, in qla2x00_async_event()
1065 ql_log(ql_log_info, vha, 0x501c, in qla2x00_async_event()
1070 ql_log(ql_log_warn, vha, 0x501d, in qla2x00_async_event()
1077 ql_dbg(ql_dbg_async, vha, 0x501e, in qla2x00_async_event()
1082 ql_dbg(ql_dbg_async, vha, 0x501f, in qla2x00_async_event()
1087 ql_dbg(ql_dbg_async, vha, 0x5020, in qla2x00_async_event()
1092 if (IS_QLA8031(vha->hw) || IS_QLA8044(ha)) { in qla2x00_async_event()
1097 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1101 if (atomic_read(&vha->loop_state) == LOOP_DOWN) in qla2x00_async_event()
1102 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1104 qla2xxx_wake_dpc(vha); in qla2x00_async_event()
1108 if (ha->notify_lb_portup_comp && !vha->vp_idx) in qla2x00_async_event()
1112 if (IS_QLA81XX(vha->hw) || IS_QLA8031(vha->hw) || in qla2x00_async_event()
1114 qla81xx_idc_event(vha, mb[0], mb[1]); in qla2x00_async_event()
1122 qla83xx_handle_8200_aen(vha, mb); in qla2x00_async_event()
1126 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1134 ql_dbg(ql_dbg_async, vha, 0x5057, in qla2x00_async_event()
1139 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
1141 if (!vha->vp_idx && ha->num_vhosts) in qla2x00_async_event()
1151 qla2x00_process_completed_request(struct scsi_qla_host *vha, in qla2x00_process_completed_request() argument
1155 struct qla_hw_data *ha = vha->hw; in qla2x00_process_completed_request()
1159 ql_log(ql_log_warn, vha, 0x3014, in qla2x00_process_completed_request()
1163 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1165 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1177 ql_log(ql_log_warn, vha, 0x3016, "Invalid SCSI SRB.\n"); in qla2x00_process_completed_request()
1180 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1182 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1187 qla2x00_get_sp_from_handle(scsi_qla_host_t *vha, const char *func, in qla2x00_get_sp_from_handle() argument
1190 struct qla_hw_data *ha = vha->hw; in qla2x00_get_sp_from_handle()
1197 ql_log(ql_log_warn, vha, 0x5031, in qla2x00_get_sp_from_handle()
1200 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1202 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1207 ql_log(ql_log_warn, vha, 0x5032, in qla2x00_get_sp_from_handle()
1212 ql_log(ql_log_warn, vha, 0x5033, in qla2x00_get_sp_from_handle()
1224 qla2x00_mbx_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_mbx_iocb_entry() argument
1235 sp = qla2x00_get_sp_from_handle(vha, func, req, mbx); in qla2x00_mbx_iocb_entry()
1248 ql_dbg(ql_dbg_async, vha, 0x5043, in qla2x00_mbx_iocb_entry()
1257 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5029, in qla2x00_mbx_iocb_entry()
1268 ql_dbg(ql_dbg_async, vha, 0x5045, in qla2x00_mbx_iocb_entry()
1297 ql_log(ql_log_warn, vha, 0x5046, in qla2x00_mbx_iocb_entry()
1306 sp->done(vha, sp, 0); in qla2x00_mbx_iocb_entry()
1310 qla2x00_ct_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_ct_entry() argument
1320 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_ct_entry()
1342 ql_log(ql_log_warn, vha, 0x5048, in qla2x00_ct_entry()
1348 ql_log(ql_log_warn, vha, 0x5049, in qla2x00_ct_entry()
1354 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5035, in qla2x00_ct_entry()
1363 sp->done(vha, sp, res); in qla2x00_ct_entry()
1367 qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_els_ct_entry() argument
1379 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_els_ct_entry()
1394 ql_dbg(ql_dbg_user, vha, 0x503e, in qla24xx_els_ct_entry()
1415 ql_dbg(ql_dbg_user, vha, 0x503f, in qla24xx_els_ct_entry()
1425 ql_dbg(ql_dbg_user, vha, 0x5040, in qla24xx_els_ct_entry()
1438 ql_dump_buffer(ql_dbg_user + ql_dbg_buffer, vha, 0x5056, in qla24xx_els_ct_entry()
1447 sp->done(vha, sp, res); in qla24xx_els_ct_entry()
1451 qla24xx_logio_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_logio_entry() argument
1462 sp = qla2x00_get_sp_from_handle(vha, func, req, logio); in qla24xx_logio_entry()
1475 ql_log(ql_log_warn, fcport->vha, 0x5034, in qla24xx_logio_entry()
1481 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x504d, in qla24xx_logio_entry()
1488 ql_dbg(ql_dbg_async, fcport->vha, 0x5036, in qla24xx_logio_entry()
1532 ql_dbg(ql_dbg_async, fcport->vha, 0x5037, in qla24xx_logio_entry()
1541 sp->done(vha, sp, 0); in qla24xx_logio_entry()
1545 qla24xx_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk) in qla24xx_tm_iocb_entry() argument
1554 sp = qla2x00_get_sp_from_handle(vha, func, req, tsk); in qla24xx_tm_iocb_entry()
1564 ql_log(ql_log_warn, fcport->vha, 0x5038, in qla24xx_tm_iocb_entry()
1569 ql_log(ql_log_warn, fcport->vha, 0x5039, in qla24xx_tm_iocb_entry()
1576 ql_log(ql_log_warn, fcport->vha, 0x503b, in qla24xx_tm_iocb_entry()
1580 ql_log(ql_log_warn, fcport->vha, 0x503c, in qla24xx_tm_iocb_entry()
1588 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5055, in qla24xx_tm_iocb_entry()
1591 sp->done(vha, sp, 0); in qla24xx_tm_iocb_entry()
1601 struct scsi_qla_host *vha; in qla2x00_process_response_queue() local
1608 vha = pci_get_drvdata(ha->pdev); in qla2x00_process_response_queue()
1610 if (!vha->flags.online) in qla2x00_process_response_queue()
1625 qla2x00_error_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
1633 qla2x00_status_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
1638 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_queue()
1645 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_queue()
1653 qla2x00_mbx_iocb_entry(vha, rsp->req, in qla2x00_process_response_queue()
1657 qla2x00_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla2x00_process_response_queue()
1661 ql_log(ql_log_warn, vha, 0x504a, in qla2x00_process_response_queue()
1679 struct scsi_qla_host *vha = sp->fcport->vha; in qla2x00_handle_sense() local
1705 ql_dbg(ql_dbg_io + ql_dbg_buffer, vha, 0x301c, in qla2x00_handle_sense()
1707 sp->fcport->vha->host_no, cp->device->id, cp->device->lun, in qla2x00_handle_sense()
1709 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302b, in qla2x00_handle_sense()
1729 struct scsi_qla_host *vha = sp->fcport->vha; in qla2x00_handle_dif_error() local
1748 ql_dbg(ql_dbg_io, vha, 0x3023, in qla2x00_handle_dif_error()
1751 ql_dbg(ql_dbg_io, vha, 0x3024, in qla2x00_handle_dif_error()
1798 ql_log(ql_log_warn, vha, 0x302f, in qla2x00_handle_dif_error()
1849 qla25xx_process_bidir_status_iocb(scsi_qla_host_t *vha, void *pkt, in qla25xx_process_bidir_status_iocb() argument
1852 struct qla_hw_data *ha = vha->hw; in qla25xx_process_bidir_status_iocb()
1866 ql_log(ql_log_warn, vha, 0x70af, in qla25xx_process_bidir_status_iocb()
1868 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
1878 ql_log(ql_log_warn, vha, 0x70b0, in qla25xx_process_bidir_status_iocb()
1882 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
1900 vha->qla_stats.input_bytes += in qla25xx_process_bidir_status_iocb()
1902 vha->qla_stats.input_requests++; in qla25xx_process_bidir_status_iocb()
1908 ql_dbg(ql_dbg_user, vha, 0x70b1, in qla25xx_process_bidir_status_iocb()
1915 ql_dbg(ql_dbg_user, vha, 0x70b2, in qla25xx_process_bidir_status_iocb()
1921 ql_dbg(ql_dbg_user, vha, 0x70b3, in qla25xx_process_bidir_status_iocb()
1928 ql_dbg(ql_dbg_user, vha, 0x70b4, in qla25xx_process_bidir_status_iocb()
1935 ql_dbg(ql_dbg_user, vha, 0x70b5, in qla25xx_process_bidir_status_iocb()
1942 ql_dbg(ql_dbg_user, vha, 0x70b6, in qla25xx_process_bidir_status_iocb()
1949 ql_dbg(ql_dbg_user, vha, 0x70b7, in qla25xx_process_bidir_status_iocb()
1956 ql_dbg(ql_dbg_user, vha, 0x70b8, in qla25xx_process_bidir_status_iocb()
1963 ql_dbg(ql_dbg_user, vha, 0x70b9, in qla25xx_process_bidir_status_iocb()
1970 ql_dbg(ql_dbg_user, vha, 0x70ba, in qla25xx_process_bidir_status_iocb()
1976 ql_dbg(ql_dbg_user, vha, 0x70bb, in qla25xx_process_bidir_status_iocb()
1990 sp->done(vha, sp, (DID_OK << 6)); in qla25xx_process_bidir_status_iocb()
2000 qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) in qla2x00_status_entry() argument
2015 struct qla_hw_data *ha = vha->hw; in qla2x00_status_entry()
2041 ql_dbg(ql_dbg_io, vha, 0x3059, in qla2x00_status_entry()
2054 ql_dbg(ql_dbg_io, vha, 0x3017, in qla2x00_status_entry()
2057 if (!test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_status_entry()
2059 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
2061 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
2062 qla2xxx_wake_dpc(vha); in qla2x00_status_entry()
2068 qla25xx_process_bidir_status_iocb(vha, pkt, req, handle); in qla2x00_status_entry()
2074 qla24xx_tm_iocb_entry(vha, req, pkt); in qla2x00_status_entry()
2080 qla2x00_process_completed_request(vha, req, handle); in qla2x00_status_entry()
2088 ql_dbg(ql_dbg_io, vha, 0x3018, in qla2x00_status_entry()
2138 ql_dbg(ql_dbg_io, fcport->vha, 0x3019, in qla2x00_status_entry()
2177 ql_dbg(ql_dbg_io, fcport->vha, 0x301a, in qla2x00_status_entry()
2189 ql_dbg(ql_dbg_io, fcport->vha, 0x301b, in qla2x00_status_entry()
2211 ql_dbg(ql_dbg_io, fcport->vha, 0x301d, in qla2x00_status_entry()
2223 ql_dbg(ql_dbg_io, fcport->vha, 0x301e, in qla2x00_status_entry()
2238 ql_dbg(ql_dbg_io, fcport->vha, 0x301f, in qla2x00_status_entry()
2246 ql_dbg(ql_dbg_io, fcport->vha, 0x3030, in qla2x00_status_entry()
2261 ql_dbg(ql_dbg_io, fcport->vha, 0x3020, in qla2x00_status_entry()
2301 ql_dbg(ql_dbg_io, fcport->vha, 0x3021, in qla2x00_status_entry()
2308 qla2x00_mark_device_lost(fcport->vha, fcport, 1, 1); in qla2x00_status_entry()
2339 ql_dbg(ql_dbg_io, fcport->vha, 0x3022, in qla2x00_status_entry()
2343 comp_status, scsi_status, res, vha->host_no, in qla2x00_status_entry()
2365 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla2x00_status_cont_entry() local
2379 ql_log(ql_log_warn, vha, 0x3025, in qla2x00_status_cont_entry()
2395 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302c, in qla2x00_status_cont_entry()
2417 qla2x00_error_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, sts_entry_t *pkt) in qla2x00_error_entry() argument
2420 struct qla_hw_data *ha = vha->hw; in qla2x00_error_entry()
2426 ql_dbg(ql_dbg_async, vha, 0x502a, in qla2x00_error_entry()
2437 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_error_entry()
2443 ql_log(ql_log_warn, vha, 0x5030, in qla2x00_error_entry()
2447 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_error_entry()
2449 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_error_entry()
2450 qla2xxx_wake_dpc(vha); in qla2x00_error_entry()
2459 qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla24xx_mbx_completion() argument
2464 struct qla_hw_data *ha = vha->hw; in qla24xx_mbx_completion()
2470 ql_dbg(ql_dbg_async, vha, 0x504e, "MBX pointer ERROR.\n"); in qla24xx_mbx_completion()
2490 qla24xx_abort_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_abort_iocb_entry() argument
2497 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_abort_iocb_entry()
2503 sp->done(vha, sp, 0); in qla24xx_abort_iocb_entry()
2510 void qla24xx_process_response_queue(struct scsi_qla_host *vha, in qla24xx_process_response_queue() argument
2514 struct qla_hw_data *ha = vha->hw; in qla24xx_process_response_queue()
2516 if (!vha->flags.online) in qla24xx_process_response_queue()
2531 qla2x00_error_entry(vha, rsp, (sts_entry_t *) pkt); in qla24xx_process_response_queue()
2533 if (qlt_24xx_process_response_error(vha, pkt)) in qla24xx_process_response_queue()
2544 qla2x00_status_entry(vha, rsp, pkt); in qla24xx_process_response_queue()
2550 qla24xx_report_id_acquisition(vha, in qla24xx_process_response_queue()
2554 qla24xx_logio_entry(vha, rsp->req, in qla24xx_process_response_queue()
2558 qla24xx_els_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla24xx_process_response_queue()
2561 qla24xx_els_ct_entry(vha, rsp->req, pkt, ELS_IOCB_TYPE); in qla24xx_process_response_queue()
2565 qlt_24xx_process_atio_queue(vha); in qla24xx_process_response_queue()
2570 qlt_response_pkt_all_vps(vha, (response_t *)pkt); in qla24xx_process_response_queue()
2578 qla24xx_abort_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
2583 ql_dbg(ql_dbg_async, vha, 0x5042, in qla24xx_process_response_queue()
2602 qla2xxx_check_risc_status(scsi_qla_host_t *vha) in qla2xxx_check_risc_status() argument
2606 struct qla_hw_data *ha = vha->hw; in qla2xxx_check_risc_status()
2643 ql_log(ql_log_info, vha, 0x504c, in qla2xxx_check_risc_status()
2663 scsi_qla_host_t *vha; in qla24xx_intr_handler() local
2689 vha = pci_get_drvdata(ha->pdev); in qla24xx_intr_handler()
2692 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_intr_handler()
2700 ql_log(ql_log_warn, vha, 0x504b, in qla24xx_intr_handler()
2704 qla2xxx_check_risc_status(vha); in qla24xx_intr_handler()
2706 ha->isp_ops->fw_dump(vha, 1); in qla24xx_intr_handler()
2707 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_intr_handler()
2717 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_intr_handler()
2726 qla2x00_async_event(vha, rsp, mb); in qla24xx_intr_handler()
2730 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
2733 qlt_24xx_process_atio_queue(vha); in qla24xx_intr_handler()
2736 qlt_24xx_process_atio_queue(vha); in qla24xx_intr_handler()
2737 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
2740 ql_dbg(ql_dbg_async, vha, 0x504f, in qla24xx_intr_handler()
2761 struct scsi_qla_host *vha; in qla24xx_msix_rsp_q() local
2776 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_rsp_q()
2782 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_msix_rsp_q()
2784 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_rsp_q()
2799 scsi_qla_host_t *vha; in qla25xx_msix_rsp_q() local
2812 vha = pci_get_drvdata(ha->pdev); in qla25xx_msix_rsp_q()
2822 if (qla2x00_check_reg32_for_disconnect(vha, hccr)) in qla25xx_msix_rsp_q()
2833 scsi_qla_host_t *vha; in qla24xx_msix_default() local
2854 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_default()
2857 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_msix_default()
2865 ql_log(ql_log_info, vha, 0x5050, in qla24xx_msix_default()
2869 qla2xxx_check_risc_status(vha); in qla24xx_msix_default()
2871 ha->isp_ops->fw_dump(vha, 1); in qla24xx_msix_default()
2872 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_msix_default()
2882 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_msix_default()
2891 qla2x00_async_event(vha, rsp, mb); in qla24xx_msix_default()
2895 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
2898 qlt_24xx_process_atio_queue(vha); in qla24xx_msix_default()
2901 qlt_24xx_process_atio_queue(vha); in qla24xx_msix_default()
2902 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
2905 ql_dbg(ql_dbg_async, vha, 0x5051, in qla24xx_msix_default()
2946 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_disable_msix() local
2957 ql_dbg(ql_dbg_init, vha, 0x0042, in qla24xx_disable_msix()
2969 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_enable_msix() local
2974 ql_log(ql_log_warn, vha, 0x00bc, in qla24xx_enable_msix()
2985 ql_log(ql_log_fatal, vha, 0x00c7, in qla24xx_enable_msix()
2991 ql_log(ql_log_warn, vha, 0x00c6, in qla24xx_enable_msix()
3001 ql_log(ql_log_fatal, vha, 0x00c8, in qla24xx_enable_msix()
3050 ql_log(ql_log_fatal, vha, 0x00cb, in qla24xx_enable_msix()
3067 ql_dbg(ql_dbg_multiq, vha, 0xc005, in qla24xx_enable_msix()
3070 ql_dbg(ql_dbg_init, vha, 0x0055, in qla24xx_enable_msix()
3084 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla2x00_request_irqs() local
3096 ql_log(ql_log_warn, vha, 0x0034, in qla2x00_request_irqs()
3104 ql_log(ql_log_warn, vha, 0x0035, in qla2x00_request_irqs()
3112 ql_dbg(ql_dbg_init, vha, 0x0036, in qla2x00_request_irqs()
3120 ql_log(ql_log_info, vha, 0x0037, in qla2x00_request_irqs()
3130 ql_dbg(ql_dbg_init, vha, 0x0038, in qla2x00_request_irqs()
3134 ql_log(ql_log_warn, vha, 0x0039, in qla2x00_request_irqs()
3146 ql_log(ql_log_warn, vha, 0x003a, in qla2x00_request_irqs()
3151 ql_dbg(ql_dbg_init, vha, 0x0125, in qla2x00_request_irqs()
3169 qla2x00_free_irqs(scsi_qla_host_t *vha) in qla2x00_free_irqs() argument
3171 struct qla_hw_data *ha = vha->hw; in qla2x00_free_irqs()
3197 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla25xx_request_irq() local
3202 ql_log(ql_log_fatal, vha, 0x00e6, in qla25xx_request_irq()