Lines Matching refs:vha

24 static void qla27xx_process_purex_fpin(struct scsi_qla_host *vha,
26 static struct purex_item *qla24xx_alloc_purex_item(scsi_qla_host_t *vha,
28 static struct purex_item *qla24xx_copy_std_pkt(struct scsi_qla_host *vha,
30 static struct purex_item *qla27xx_copy_fpin_pkt(struct scsi_qla_host *vha,
34 qla27xx_process_purex_fpin(struct scsi_qla_host *vha, struct purex_item *item) in qla27xx_process_purex_fpin() argument
39 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x508d, in qla27xx_process_purex_fpin()
42 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x508e, in qla27xx_process_purex_fpin()
44 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x508f, in qla27xx_process_purex_fpin()
47 fc_host_fpin_rcv(vha->host, pkt_size, (char *)pkt); in qla27xx_process_purex_fpin()
59 qla24xx_process_abts(struct scsi_qla_host *vha, struct purex_item *pkt) in qla24xx_process_abts() argument
63 struct qla_hw_data *ha = vha->hw; in qla24xx_process_abts()
70 ql_dbg(ql_dbg_init, vha, 0x0286, "%s: entered.\n", __func__); in qla24xx_process_abts()
72 ql_log(ql_log_warn, vha, 0x0287, in qla24xx_process_abts()
76 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x0287, in qla24xx_process_abts()
78 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x0287, in qla24xx_process_abts()
84 ql_log(ql_log_warn, vha, 0x0287, in qla24xx_process_abts()
95 ql_dbg(ql_dbg_init, vha, 0x0283, in qla24xx_process_abts()
98 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x0283, in qla24xx_process_abts()
100 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x0283, in qla24xx_process_abts()
102 rval = qla2x00_issue_iocb(vha, rsp_els, dma, 0); in qla24xx_process_abts()
104 ql_log(ql_log_warn, vha, 0x0288, in qla24xx_process_abts()
107 ql_log(ql_log_warn, vha, 0x0289, in qla24xx_process_abts()
112 ql_dbg(ql_dbg_init, vha, 0x028a, in qla24xx_process_abts()
146 ql_dbg(ql_dbg_init, vha, 0x028b, in qla24xx_process_abts()
149 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x028b, in qla24xx_process_abts()
151 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x028b, in qla24xx_process_abts()
153 rval = qla2x00_issue_iocb(vha, abts_rsp, dma, 0); in qla24xx_process_abts()
155 ql_log(ql_log_warn, vha, 0x028c, in qla24xx_process_abts()
158 ql_log(ql_log_warn, vha, 0x028d, in qla24xx_process_abts()
164 ql_dbg(ql_dbg_init, vha, 0x028ea, in qla24xx_process_abts()
183 scsi_qla_host_t *vha; in qla2100_intr_handler() local
205 vha = pci_get_drvdata(ha->pdev); in qla2100_intr_handler()
208 if (qla2x00_check_reg16_for_disconnect(vha, hccr)) in qla2100_intr_handler()
222 ha->isp_ops->fw_dump(vha); in qla2100_intr_handler()
223 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2100_intr_handler()
235 qla2x00_mbx_completion(vha, mb[0]); in qla2100_intr_handler()
241 qla2x00_async_event(vha, rsp, mb); in qla2100_intr_handler()
244 ql_dbg(ql_dbg_async, vha, 0x5025, in qla2100_intr_handler()
265 qla2x00_check_reg32_for_disconnect(scsi_qla_host_t *vha, uint32_t reg) in qla2x00_check_reg32_for_disconnect() argument
268 if (reg == 0xffffffff && !pci_channel_offline(vha->hw->pdev)) { in qla2x00_check_reg32_for_disconnect()
269 if (!test_and_set_bit(PFLG_DISCONNECTED, &vha->pci_flags) && in qla2x00_check_reg32_for_disconnect()
270 !test_bit(PFLG_DRIVER_REMOVING, &vha->pci_flags) && in qla2x00_check_reg32_for_disconnect()
271 !test_bit(PFLG_DRIVER_PROBING, &vha->pci_flags)) { in qla2x00_check_reg32_for_disconnect()
277 schedule_work(&vha->hw->board_disable); in qla2x00_check_reg32_for_disconnect()
285 qla2x00_check_reg16_for_disconnect(scsi_qla_host_t *vha, uint16_t reg) in qla2x00_check_reg16_for_disconnect() argument
287 return qla2x00_check_reg32_for_disconnect(vha, 0xffff0000 | reg); in qla2x00_check_reg16_for_disconnect()
302 scsi_qla_host_t *vha; in qla2300_intr_handler() local
325 vha = pci_get_drvdata(ha->pdev); in qla2300_intr_handler()
328 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla2300_intr_handler()
337 ql_log(ql_log_warn, vha, 0x5026, in qla2300_intr_handler()
341 ql_log(ql_log_warn, vha, 0x5027, in qla2300_intr_handler()
353 ha->isp_ops->fw_dump(vha); in qla2300_intr_handler()
354 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2300_intr_handler()
364 qla2x00_mbx_completion(vha, MSW(stat)); in qla2300_intr_handler()
375 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
383 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
389 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
392 ql_dbg(ql_dbg_async, vha, 0x5028, in qla2300_intr_handler()
411 qla2x00_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla2x00_mbx_completion() argument
416 struct qla_hw_data *ha = vha->hw; in qla2x00_mbx_completion()
423 ql_dbg(ql_dbg_async, vha, 0x5001, "MBX pointer ERROR.\n"); in qla2x00_mbx_completion()
447 qla81xx_idc_event(scsi_qla_host_t *vha, uint16_t aen, uint16_t descr) in qla81xx_idc_event() argument
452 struct device_reg_24xx __iomem *reg24 = &vha->hw->iobase->isp24; in qla81xx_idc_event()
453 struct device_reg_82xx __iomem *reg82 = &vha->hw->iobase->isp82; in qla81xx_idc_event()
458 if (IS_QLA81XX(vha->hw) || IS_QLA83XX(vha->hw)) in qla81xx_idc_event()
460 else if (IS_QLA8044(vha->hw)) in qla81xx_idc_event()
468 ql_dbg(ql_dbg_async, vha, 0x5021, in qla81xx_idc_event()
477 vha->hw->flags.idc_compl_status = 1; in qla81xx_idc_event()
478 if (vha->hw->notify_dcbx_comp && !vha->vp_idx) in qla81xx_idc_event()
479 complete(&vha->hw->dcbx_comp); in qla81xx_idc_event()
486 ql_dbg(ql_dbg_async, vha, 0x5022, in qla81xx_idc_event()
488 vha->host_no, event[aen & 0xff], timeout); in qla81xx_idc_event()
492 rval = qla2x00_post_idc_ack_work(vha, mb); in qla81xx_idc_event()
494 ql_log(ql_log_warn, vha, 0x5023, in qla81xx_idc_event()
498 vha->hw->idc_extend_tmo = descr; in qla81xx_idc_event()
499 ql_dbg(ql_dbg_async, vha, 0x5087, in qla81xx_idc_event()
502 vha->host_no, event[aen & 0xff], vha->hw->idc_extend_tmo); in qla81xx_idc_event()
527 qla83xx_handle_8200_aen(scsi_qla_host_t *vha, uint16_t *mb) in qla83xx_handle_8200_aen() argument
529 struct qla_hw_data *ha = vha->hw; in qla83xx_handle_8200_aen()
542 ql_dbg(ql_dbg_async, vha, 0x506b, "AEN Code: mb[0] = 0x%x AEN reason: " in qla83xx_handle_8200_aen()
545 ql_dbg(ql_dbg_async, vha, 0x506c, "PH-status2: mb[3] = 0x%x " in qla83xx_handle_8200_aen()
552 ql_log(ql_log_warn, vha, 0x5060, in qla83xx_handle_8200_aen()
575 ql_log(ql_log_warn, vha, 0x5061, "PegHalt Status-1 " in qla83xx_handle_8200_aen()
579 ql_log(ql_log_warn, vha, 0x5062, "PegHalt Status-2 " in qla83xx_handle_8200_aen()
582 ql_log(ql_log_warn, vha, 0x5063, in qla83xx_handle_8200_aen()
585 ql_log(ql_log_fatal, vha, 0x5064, in qla83xx_handle_8200_aen()
588 qla83xx_schedule_work(vha, in qla83xx_handle_8200_aen()
591 ql_log(ql_log_fatal, vha, 0x5065, in qla83xx_handle_8200_aen()
594 qla83xx_schedule_work(vha, in qla83xx_handle_8200_aen()
649 ql_log(ql_log_warn, vha, 0x5066, in qla83xx_handle_8200_aen()
656 ql_log(ql_log_warn, vha, 0x5067, in qla83xx_handle_8200_aen()
661 ql_log(ql_log_warn, vha, 0x5068, in qla83xx_handle_8200_aen()
666 qla83xx_schedule_work(vha, QLA83XX_NIC_CORE_RESET); in qla83xx_handle_8200_aen()
670 ql_log(ql_log_warn, vha, 0x5069, in qla83xx_handle_8200_aen()
674 qla83xx_schedule_work(vha, QLA83XX_NIC_CORE_RESET); in qla83xx_handle_8200_aen()
679 ql_log(ql_log_info, vha, 0x506a, in qla83xx_handle_8200_aen()
683 qla83xx_schedule_work(vha, MBA_IDC_AEN); in qla83xx_handle_8200_aen()
688 qla2x00_is_a_vp_did(scsi_qla_host_t *vha, uint32_t rscn_entry) in qla2x00_is_a_vp_did() argument
690 struct qla_hw_data *ha = vha->hw; in qla2x00_is_a_vp_did()
713 qla2x00_find_fcport_by_loopid(scsi_qla_host_t *vha, uint16_t loop_id) in qla2x00_find_fcport_by_loopid() argument
718 list_for_each_entry_safe(f, tf, &vha->vp_fcports, list) in qla2x00_find_fcport_by_loopid()
725 qla2x00_find_fcport_by_wwpn(scsi_qla_host_t *vha, u8 *wwpn, u8 incl_deleted) in qla2x00_find_fcport_by_wwpn() argument
730 list_for_each_entry_safe(f, tf, &vha->vp_fcports, list) { in qla2x00_find_fcport_by_wwpn()
742 qla2x00_find_fcport_by_nportid(scsi_qla_host_t *vha, port_id_t *id, in qla2x00_find_fcport_by_nportid() argument
748 list_for_each_entry_safe(f, tf, &vha->vp_fcports, list) { in qla2x00_find_fcport_by_nportid()
761 qla27xx_handle_8200_aen(scsi_qla_host_t *vha, uint16_t *mb) in qla27xx_handle_8200_aen() argument
763 struct qla_hw_data *ha = vha->hw; in qla27xx_handle_8200_aen()
766 ql_log(ql_log_warn, vha, 0x02f0, in qla27xx_handle_8200_aen()
775 ql_log(ql_log_warn, vha, 0x02f1, in qla27xx_handle_8200_aen()
779 ha->isp_ops->fw_dump(vha); in qla27xx_handle_8200_aen()
783 ha->isp_ops->mpi_fw_dump(vha, 1); in qla27xx_handle_8200_aen()
786 vha->hw->flags.fw_init_done = 0; in qla27xx_handle_8200_aen()
787 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla27xx_handle_8200_aen()
788 qla2xxx_wake_dpc(vha); in qla27xx_handle_8200_aen()
793 qla24xx_alloc_purex_item(scsi_qla_host_t *vha, uint16_t size) in qla24xx_alloc_purex_item() argument
802 if (atomic_inc_return(&vha->default_item.in_use) == 1) { in qla24xx_alloc_purex_item()
803 item = &vha->default_item; in qla24xx_alloc_purex_item()
810 ql_log(ql_log_warn, vha, 0x5092, in qla24xx_alloc_purex_item()
817 item->vha = vha; in qla24xx_alloc_purex_item()
823 qla24xx_queue_purex_item(scsi_qla_host_t *vha, struct purex_item *pkt, in qla24xx_queue_purex_item() argument
824 void (*process_item)(struct scsi_qla_host *vha, in qla24xx_queue_purex_item() argument
827 struct purex_list *list = &vha->purex_list; in qla24xx_queue_purex_item()
836 set_bit(PROCESS_PUREX_IOCB, &vha->dpc_flags); in qla24xx_queue_purex_item()
847 *qla24xx_copy_std_pkt(struct scsi_qla_host *vha, void *pkt) in qla24xx_copy_std_pkt() argument
851 item = qla24xx_alloc_purex_item(vha, in qla24xx_copy_std_pkt()
868 qla27xx_copy_fpin_pkt(struct scsi_qla_host *vha, void **pkt, in qla27xx_copy_fpin_pkt() argument
886 ql_log(ql_log_info, vha, 0x509a, in qla27xx_copy_fpin_pkt()
890 item = qla24xx_alloc_purex_item(vha, total_bytes); in qla27xx_copy_fpin_pkt()
907 ql_dbg(ql_dbg_async, vha, 0x5084, in qla27xx_copy_fpin_pkt()
918 ql_log(ql_log_warn, vha, 0x507a, in qla27xx_copy_fpin_pkt()
941 ql_log(ql_log_warn, vha, 0x5044, in qla27xx_copy_fpin_pkt()
954 ql_log(ql_log_fatal, vha, 0x508b, in qla27xx_copy_fpin_pkt()
972 qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb) in qla2x00_async_event() argument
977 struct qla_hw_data *ha = vha->hw; in qla2x00_async_event()
985 if (!vha->hw->flags.fw_started) in qla2x00_async_event()
1045 if (!vha->flags.online) in qla2x00_async_event()
1049 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_async_event()
1054 ql_dbg(ql_dbg_async, vha, 0x5002, in qla2x00_async_event()
1057 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1071 ql_log(ql_log_warn, vha, 0x5003, in qla2x00_async_event()
1075 ql_log(ql_log_warn, vha, 0x5003, in qla2x00_async_event()
1081 ha->isp_ops->mpi_fw_dump(vha, 1); in qla2x00_async_event()
1082 ha->isp_ops->fw_dump(vha); in qla2x00_async_event()
1088 ql_log(ql_log_fatal, vha, 0x5004, in qla2x00_async_event()
1091 vha->flags.online = 0; in qla2x00_async_event()
1092 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
1097 &vha->dpc_flags); in qla2x00_async_event()
1099 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1102 ql_log(ql_log_fatal, vha, 0x5005, in qla2x00_async_event()
1105 vha->flags.online = 0; in qla2x00_async_event()
1106 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
1108 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1112 ql_log(ql_log_warn, vha, 0x5006, in qla2x00_async_event()
1115 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1119 ql_log(ql_log_warn, vha, 0x5007, in qla2x00_async_event()
1122 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1126 ql_dbg(ql_dbg_async, vha, 0x5008, in qla2x00_async_event()
1131 ql_log(ql_log_warn, vha, 0x5090, in qla2x00_async_event()
1133 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1139 ql_dbg(ql_dbg_async, vha, 0x5009, in qla2x00_async_event()
1142 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1143 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1144 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
1145 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1148 if (vha->vp_idx) { in qla2x00_async_event()
1149 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1150 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1153 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1154 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1156 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1157 qla2x00_post_aen_work(vha, FCH_EVT_LIP, mb[1]); in qla2x00_async_event()
1166 ql_log(ql_log_info, vha, 0x500a, in qla2x00_async_event()
1172 ql_log(ql_log_info, vha, 0x11a0, in qla2x00_async_event()
1176 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1177 qla2x00_post_aen_work(vha, FCH_EVT_LINKUP, ha->link_data_rate); in qla2x00_async_event()
1190 ql_log(ql_log_info, vha, 0x500b, in qla2x00_async_event()
1194 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1195 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1196 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
1202 if (!vha->vp_idx) { in qla2x00_async_event()
1205 memcpy(vha->port_name, ha->port_name, WWN_SIZE); in qla2x00_async_event()
1206 fc_host_port_name(vha->host) = in qla2x00_async_event()
1207 wwn_to_u64(vha->port_name); in qla2x00_async_event()
1209 vha, 0x00d8, "LOOP DOWN detected," in qla2x00_async_event()
1211 wwn_to_u64(vha->port_name)); in qla2x00_async_event()
1214 clear_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
1217 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
1218 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1221 if (vha->vp_idx) { in qla2x00_async_event()
1222 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1223 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1226 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1228 qla2x00_post_aen_work(vha, FCH_EVT_LINKDOWN, 0); in qla2x00_async_event()
1232 ql_dbg(ql_dbg_async, vha, 0x500c, in qla2x00_async_event()
1235 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1236 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1237 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
1238 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1241 if (vha->vp_idx) { in qla2x00_async_event()
1242 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1243 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1246 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1249 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1250 qla2x00_post_aen_work(vha, FCH_EVT_LIPRESET, mb[1]); in qla2x00_async_event()
1261 ql_dbg(ql_dbg_async, vha, 0x500d, in qla2x00_async_event()
1264 if (ha->notify_dcbx_comp && !vha->vp_idx) in qla2x00_async_event()
1268 ql_dbg(ql_dbg_async, vha, 0x500e, in qla2x00_async_event()
1275 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1276 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1277 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
1278 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1281 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1284 if (vha->vp_idx) { in qla2x00_async_event()
1285 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1286 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1289 if (!(test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags))) in qla2x00_async_event()
1290 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1292 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1293 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1295 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1302 ql_dbg(ql_dbg_async, vha, 0x500f, in qla2x00_async_event()
1305 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1306 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1307 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
1308 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1310 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1313 if (vha->vp_idx) { in qla2x00_async_event()
1314 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1315 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1318 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1319 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1340 (mb[1] != 0xffff)) && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
1344 ql_dbg(ql_dbg_async, vha, 0x5010, in qla2x00_async_event()
1353 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1354 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1364 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1365 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1370 fcport = qla2x00_find_fcport_by_loopid(vha, mb[1]); in qla2x00_async_event()
1375 ql_dbg(ql_dbg_async, vha, 0x508a, in qla2x00_async_event()
1378 if (qla_ini_mode_enabled(vha)) { in qla2x00_async_event()
1385 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1386 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1387 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1389 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
1390 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1393 if (vha->vp_idx) { in qla2x00_async_event()
1394 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1395 fc_vport_set_state(vha->fc_vport, in qla2x00_async_event()
1397 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1400 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1410 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
1411 if (atomic_read(&vha->loop_state) != LOOP_DOWN && in qla2x00_async_event()
1413 atomic_read(&vha->loop_state) != LOOP_DEAD) { in qla2x00_async_event()
1414 ql_dbg(ql_dbg_async, vha, 0x5011, in qla2x00_async_event()
1420 ql_dbg(ql_dbg_async, vha, 0x5012, in qla2x00_async_event()
1427 atomic_set(&vha->loop_state, LOOP_UP); in qla2x00_async_event()
1428 vha->scan.scan_retry = 0; in qla2x00_async_event()
1430 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1431 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1432 set_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
1437 if (vha->vp_idx && test_bit(VP_SCR_NEEDED, &vha->vp_flags)) in qla2x00_async_event()
1440 if (ha->flags.npiv_supported && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
1443 ql_dbg(ql_dbg_async, vha, 0x5013, in qla2x00_async_event()
1448 host_pid = (vha->d_id.b.domain << 16) | (vha->d_id.b.area << 8) in qla2x00_async_event()
1449 | vha->d_id.b.al_pa; in qla2x00_async_event()
1451 ql_dbg(ql_dbg_async, vha, 0x5014, in qla2x00_async_event()
1461 if (qla2x00_is_a_vp_did(vha, rscn_entry)) in qla2x00_async_event()
1464 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
1465 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1472 qla2x00_handle_rscn(vha, &ea); in qla2x00_async_event()
1473 qla2x00_post_aen_work(vha, FCH_EVT_RSCN, rscn_entry); in qla2x00_async_event()
1482 ql_dbg(ql_dbg_async, vha, 0x509b, in qla2x00_async_event()
1485 ql_log(ql_log_warn, vha, 0x509b, in qla2x00_async_event()
1491 ql_dbg(ql_dbg_async, vha, 0x5015, in qla2x00_async_event()
1495 qla24xx_process_response_queue(vha, rsp); in qla2x00_async_event()
1501 ql_dbg(ql_dbg_async, vha, 0x5016, in qla2x00_async_event()
1507 ql_dbg(ql_dbg_async, vha, 0x5017, in qla2x00_async_event()
1512 ql_dbg(ql_dbg_async, vha, 0x5018, in qla2x00_async_event()
1519 ql_log(ql_log_info, vha, 0x5019, in qla2x00_async_event()
1525 ql_log(ql_log_info, vha, 0x501a, in qla2x00_async_event()
1531 ql_log(ql_log_info, vha, 0x501b, in qla2x00_async_event()
1538 ql_log(ql_log_info, vha, 0x501c, in qla2x00_async_event()
1543 ql_log(ql_log_warn, vha, 0x501d, in qla2x00_async_event()
1550 ql_dbg(ql_dbg_async, vha, 0x501e, in qla2x00_async_event()
1555 ql_dbg(ql_dbg_async, vha, 0x501f, in qla2x00_async_event()
1560 ql_dbg(ql_dbg_async, vha, 0x5020, in qla2x00_async_event()
1565 if (IS_QLA8031(vha->hw) || IS_QLA8044(ha)) { in qla2x00_async_event()
1570 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1574 if (atomic_read(&vha->loop_state) == LOOP_DOWN) in qla2x00_async_event()
1575 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1577 qla2xxx_wake_dpc(vha); in qla2x00_async_event()
1582 if (ha->notify_lb_portup_comp && !vha->vp_idx) in qla2x00_async_event()
1586 if (IS_QLA81XX(vha->hw) || IS_QLA8031(vha->hw) || in qla2x00_async_event()
1588 qla81xx_idc_event(vha, mb[0], mb[1]); in qla2x00_async_event()
1593 qla27xx_handle_8200_aen(vha, mb); in qla2x00_async_event()
1599 qla83xx_handle_8200_aen(vha, mb); in qla2x00_async_event()
1601 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1608 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1611 memcpy(vha->dport_data, mb, sizeof(vha->dport_data)); in qla2x00_async_event()
1620 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1631 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1640 ql_dbg(ql_dbg_async, vha, 0x505e, in qla2x00_async_event()
1647 ql_dbg(ql_dbg_async, vha, 0x5091, in qla2x00_async_event()
1649 set_bit(DETECT_SFP_CHANGE, &vha->dpc_flags); in qla2x00_async_event()
1653 ql_dbg(ql_dbg_async, vha, 0x5091, "Transceiver Removal\n"); in qla2x00_async_event()
1657 ql_dbg(ql_dbg_async, vha, 0x5057, in qla2x00_async_event()
1662 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
1664 if (!vha->vp_idx && ha->num_vhosts) in qla2x00_async_event()
1675 qla2x00_process_completed_request(struct scsi_qla_host *vha, in qla2x00_process_completed_request() argument
1679 struct qla_hw_data *ha = vha->hw; in qla2x00_process_completed_request()
1683 ql_log(ql_log_warn, vha, 0x3014, in qla2x00_process_completed_request()
1687 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1689 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1701 ql_log(ql_log_warn, vha, 0x3016, "Invalid SCSI SRB.\n"); in qla2x00_process_completed_request()
1704 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1706 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1711 qla2x00_get_sp_from_handle(scsi_qla_host_t *vha, const char *func, in qla2x00_get_sp_from_handle() argument
1714 struct qla_hw_data *ha = vha->hw; in qla2x00_get_sp_from_handle()
1721 ql_log(ql_log_warn, vha, 0x5031, in qla2x00_get_sp_from_handle()
1725 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1727 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1732 ql_log(ql_log_warn, vha, 0x5032, in qla2x00_get_sp_from_handle()
1738 ql_log(ql_log_warn, vha, 0x5033, in qla2x00_get_sp_from_handle()
1749 qla2x00_mbx_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_mbx_iocb_entry() argument
1760 sp = qla2x00_get_sp_from_handle(vha, func, req, mbx); in qla2x00_mbx_iocb_entry()
1773 ql_dbg(ql_dbg_async, vha, 0x5043, in qla2x00_mbx_iocb_entry()
1782 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5029, in qla2x00_mbx_iocb_entry()
1793 ql_dbg(ql_dbg_async, vha, 0x5045, in qla2x00_mbx_iocb_entry()
1822 ql_log(ql_log_warn, vha, 0x5046, in qla2x00_mbx_iocb_entry()
1835 qla24xx_mbx_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_mbx_iocb_entry() argument
1839 struct qla_hw_data *ha = vha->hw; in qla24xx_mbx_iocb_entry()
1845 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_mbx_iocb_entry()
1852 ql_log(ql_log_warn, vha, 0x509d, in qla24xx_mbx_iocb_entry()
1855 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla24xx_mbx_iocb_entry()
1857 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_mbx_iocb_entry()
1873 qla24xxx_nack_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xxx_nack_iocb_entry() argument
1880 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xxx_nack_iocb_entry()
1891 qla2x00_ct_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_ct_entry() argument
1902 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_ct_entry()
1928 ql_log(ql_log_warn, vha, 0x5048, in qla2x00_ct_entry()
1933 ql_log(ql_log_warn, vha, 0x5049, in qla2x00_ct_entry()
1939 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5035, in qla2x00_ct_entry()
1953 res = qla2x00_chk_ms_status(vha, (ms_iocb_entry_t *)pkt, in qla2x00_ct_entry()
1963 qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_els_ct_entry() argument
1977 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_els_ct_entry()
1993 ql_dbg(ql_dbg_user, vha, 0x5047, in qla24xx_els_ct_entry()
2004 res = qla2x00_chk_ms_status(sp->vha, (ms_iocb_entry_t *)pkt, in qla24xx_els_ct_entry()
2010 ql_dbg(ql_dbg_user, vha, 0x503e, in qla24xx_els_ct_entry()
2037 ql_dbg(ql_dbg_disc, vha, 0x503f, in qla24xx_els_ct_entry()
2058 ql_dbg(ql_dbg_user, vha, 0x503f, in qla24xx_els_ct_entry()
2064 ql_dbg(ql_dbg_user, vha, 0x5040, in qla24xx_els_ct_entry()
2075 ql_dump_buffer(ql_dbg_user + ql_dbg_buffer, vha, 0x5056, in qla24xx_els_ct_entry()
2089 qla24xx_logio_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_logio_entry() argument
2100 sp = qla2x00_get_sp_from_handle(vha, func, req, logio); in qla24xx_logio_entry()
2113 ql_log(ql_log_warn, fcport->vha, 0x5034, in qla24xx_logio_entry()
2119 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x504d, in qla24xx_logio_entry()
2126 ql_dbg(ql_dbg_async, sp->vha, 0x5036, in qla24xx_logio_entry()
2131 vha->hw->exch_starvation = 0; in qla24xx_logio_entry()
2188 vha->hw->exch_starvation++; in qla24xx_logio_entry()
2189 if (vha->hw->exch_starvation > 5) { in qla24xx_logio_entry()
2190 ql_log(ql_log_warn, vha, 0xd046, in qla24xx_logio_entry()
2193 vha->hw->exch_starvation = 0; in qla24xx_logio_entry()
2195 if (IS_P3P_TYPE(vha->hw)) in qla24xx_logio_entry()
2196 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla24xx_logio_entry()
2198 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_logio_entry()
2199 qla2xxx_wake_dpc(vha); in qla24xx_logio_entry()
2207 ql_dbg(ql_dbg_async, sp->vha, 0x5037, in qla24xx_logio_entry()
2219 qla24xx_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk) in qla24xx_tm_iocb_entry() argument
2228 sp = qla2x00_get_sp_from_handle(vha, func, req, tsk); in qla24xx_tm_iocb_entry()
2238 ql_log(ql_log_warn, fcport->vha, 0x5038, in qla24xx_tm_iocb_entry()
2243 ql_log(ql_log_warn, fcport->vha, 0x5039, in qla24xx_tm_iocb_entry()
2251 ql_log(ql_log_warn, fcport->vha, 0x503b, in qla24xx_tm_iocb_entry()
2255 ql_log(ql_log_warn, fcport->vha, 0x503c, in qla24xx_tm_iocb_entry()
2263 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, sp->vha, 0x5055, in qla24xx_tm_iocb_entry()
2269 static void qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_nvme_iocb_entry() argument
2288 atomic_dec(&sp->vha->hw->nvme_active_aen_cnt); in qla24xx_nvme_iocb_entry()
2317 ql_dbg(ql_dbg_io, fcport->vha, 0x307a, in qla24xx_nvme_iocb_entry()
2332 ql_log(ql_log_warn, fcport->vha, 0x5100, in qla24xx_nvme_iocb_entry()
2350 ql_dbg(ql_dbg_io, fcport->vha, 0x3079, in qla24xx_nvme_iocb_entry()
2364 ql_log(ql_log_warn, fcport->vha, 0x5060, in qla24xx_nvme_iocb_entry()
2398 static void qla_ctrlvp_completed(scsi_qla_host_t *vha, struct req_que *req, in qla_ctrlvp_completed() argument
2405 sp = qla2x00_get_sp_from_handle(vha, func, req, vce); in qla_ctrlvp_completed()
2410 ql_dbg(ql_dbg_vport, vha, 0x10c4, in qla_ctrlvp_completed()
2415 ql_dbg(ql_dbg_vport, vha, 0x10c5, in qla_ctrlvp_completed()
2421 ql_dbg(ql_dbg_vport, vha, 0x10c6, in qla_ctrlvp_completed()
2430 static void qla2x00_process_response_entry(struct scsi_qla_host *vha, in qla2x00_process_response_entry() argument
2441 qla2x00_status_entry(vha, rsp, pkt); in qla2x00_process_response_entry()
2447 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_entry()
2454 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_entry()
2461 qla2x00_mbx_iocb_entry(vha, rsp->req, (struct mbx_entry *)pkt); in qla2x00_process_response_entry()
2464 qla2x00_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla2x00_process_response_entry()
2468 ql_log(ql_log_warn, vha, 0x504a, in qla2x00_process_response_entry()
2482 struct scsi_qla_host *vha; in qla2x00_process_response_queue() local
2487 vha = pci_get_drvdata(ha->pdev); in qla2x00_process_response_queue()
2489 if (!vha->flags.online) in qla2x00_process_response_queue()
2504 qla2x00_error_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
2510 qla2x00_process_response_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
2523 struct scsi_qla_host *vha = sp->vha; in qla2x00_handle_sense() local
2549 ql_dbg(ql_dbg_io + ql_dbg_buffer, vha, 0x301c, in qla2x00_handle_sense()
2551 sp->vha->host_no, cp->device->id, cp->device->lun, in qla2x00_handle_sense()
2553 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302b, in qla2x00_handle_sense()
2573 struct scsi_qla_host *vha = sp->vha; in qla2x00_handle_dif_error() local
2592 ql_dbg(ql_dbg_io, vha, 0x3023, in qla2x00_handle_dif_error()
2595 ql_dbg(ql_dbg_io, vha, 0x3024, in qla2x00_handle_dif_error()
2642 ql_log(ql_log_warn, vha, 0x302f, in qla2x00_handle_dif_error()
2693 qla25xx_process_bidir_status_iocb(scsi_qla_host_t *vha, void *pkt, in qla25xx_process_bidir_status_iocb() argument
2696 struct qla_hw_data *ha = vha->hw; in qla25xx_process_bidir_status_iocb()
2710 ql_log(ql_log_warn, vha, 0x70af, in qla25xx_process_bidir_status_iocb()
2712 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
2718 ql_log(ql_log_warn, vha, 0x70b0, in qla25xx_process_bidir_status_iocb()
2722 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
2746 vha->qla_stats.input_bytes += in qla25xx_process_bidir_status_iocb()
2748 vha->qla_stats.input_requests++; in qla25xx_process_bidir_status_iocb()
2754 ql_dbg(ql_dbg_user, vha, 0x70b1, in qla25xx_process_bidir_status_iocb()
2761 ql_dbg(ql_dbg_user, vha, 0x70b2, in qla25xx_process_bidir_status_iocb()
2767 ql_dbg(ql_dbg_user, vha, 0x70b3, in qla25xx_process_bidir_status_iocb()
2774 ql_dbg(ql_dbg_user, vha, 0x70b4, in qla25xx_process_bidir_status_iocb()
2781 ql_dbg(ql_dbg_user, vha, 0x70b5, in qla25xx_process_bidir_status_iocb()
2788 ql_dbg(ql_dbg_user, vha, 0x70b6, in qla25xx_process_bidir_status_iocb()
2795 ql_dbg(ql_dbg_user, vha, 0x70b7, in qla25xx_process_bidir_status_iocb()
2802 ql_dbg(ql_dbg_user, vha, 0x70b8, in qla25xx_process_bidir_status_iocb()
2809 ql_dbg(ql_dbg_user, vha, 0x70b9, in qla25xx_process_bidir_status_iocb()
2816 ql_dbg(ql_dbg_user, vha, 0x70ba, in qla25xx_process_bidir_status_iocb()
2822 ql_dbg(ql_dbg_user, vha, 0x70bb, in qla25xx_process_bidir_status_iocb()
2847 qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) in qla2x00_status_entry() argument
2862 struct qla_hw_data *ha = vha->hw; in qla2x00_status_entry()
2886 ql_dbg(ql_dbg_io, vha, 0x3059, in qla2x00_status_entry()
2896 ql_dbg(ql_dbg_io, vha, 0x3075, in qla2x00_status_entry()
2898 __func__, vha->host_no, sts->handle); in qla2x00_status_entry()
2902 ql_dbg(ql_dbg_io, vha, 0x3017, in qla2x00_status_entry()
2906 if (!test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_status_entry()
2908 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
2910 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
2911 qla2xxx_wake_dpc(vha); in qla2x00_status_entry()
2919 ql_dbg(ql_dbg_io, vha, 0x3015, in qla2x00_status_entry()
2928 qla24xx_nvme_iocb_entry(vha, req, pkt, sp); in qla2x00_status_entry()
2933 qla25xx_process_bidir_status_iocb(vha, pkt, req, handle); in qla2x00_status_entry()
2939 qla24xx_tm_iocb_entry(vha, req, pkt); in qla2x00_status_entry()
2945 qla2x00_process_completed_request(vha, req, handle); in qla2x00_status_entry()
2953 ql_dbg(ql_dbg_io, vha, 0x3018, in qla2x00_status_entry()
3001 ql_dbg(ql_dbg_io, fcport->vha, 0x3019, in qla2x00_status_entry()
3040 ql_dbg(ql_dbg_io, fcport->vha, 0x301a, in qla2x00_status_entry()
3051 ql_dbg(ql_dbg_io, fcport->vha, 0x301b, in qla2x00_status_entry()
3073 ql_dbg(ql_dbg_io, fcport->vha, 0x301d, in qla2x00_status_entry()
3084 ql_dbg(ql_dbg_io, fcport->vha, 0x301e, in qla2x00_status_entry()
3098 ql_dbg(ql_dbg_io, fcport->vha, 0x301f, in qla2x00_status_entry()
3105 ql_dbg(ql_dbg_io, fcport->vha, 0x3030, in qla2x00_status_entry()
3120 ql_dbg(ql_dbg_io, fcport->vha, 0x3020, in qla2x00_status_entry()
3161 ql_dbg(ql_dbg_disc, fcport->vha, 0x3021, in qla2x00_status_entry()
3195 ql_log(ql_log_info, fcport->vha, 0x3022, in qla2x00_status_entry()
3197 comp_status, scsi_status, res, vha->host_no, in qla2x00_status_entry()
3201 ql_dump_buffer(ql_dbg_tgt + ql_dbg_verbose, vha, 0xe0ee, in qla2x00_status_entry()
3212 ql_dbg(ql_dbg_io, fcport->vha, 0x3022, in qla2x00_status_entry()
3216 comp_status, scsi_status, res, vha->host_no, in qla2x00_status_entry()
3238 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla2x00_status_cont_entry() local
3252 ql_log(ql_log_warn, vha, 0x3025, in qla2x00_status_cont_entry()
3268 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302c, in qla2x00_status_cont_entry()
3292 qla2x00_error_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, sts_entry_t *pkt) in qla2x00_error_entry() argument
3295 struct qla_hw_data *ha = vha->hw; in qla2x00_error_entry()
3301 ql_dbg(ql_dbg_async, vha, 0x502a, in qla2x00_error_entry()
3326 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_error_entry()
3340 ql_log(ql_log_warn, vha, 0x5030, in qla2x00_error_entry()
3351 qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla24xx_mbx_completion() argument
3356 struct qla_hw_data *ha = vha->hw; in qla24xx_mbx_completion()
3363 ql_dbg(ql_dbg_async, vha, 0x504e, "MBX pointer ERROR.\n"); in qla24xx_mbx_completion()
3383 qla24xx_abort_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_abort_iocb_entry() argument
3390 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_abort_iocb_entry()
3399 void qla24xx_nvme_ls4_iocb(struct scsi_qla_host *vha, in qla24xx_nvme_ls4_iocb() argument
3406 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_nvme_ls4_iocb()
3419 void qla24xx_process_response_queue(struct scsi_qla_host *vha, in qla24xx_process_response_queue() argument
3423 struct qla_hw_data *ha = vha->hw; in qla24xx_process_response_queue()
3447 if (qla2x00_error_entry(vha, rsp, (sts_entry_t *) pkt)) in qla24xx_process_response_queue()
3458 qla2x00_status_entry(vha, rsp, pkt); in qla24xx_process_response_queue()
3464 qla24xx_report_id_acquisition(vha, in qla24xx_process_response_queue()
3468 qla24xx_logio_entry(vha, rsp->req, in qla24xx_process_response_queue()
3472 qla24xx_els_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla24xx_process_response_queue()
3475 qla24xx_els_ct_entry(vha, rsp->req, pkt, ELS_IOCB_TYPE); in qla24xx_process_response_queue()
3478 if (qla_ini_mode_enabled(vha)) { in qla24xx_process_response_queue()
3479 pure_item = qla24xx_copy_std_pkt(vha, pkt); in qla24xx_process_response_queue()
3482 qla24xx_queue_purex_item(vha, pure_item, in qla24xx_process_response_queue()
3489 qlt_handle_abts_recv(vha, rsp, in qla24xx_process_response_queue()
3493 qlt_24xx_process_atio_queue(vha, 1); in qla24xx_process_response_queue()
3499 qlt_response_pkt_all_vps(vha, rsp, (response_t *)pkt); in qla24xx_process_response_queue()
3502 qla24xx_nvme_ls4_iocb(vha, (struct pt_ls4_request *)pkt, in qla24xx_process_response_queue()
3507 qlt_response_pkt_all_vps(vha, rsp, in qla24xx_process_response_queue()
3510 qla24xxx_nack_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
3519 qla24xx_abort_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
3523 qla24xx_mbx_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
3527 qla_ctrlvp_completed(vha, rsp->req, in qla24xx_process_response_queue()
3534 pure_item = qla24xx_copy_std_pkt(vha, pkt); in qla24xx_process_response_queue()
3537 qla24xx_queue_purex_item(vha, pure_item, in qla24xx_process_response_queue()
3541 if (!vha->hw->flags.scm_enabled) { in qla24xx_process_response_queue()
3542 ql_log(ql_log_warn, vha, 0x5094, in qla24xx_process_response_queue()
3546 pure_item = qla27xx_copy_fpin_pkt(vha, in qla24xx_process_response_queue()
3550 qla24xx_queue_purex_item(vha, pure_item, in qla24xx_process_response_queue()
3555 ql_log(ql_log_warn, vha, 0x509c, in qla24xx_process_response_queue()
3562 ql_dbg(ql_dbg_async, vha, 0x5042, in qla24xx_process_response_queue()
3582 qla2xxx_check_risc_status(scsi_qla_host_t *vha) in qla2xxx_check_risc_status() argument
3586 struct qla_hw_data *ha = vha->hw; in qla2xxx_check_risc_status()
3623 ql_log(ql_log_info, vha, 0x504c, in qla2xxx_check_risc_status()
3643 scsi_qla_host_t *vha; in qla24xx_intr_handler() local
3670 vha = pci_get_drvdata(ha->pdev); in qla24xx_intr_handler()
3673 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_intr_handler()
3681 ql_log(ql_log_warn, vha, 0x504b, in qla24xx_intr_handler()
3685 qla2xxx_check_risc_status(vha); in qla24xx_intr_handler()
3687 ha->isp_ops->fw_dump(vha); in qla24xx_intr_handler()
3688 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_intr_handler()
3698 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_intr_handler()
3707 qla2x00_async_event(vha, rsp, mb); in qla24xx_intr_handler()
3711 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
3719 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
3722 ql_dbg(ql_dbg_async, vha, 0x504f, in qla24xx_intr_handler()
3736 qlt_24xx_process_atio_queue(vha, 0); in qla24xx_intr_handler()
3749 struct scsi_qla_host *vha; in qla24xx_msix_rsp_q() local
3763 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_rsp_q()
3764 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_rsp_q()
3777 scsi_qla_host_t *vha; in qla24xx_msix_default() local
3799 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_default()
3802 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_msix_default()
3810 ql_log(ql_log_info, vha, 0x5050, in qla24xx_msix_default()
3814 qla2xxx_check_risc_status(vha); in qla24xx_msix_default()
3816 ha->isp_ops->fw_dump(vha); in qla24xx_msix_default()
3817 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_msix_default()
3827 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_msix_default()
3836 qla2x00_async_event(vha, rsp, mb); in qla24xx_msix_default()
3840 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
3848 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
3851 ql_dbg(ql_dbg_async, vha, 0x5051, in qla24xx_msix_default()
3862 qlt_24xx_process_atio_queue(vha, 0); in qla24xx_msix_default()
3939 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_enable_msix() local
3961 ql_log(ql_log_fatal, vha, 0x00c7, in qla24xx_enable_msix()
3967 ql_log(ql_log_info, vha, 0x00c6, in qla24xx_enable_msix()
3985 vha->irq_offset = desc.pre_vectors; in qla24xx_enable_msix()
3990 ql_log(ql_log_fatal, vha, 0x00c8, in qla24xx_enable_msix()
4012 "qla2xxx%lu_%s", vha->host_no, msix_entries[i].name); in qla24xx_enable_msix()
4037 "qla2xxx%lu_%s", vha->host_no, in qla24xx_enable_msix()
4048 ql_log(ql_log_fatal, vha, 0x00cb, in qla24xx_enable_msix()
4051 qla2x00_free_irqs(vha); in qla24xx_enable_msix()
4063 ql_dbg(ql_dbg_multiq, vha, 0xc005, in qla24xx_enable_msix()
4066 ql_dbg(ql_dbg_init, vha, 0x0055, in qla24xx_enable_msix()
4083 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla2x00_request_irqs() local
4098 ql_log(ql_log_warn, vha, 0x0034, in qla2x00_request_irqs()
4106 ql_log(ql_log_warn, vha, 0x0035, in qla2x00_request_irqs()
4114 ql_dbg(ql_dbg_init, vha, 0x0036, in qla2x00_request_irqs()
4122 ql_log(ql_log_info, vha, 0x0037, in qla2x00_request_irqs()
4132 ql_dbg(ql_dbg_init, vha, 0x0038, in qla2x00_request_irqs()
4136 ql_log(ql_log_warn, vha, 0x0039, in qla2x00_request_irqs()
4148 ql_log(ql_log_warn, vha, 0x003a, in qla2x00_request_irqs()
4153 ql_dbg(ql_dbg_init, vha, 0x0125, in qla2x00_request_irqs()
4173 qla2x00_free_irqs(scsi_qla_host_t *vha) in qla2x00_free_irqs() argument
4175 struct qla_hw_data *ha = vha->hw; in qla2x00_free_irqs()
4199 ql_dbg(ql_dbg_init, vha, 0x0042, in qla2x00_free_irqs()
4213 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla25xx_request_irq() local
4217 "qla2xxx%lu_qpair%d", vha->host_no, qpair->id); in qla25xx_request_irq()
4220 ql_log(ql_log_fatal, vha, 0x00e6, in qla25xx_request_irq()