Lines Matching refs:vha

25 static void qla27xx_process_purex_fpin(struct scsi_qla_host *vha,
27 static struct purex_item *qla24xx_alloc_purex_item(scsi_qla_host_t *vha,
29 static struct purex_item *qla24xx_copy_std_pkt(struct scsi_qla_host *vha,
31 static struct purex_item *qla27xx_copy_fpin_pkt(struct scsi_qla_host *vha,
35 qla27xx_process_purex_fpin(struct scsi_qla_host *vha, struct purex_item *item) in qla27xx_process_purex_fpin() argument
40 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x508d, in qla27xx_process_purex_fpin()
43 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x508e, in qla27xx_process_purex_fpin()
45 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x508f, in qla27xx_process_purex_fpin()
48 fc_host_fpin_rcv(vha->host, pkt_size, (char *)pkt, 0); in qla27xx_process_purex_fpin()
60 qla24xx_process_abts(struct scsi_qla_host *vha, struct purex_item *pkt) in qla24xx_process_abts() argument
64 struct qla_hw_data *ha = vha->hw; in qla24xx_process_abts()
71 ql_dbg(ql_dbg_init, vha, 0x0286, "%s: entered.\n", __func__); in qla24xx_process_abts()
73 ql_log(ql_log_warn, vha, 0x0287, in qla24xx_process_abts()
77 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x0287, in qla24xx_process_abts()
79 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x0287, in qla24xx_process_abts()
85 ql_log(ql_log_warn, vha, 0x0287, in qla24xx_process_abts()
96 ql_dbg(ql_dbg_init, vha, 0x0283, in qla24xx_process_abts()
99 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x0283, in qla24xx_process_abts()
101 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x0283, in qla24xx_process_abts()
103 rval = qla2x00_issue_iocb(vha, rsp_els, dma, 0); in qla24xx_process_abts()
105 ql_log(ql_log_warn, vha, 0x0288, in qla24xx_process_abts()
108 ql_log(ql_log_warn, vha, 0x0289, in qla24xx_process_abts()
113 ql_dbg(ql_dbg_init, vha, 0x028a, in qla24xx_process_abts()
147 ql_dbg(ql_dbg_init, vha, 0x028b, in qla24xx_process_abts()
150 ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x028b, in qla24xx_process_abts()
152 ql_dump_buffer(ql_dbg_init + ql_dbg_verbose, vha, 0x028b, in qla24xx_process_abts()
154 rval = qla2x00_issue_iocb(vha, abts_rsp, dma, 0); in qla24xx_process_abts()
156 ql_log(ql_log_warn, vha, 0x028c, in qla24xx_process_abts()
159 ql_log(ql_log_warn, vha, 0x028d, in qla24xx_process_abts()
165 ql_dbg(ql_dbg_init, vha, 0x028ea, in qla24xx_process_abts()
183 void __qla_consume_iocb(struct scsi_qla_host *vha, in __qla_consume_iocb() argument
220 int __qla_copy_purex_to_buffer(struct scsi_qla_host *vha, in __qla_copy_purex_to_buffer() argument
242 ql_dbg(ql_dbg_async, vha, 0x5084, in __qla_copy_purex_to_buffer()
245 __qla_consume_iocb(vha, pkt, rsp); in __qla_copy_purex_to_buffer()
268 ql_log(ql_log_warn, vha, 0x507a, in __qla_copy_purex_to_buffer()
290 ql_log(ql_log_warn, vha, 0x5044, in __qla_copy_purex_to_buffer()
303 ql_log(ql_log_fatal, vha, 0x508b, in __qla_copy_purex_to_buffer()
327 scsi_qla_host_t *vha; in qla2100_intr_handler() local
349 vha = pci_get_drvdata(ha->pdev); in qla2100_intr_handler()
352 if (qla2x00_check_reg16_for_disconnect(vha, hccr)) in qla2100_intr_handler()
366 ha->isp_ops->fw_dump(vha); in qla2100_intr_handler()
367 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2100_intr_handler()
379 qla2x00_mbx_completion(vha, mb[0]); in qla2100_intr_handler()
385 qla2x00_async_event(vha, rsp, mb); in qla2100_intr_handler()
388 ql_dbg(ql_dbg_async, vha, 0x5025, in qla2100_intr_handler()
409 qla2x00_check_reg32_for_disconnect(scsi_qla_host_t *vha, uint32_t reg) in qla2x00_check_reg32_for_disconnect() argument
412 if (reg == 0xffffffff && !pci_channel_offline(vha->hw->pdev)) { in qla2x00_check_reg32_for_disconnect()
413 if (!test_and_set_bit(PFLG_DISCONNECTED, &vha->pci_flags) && in qla2x00_check_reg32_for_disconnect()
414 !test_bit(PFLG_DRIVER_REMOVING, &vha->pci_flags) && in qla2x00_check_reg32_for_disconnect()
415 !test_bit(PFLG_DRIVER_PROBING, &vha->pci_flags)) { in qla2x00_check_reg32_for_disconnect()
416 qla_schedule_eeh_work(vha); in qla2x00_check_reg32_for_disconnect()
424 qla2x00_check_reg16_for_disconnect(scsi_qla_host_t *vha, uint16_t reg) in qla2x00_check_reg16_for_disconnect() argument
426 return qla2x00_check_reg32_for_disconnect(vha, 0xffff0000 | reg); in qla2x00_check_reg16_for_disconnect()
441 scsi_qla_host_t *vha; in qla2300_intr_handler() local
464 vha = pci_get_drvdata(ha->pdev); in qla2300_intr_handler()
467 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla2300_intr_handler()
476 ql_log(ql_log_warn, vha, 0x5026, in qla2300_intr_handler()
480 ql_log(ql_log_warn, vha, 0x5027, in qla2300_intr_handler()
492 ha->isp_ops->fw_dump(vha); in qla2300_intr_handler()
493 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2300_intr_handler()
503 qla2x00_mbx_completion(vha, MSW(stat)); in qla2300_intr_handler()
514 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
522 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
528 qla2x00_async_event(vha, rsp, mb); in qla2300_intr_handler()
531 ql_dbg(ql_dbg_async, vha, 0x5028, in qla2300_intr_handler()
550 qla2x00_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla2x00_mbx_completion() argument
555 struct qla_hw_data *ha = vha->hw; in qla2x00_mbx_completion()
562 ql_dbg(ql_dbg_async, vha, 0x5001, "MBX pointer ERROR.\n"); in qla2x00_mbx_completion()
586 qla81xx_idc_event(scsi_qla_host_t *vha, uint16_t aen, uint16_t descr) in qla81xx_idc_event() argument
591 struct device_reg_24xx __iomem *reg24 = &vha->hw->iobase->isp24; in qla81xx_idc_event()
592 struct device_reg_82xx __iomem *reg82 = &vha->hw->iobase->isp82; in qla81xx_idc_event()
597 if (IS_QLA81XX(vha->hw) || IS_QLA83XX(vha->hw)) in qla81xx_idc_event()
599 else if (IS_QLA8044(vha->hw)) in qla81xx_idc_event()
607 ql_dbg(ql_dbg_async, vha, 0x5021, in qla81xx_idc_event()
616 vha->hw->flags.idc_compl_status = 1; in qla81xx_idc_event()
617 if (vha->hw->notify_dcbx_comp && !vha->vp_idx) in qla81xx_idc_event()
618 complete(&vha->hw->dcbx_comp); in qla81xx_idc_event()
625 ql_dbg(ql_dbg_async, vha, 0x5022, in qla81xx_idc_event()
627 vha->host_no, event[aen & 0xff], timeout); in qla81xx_idc_event()
631 rval = qla2x00_post_idc_ack_work(vha, mb); in qla81xx_idc_event()
633 ql_log(ql_log_warn, vha, 0x5023, in qla81xx_idc_event()
637 vha->hw->idc_extend_tmo = descr; in qla81xx_idc_event()
638 ql_dbg(ql_dbg_async, vha, 0x5087, in qla81xx_idc_event()
641 vha->host_no, event[aen & 0xff], vha->hw->idc_extend_tmo); in qla81xx_idc_event()
666 qla83xx_handle_8200_aen(scsi_qla_host_t *vha, uint16_t *mb) in qla83xx_handle_8200_aen() argument
668 struct qla_hw_data *ha = vha->hw; in qla83xx_handle_8200_aen()
681 ql_dbg(ql_dbg_async, vha, 0x506b, "AEN Code: mb[0] = 0x%x AEN reason: " in qla83xx_handle_8200_aen()
684 ql_dbg(ql_dbg_async, vha, 0x506c, "PH-status2: mb[3] = 0x%x " in qla83xx_handle_8200_aen()
691 ql_log(ql_log_warn, vha, 0x5060, in qla83xx_handle_8200_aen()
714 ql_log(ql_log_warn, vha, 0x5061, "PegHalt Status-1 " in qla83xx_handle_8200_aen()
718 ql_log(ql_log_warn, vha, 0x5062, "PegHalt Status-2 " in qla83xx_handle_8200_aen()
721 ql_log(ql_log_warn, vha, 0x5063, in qla83xx_handle_8200_aen()
724 ql_log(ql_log_fatal, vha, 0x5064, in qla83xx_handle_8200_aen()
727 qla83xx_schedule_work(vha, in qla83xx_handle_8200_aen()
730 ql_log(ql_log_fatal, vha, 0x5065, in qla83xx_handle_8200_aen()
733 qla83xx_schedule_work(vha, in qla83xx_handle_8200_aen()
788 ql_log(ql_log_warn, vha, 0x5066, in qla83xx_handle_8200_aen()
795 ql_log(ql_log_warn, vha, 0x5067, in qla83xx_handle_8200_aen()
800 ql_log(ql_log_warn, vha, 0x5068, in qla83xx_handle_8200_aen()
805 qla83xx_schedule_work(vha, QLA83XX_NIC_CORE_RESET); in qla83xx_handle_8200_aen()
809 ql_log(ql_log_warn, vha, 0x5069, in qla83xx_handle_8200_aen()
813 qla83xx_schedule_work(vha, QLA83XX_NIC_CORE_RESET); in qla83xx_handle_8200_aen()
818 ql_log(ql_log_info, vha, 0x506a, in qla83xx_handle_8200_aen()
822 qla83xx_schedule_work(vha, MBA_IDC_AEN); in qla83xx_handle_8200_aen()
827 qla2x00_is_a_vp_did(scsi_qla_host_t *vha, uint32_t rscn_entry) in qla2x00_is_a_vp_did() argument
829 struct qla_hw_data *ha = vha->hw; in qla2x00_is_a_vp_did()
852 qla2x00_find_fcport_by_loopid(scsi_qla_host_t *vha, uint16_t loop_id) in qla2x00_find_fcport_by_loopid() argument
857 list_for_each_entry_safe(f, tf, &vha->vp_fcports, list) in qla2x00_find_fcport_by_loopid()
864 qla2x00_find_fcport_by_wwpn(scsi_qla_host_t *vha, u8 *wwpn, u8 incl_deleted) in qla2x00_find_fcport_by_wwpn() argument
869 list_for_each_entry_safe(f, tf, &vha->vp_fcports, list) { in qla2x00_find_fcport_by_wwpn()
881 qla2x00_find_fcport_by_nportid(scsi_qla_host_t *vha, port_id_t *id, in qla2x00_find_fcport_by_nportid() argument
887 list_for_each_entry_safe(f, tf, &vha->vp_fcports, list) { in qla2x00_find_fcport_by_nportid()
900 qla27xx_handle_8200_aen(scsi_qla_host_t *vha, uint16_t *mb) in qla27xx_handle_8200_aen() argument
902 struct qla_hw_data *ha = vha->hw; in qla27xx_handle_8200_aen()
905 ql_log(ql_log_warn, vha, 0x02f0, in qla27xx_handle_8200_aen()
914 ql_log(ql_log_warn, vha, 0x02f1, in qla27xx_handle_8200_aen()
918 ha->isp_ops->fw_dump(vha); in qla27xx_handle_8200_aen()
922 ha->isp_ops->mpi_fw_dump(vha, 1); in qla27xx_handle_8200_aen()
925 vha->hw->flags.fw_init_done = 0; in qla27xx_handle_8200_aen()
926 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla27xx_handle_8200_aen()
927 qla2xxx_wake_dpc(vha); in qla27xx_handle_8200_aen()
932 qla24xx_alloc_purex_item(scsi_qla_host_t *vha, uint16_t size) in qla24xx_alloc_purex_item() argument
941 if (atomic_inc_return(&vha->default_item.in_use) == 1) { in qla24xx_alloc_purex_item()
942 item = &vha->default_item; in qla24xx_alloc_purex_item()
949 ql_log(ql_log_warn, vha, 0x5092, in qla24xx_alloc_purex_item()
956 item->vha = vha; in qla24xx_alloc_purex_item()
962 qla24xx_queue_purex_item(scsi_qla_host_t *vha, struct purex_item *pkt, in qla24xx_queue_purex_item() argument
963 void (*process_item)(struct scsi_qla_host *vha, in qla24xx_queue_purex_item() argument
966 struct purex_list *list = &vha->purex_list; in qla24xx_queue_purex_item()
975 set_bit(PROCESS_PUREX_IOCB, &vha->dpc_flags); in qla24xx_queue_purex_item()
986 *qla24xx_copy_std_pkt(struct scsi_qla_host *vha, void *pkt) in qla24xx_copy_std_pkt() argument
990 item = qla24xx_alloc_purex_item(vha, in qla24xx_copy_std_pkt()
1007 qla27xx_copy_fpin_pkt(struct scsi_qla_host *vha, void **pkt, in qla27xx_copy_fpin_pkt() argument
1025 ql_log(ql_log_info, vha, 0x509a, in qla27xx_copy_fpin_pkt()
1029 item = qla24xx_alloc_purex_item(vha, total_bytes); in qla27xx_copy_fpin_pkt()
1046 ql_dbg(ql_dbg_async, vha, 0x5084, in qla27xx_copy_fpin_pkt()
1057 ql_log(ql_log_warn, vha, 0x507a, in qla27xx_copy_fpin_pkt()
1080 ql_log(ql_log_warn, vha, 0x5044, in qla27xx_copy_fpin_pkt()
1093 ql_log(ql_log_fatal, vha, 0x508b, in qla27xx_copy_fpin_pkt()
1111 qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb) in qla2x00_async_event() argument
1116 struct qla_hw_data *ha = vha->hw; in qla2x00_async_event()
1124 if (!vha->hw->flags.fw_started) in qla2x00_async_event()
1184 if (!vha->flags.online) in qla2x00_async_event()
1188 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_async_event()
1193 ql_dbg(ql_dbg_async, vha, 0x5002, in qla2x00_async_event()
1196 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1202 vha->hw_err_cnt++; in qla2x00_async_event()
1213 ql_log(ql_log_warn, vha, 0x5003, in qla2x00_async_event()
1217 ql_log(ql_log_warn, vha, 0x5003, in qla2x00_async_event()
1223 ha->isp_ops->mpi_fw_dump(vha, 1); in qla2x00_async_event()
1224 ha->isp_ops->fw_dump(vha); in qla2x00_async_event()
1230 ql_log(ql_log_fatal, vha, 0x5004, in qla2x00_async_event()
1233 vha->flags.online = 0; in qla2x00_async_event()
1234 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
1239 &vha->dpc_flags); in qla2x00_async_event()
1241 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1244 ql_log(ql_log_fatal, vha, 0x5005, in qla2x00_async_event()
1247 vha->flags.online = 0; in qla2x00_async_event()
1248 vha->device_flags |= DFLG_DEV_FAILED; in qla2x00_async_event()
1250 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1254 ql_log(ql_log_warn, vha, 0x5006, in qla2x00_async_event()
1257 vha->hw_err_cnt++; in qla2x00_async_event()
1259 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1263 ql_log(ql_log_warn, vha, 0x5007, in qla2x00_async_event()
1266 vha->hw_err_cnt++; in qla2x00_async_event()
1268 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1272 ql_dbg(ql_dbg_async, vha, 0x5008, in qla2x00_async_event()
1277 ql_log(ql_log_warn, vha, 0x5090, in qla2x00_async_event()
1279 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1285 ql_dbg(ql_dbg_async, vha, 0x5009, in qla2x00_async_event()
1288 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1289 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1290 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
1291 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1294 if (vha->vp_idx) { in qla2x00_async_event()
1295 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1296 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1299 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1300 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1302 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1303 qla2x00_post_aen_work(vha, FCH_EVT_LIP, mb[1]); in qla2x00_async_event()
1312 ql_log(ql_log_info, vha, 0x500a, in qla2x00_async_event()
1318 ql_log(ql_log_info, vha, 0x11a0, in qla2x00_async_event()
1322 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1323 qla2x00_post_aen_work(vha, FCH_EVT_LINKUP, ha->link_data_rate); in qla2x00_async_event()
1325 if (vha->link_down_time < vha->hw->port_down_retry_count) { in qla2x00_async_event()
1326 vha->short_link_down_cnt++; in qla2x00_async_event()
1327 vha->link_down_time = QLA2XX_MAX_LINK_DOWN_TIME; in qla2x00_async_event()
1336 vha->link_down_time = 0; in qla2x00_async_event()
1342 ql_log(ql_log_info, vha, 0x500b, in qla2x00_async_event()
1346 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1347 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1348 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); in qla2x00_async_event()
1354 if (!vha->vp_idx) { in qla2x00_async_event()
1357 memcpy(vha->port_name, ha->port_name, WWN_SIZE); in qla2x00_async_event()
1358 fc_host_port_name(vha->host) = in qla2x00_async_event()
1359 wwn_to_u64(vha->port_name); in qla2x00_async_event()
1361 vha, 0x00d8, "LOOP DOWN detected," in qla2x00_async_event()
1363 wwn_to_u64(vha->port_name)); in qla2x00_async_event()
1366 clear_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
1369 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
1370 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1373 if (vha->vp_idx) { in qla2x00_async_event()
1374 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1375 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1378 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1380 qla2x00_post_aen_work(vha, FCH_EVT_LINKDOWN, 0); in qla2x00_async_event()
1384 ql_dbg(ql_dbg_async, vha, 0x500c, in qla2x00_async_event()
1387 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1388 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1389 atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); 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, FC_VPORT_FAILED); in qla2x00_async_event()
1398 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1401 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1402 qla2x00_post_aen_work(vha, FCH_EVT_LIPRESET, mb[1]); in qla2x00_async_event()
1413 ql_dbg(ql_dbg_async, vha, 0x500d, in qla2x00_async_event()
1416 if (ha->notify_dcbx_comp && !vha->vp_idx) in qla2x00_async_event()
1420 ql_dbg(ql_dbg_async, vha, 0x500e, in qla2x00_async_event()
1427 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1428 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1429 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
1430 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1433 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1436 if (vha->vp_idx) { in qla2x00_async_event()
1437 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1438 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1441 if (!(test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags))) in qla2x00_async_event()
1442 set_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1444 set_bit(REGISTER_FC4_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1445 set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1447 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1454 ql_dbg(ql_dbg_async, vha, 0x500f, in qla2x00_async_event()
1457 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1458 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1459 if (!atomic_read(&vha->loop_down_timer)) in qla2x00_async_event()
1460 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1462 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1465 if (vha->vp_idx) { in qla2x00_async_event()
1466 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1467 fc_vport_set_state(vha->fc_vport, FC_VPORT_FAILED); in qla2x00_async_event()
1470 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1471 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1492 (mb[1] != 0xffff)) && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
1496 ql_dbg(ql_dbg_async, vha, 0x5010, in qla2x00_async_event()
1505 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1506 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1516 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1517 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1522 fcport = qla2x00_find_fcport_by_loopid(vha, mb[1]); in qla2x00_async_event()
1527 ql_dbg(ql_dbg_async, vha, 0x508a, in qla2x00_async_event()
1530 if (qla_ini_mode_enabled(vha)) { in qla2x00_async_event()
1537 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { in qla2x00_async_event()
1538 atomic_set(&vha->loop_state, LOOP_DOWN); in qla2x00_async_event()
1539 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1541 vha->device_flags |= DFLG_NO_CABLE; in qla2x00_async_event()
1542 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1545 if (vha->vp_idx) { in qla2x00_async_event()
1546 atomic_set(&vha->vp_state, VP_FAILED); in qla2x00_async_event()
1547 fc_vport_set_state(vha->fc_vport, in qla2x00_async_event()
1549 qla2x00_mark_all_devices_lost(vha); in qla2x00_async_event()
1552 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1562 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
1563 if (atomic_read(&vha->loop_state) != LOOP_DOWN && in qla2x00_async_event()
1565 atomic_read(&vha->loop_state) != LOOP_DEAD) { in qla2x00_async_event()
1566 ql_dbg(ql_dbg_async, vha, 0x5011, in qla2x00_async_event()
1572 ql_dbg(ql_dbg_async, vha, 0x5012, in qla2x00_async_event()
1579 atomic_set(&vha->loop_state, LOOP_UP); in qla2x00_async_event()
1580 vha->scan.scan_retry = 0; in qla2x00_async_event()
1582 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1583 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); in qla2x00_async_event()
1584 set_bit(VP_CONFIG_OK, &vha->vp_flags); in qla2x00_async_event()
1589 if (vha->vp_idx && test_bit(VP_SCR_NEEDED, &vha->vp_flags)) in qla2x00_async_event()
1592 if (ha->flags.npiv_supported && vha->vp_idx != (mb[3] & 0xff)) in qla2x00_async_event()
1595 ql_log(ql_log_warn, vha, 0x5013, in qla2x00_async_event()
1600 host_pid = (vha->d_id.b.domain << 16) | (vha->d_id.b.area << 8) in qla2x00_async_event()
1601 | vha->d_id.b.al_pa; in qla2x00_async_event()
1603 ql_dbg(ql_dbg_async, vha, 0x5014, in qla2x00_async_event()
1613 if (qla2x00_is_a_vp_did(vha, rscn_entry)) in qla2x00_async_event()
1616 atomic_set(&vha->loop_down_timer, 0); in qla2x00_async_event()
1617 vha->flags.management_server_logged_in = 0; in qla2x00_async_event()
1624 qla2x00_handle_rscn(vha, &ea); in qla2x00_async_event()
1625 qla2x00_post_aen_work(vha, FCH_EVT_RSCN, rscn_entry); in qla2x00_async_event()
1634 ql_dbg(ql_dbg_async, vha, 0x509b, in qla2x00_async_event()
1637 ql_log(ql_log_warn, vha, 0x509b, in qla2x00_async_event()
1643 ql_dbg(ql_dbg_async, vha, 0x5015, in qla2x00_async_event()
1647 qla24xx_process_response_queue(vha, rsp); in qla2x00_async_event()
1653 ql_dbg(ql_dbg_async, vha, 0x5016, in qla2x00_async_event()
1656 vha->interface_err_cnt++; in qla2x00_async_event()
1660 ql_dbg(ql_dbg_async, vha, 0x5017, in qla2x00_async_event()
1665 ql_dbg(ql_dbg_async, vha, 0x5018, in qla2x00_async_event()
1672 ql_log(ql_log_info, vha, 0x5019, in qla2x00_async_event()
1678 ql_log(ql_log_info, vha, 0x501a, in qla2x00_async_event()
1684 ql_log(ql_log_info, vha, 0x501b, in qla2x00_async_event()
1691 ql_log(ql_log_info, vha, 0x501c, in qla2x00_async_event()
1696 ql_log(ql_log_warn, vha, 0x501d, in qla2x00_async_event()
1703 ql_dbg(ql_dbg_async, vha, 0x501e, in qla2x00_async_event()
1708 ql_dbg(ql_dbg_async, vha, 0x501f, in qla2x00_async_event()
1713 ql_dbg(ql_dbg_async, vha, 0x5020, in qla2x00_async_event()
1718 if (IS_QLA8031(vha->hw) || IS_QLA8044(ha)) { in qla2x00_async_event()
1723 set_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags); in qla2x00_async_event()
1727 if (atomic_read(&vha->loop_state) == LOOP_DOWN) in qla2x00_async_event()
1728 atomic_set(&vha->loop_down_timer, in qla2x00_async_event()
1730 qla2xxx_wake_dpc(vha); in qla2x00_async_event()
1735 if (ha->notify_lb_portup_comp && !vha->vp_idx) in qla2x00_async_event()
1739 if (IS_QLA81XX(vha->hw) || IS_QLA8031(vha->hw) || in qla2x00_async_event()
1741 qla81xx_idc_event(vha, mb[0], mb[1]); in qla2x00_async_event()
1746 vha->hw_err_cnt++; in qla2x00_async_event()
1747 qla27xx_handle_8200_aen(vha, mb); in qla2x00_async_event()
1753 qla83xx_handle_8200_aen(vha, mb); in qla2x00_async_event()
1755 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1764 vha->dport_status &= ~DPORT_DIAG_IN_PROGRESS; in qla2x00_async_event()
1765 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1768 memcpy(vha->dport_data, mb, sizeof(vha->dport_data)); in qla2x00_async_event()
1777 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1788 ql_dbg(ql_dbg_async, vha, 0x5052, in qla2x00_async_event()
1797 ql_dbg(ql_dbg_async, vha, 0x505e, in qla2x00_async_event()
1802 ql_dbg(ql_dbg_async, vha, 0x5091, in qla2x00_async_event()
1804 set_bit(DETECT_SFP_CHANGE, &vha->dpc_flags); in qla2x00_async_event()
1808 ql_dbg(ql_dbg_async, vha, 0x5091, "Transceiver Removal\n"); in qla2x00_async_event()
1812 ql_dbg(ql_dbg_async, vha, 0x5057, in qla2x00_async_event()
1817 qlt_async_event(mb[0], vha, mb); in qla2x00_async_event()
1819 if (!vha->vp_idx && ha->num_vhosts) in qla2x00_async_event()
1830 qla2x00_process_completed_request(struct scsi_qla_host *vha, in qla2x00_process_completed_request() argument
1834 struct qla_hw_data *ha = vha->hw; in qla2x00_process_completed_request()
1838 ql_log(ql_log_warn, vha, 0x3014, in qla2x00_process_completed_request()
1842 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1844 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1856 ql_log(ql_log_warn, vha, 0x3016, "Invalid SCSI SRB.\n"); in qla2x00_process_completed_request()
1859 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1861 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_process_completed_request()
1866 qla2x00_get_sp_from_handle(scsi_qla_host_t *vha, const char *func, in qla2x00_get_sp_from_handle() argument
1869 struct qla_hw_data *ha = vha->hw; in qla2x00_get_sp_from_handle()
1879 ql_log(ql_log_warn, vha, 0x5031, in qla2x00_get_sp_from_handle()
1883 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1885 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_get_sp_from_handle()
1890 ql_log(ql_log_warn, vha, 0x5032, in qla2x00_get_sp_from_handle()
1896 ql_log(ql_log_warn, vha, 0x5033, in qla2x00_get_sp_from_handle()
1907 qla2x00_mbx_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_mbx_iocb_entry() argument
1918 sp = qla2x00_get_sp_from_handle(vha, func, req, mbx); in qla2x00_mbx_iocb_entry()
1931 ql_dbg(ql_dbg_async, vha, 0x5043, in qla2x00_mbx_iocb_entry()
1940 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5029, in qla2x00_mbx_iocb_entry()
1951 ql_dbg(ql_dbg_async, vha, 0x5045, in qla2x00_mbx_iocb_entry()
1980 ql_log(ql_log_warn, vha, 0x5046, in qla2x00_mbx_iocb_entry()
1993 qla24xx_mbx_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_mbx_iocb_entry() argument
1997 struct qla_hw_data *ha = vha->hw; in qla24xx_mbx_iocb_entry()
2003 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_mbx_iocb_entry()
2010 ql_log(ql_log_warn, vha, 0x509d, in qla24xx_mbx_iocb_entry()
2013 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla24xx_mbx_iocb_entry()
2015 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_mbx_iocb_entry()
2031 qla24xxx_nack_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xxx_nack_iocb_entry() argument
2038 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xxx_nack_iocb_entry()
2049 qla2x00_ct_entry(scsi_qla_host_t *vha, struct req_que *req, in qla2x00_ct_entry() argument
2060 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_ct_entry()
2086 ql_log(ql_log_warn, vha, 0x5048, in qla2x00_ct_entry()
2091 ql_log(ql_log_warn, vha, 0x5049, in qla2x00_ct_entry()
2097 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x5035, in qla2x00_ct_entry()
2111 res = qla2x00_chk_ms_status(vha, (ms_iocb_entry_t *)pkt, in qla2x00_ct_entry()
2135 scsi_qla_host_t *vha; in qla24xx_els_ct_entry() local
2142 vha = sp->vha; in qla24xx_els_ct_entry()
2162 ql_dbg(ql_dbg_user, vha, 0x700f, in qla24xx_els_ct_entry()
2174 ql_dbg(ql_dbg_user + ql_dbg_verbose, vha, 0x700e, in qla24xx_els_ct_entry()
2178 ql_dbg(ql_dbg_user, vha, 0x700f, in qla24xx_els_ct_entry()
2191 ql_dbg(ql_dbg_user, vha, 0x5047, in qla24xx_els_ct_entry()
2202 res = qla2x00_chk_ms_status(sp->vha, (ms_iocb_entry_t *)pkt, in qla24xx_els_ct_entry()
2208 ql_dbg(ql_dbg_user, vha, 0x503e, in qla24xx_els_ct_entry()
2229 ql_dbg(ql_dbg_user, vha, 0x503f, in qla24xx_els_ct_entry()
2237 ql_dbg(ql_dbg_disc, vha, 0x911e, in qla24xx_els_ct_entry()
2252 ql_dbg(ql_dbg_user, vha, 0x503f, in qla24xx_els_ct_entry()
2256 ql_dbg(ql_dbg_user, vha, 0x503f, in qla24xx_els_ct_entry()
2266 ql_dbg(ql_dbg_edif, vha, 0x911e, in qla24xx_els_ct_entry()
2271 ql_log(ql_log_info, vha, 0x503f, in qla24xx_els_ct_entry()
2274 ql_log(ql_log_info, vha, 0x503f, in qla24xx_els_ct_entry()
2300 ql_dbg(ql_dbg_user, vha, 0x503f, in qla24xx_els_ct_entry()
2306 ql_dbg(ql_dbg_user, vha, 0x5040, in qla24xx_els_ct_entry()
2317 ql_dump_buffer(ql_dbg_user + ql_dbg_buffer, vha, 0x5056, in qla24xx_els_ct_entry()
2331 qla24xx_logio_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_logio_entry() argument
2343 sp = qla2x00_get_sp_from_handle(vha, func, req, logio); in qla24xx_logio_entry()
2356 ql_log(ql_log_warn, fcport->vha, 0x5034, in qla24xx_logio_entry()
2362 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x504d, in qla24xx_logio_entry()
2369 ql_dbg(ql_dbg_async, sp->vha, 0x5036, in qla24xx_logio_entry()
2374 vha->hw->exch_starvation = 0; in qla24xx_logio_entry()
2437 vha->hw->exch_starvation++; in qla24xx_logio_entry()
2438 if (vha->hw->exch_starvation > 5) { in qla24xx_logio_entry()
2439 ql_log(ql_log_warn, vha, 0xd046, in qla24xx_logio_entry()
2442 vha->hw->exch_starvation = 0; in qla24xx_logio_entry()
2444 if (IS_P3P_TYPE(vha->hw)) in qla24xx_logio_entry()
2445 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla24xx_logio_entry()
2447 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_logio_entry()
2448 qla2xxx_wake_dpc(vha); in qla24xx_logio_entry()
2457 ql_log(ql_log_warn, sp->vha, 0x5037, "Async-%s failed: " in qla24xx_logio_entry()
2464 ql_dbg(ql_dbg_disc, sp->vha, 0x5037, "Async-%s failed: " in qla24xx_logio_entry()
2476 qla24xx_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk) in qla24xx_tm_iocb_entry() argument
2486 sp = qla2x00_get_sp_from_handle(vha, func, req, tsk); in qla24xx_tm_iocb_entry()
2497 ql_log(ql_log_warn, fcport->vha, 0x5038, in qla24xx_tm_iocb_entry()
2502 ql_log(ql_log_warn, fcport->vha, 0x5039, in qla24xx_tm_iocb_entry()
2510 ql_log(ql_log_warn, fcport->vha, 0x503b, in qla24xx_tm_iocb_entry()
2514 ql_log(ql_log_warn, fcport->vha, 0x503c, in qla24xx_tm_iocb_entry()
2530 ql_dbg(ql_dbg_disc, fcport->vha, 0x3021, in qla24xx_tm_iocb_entry()
2546 ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, sp->vha, 0x5055, in qla24xx_tm_iocb_entry()
2552 static void qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_nvme_iocb_entry() argument
2571 atomic_dec(&sp->vha->hw->nvme_active_aen_cnt); in qla24xx_nvme_iocb_entry()
2602 ql_dbg(ql_dbg_io, fcport->vha, 0x307a, in qla24xx_nvme_iocb_entry()
2617 ql_log(ql_log_warn, fcport->vha, 0x5100, in qla24xx_nvme_iocb_entry()
2635 ql_log(ql_log_warn, fcport->vha, 0x3079, in qla24xx_nvme_iocb_entry()
2649 ql_dbg(ql_dbg_io, fcport->vha, 0x5060, in qla24xx_nvme_iocb_entry()
2668 ql_dbg(ql_dbg_disc, fcport->vha, 0x3021, in qla24xx_nvme_iocb_entry()
2692 static void qla_ctrlvp_completed(scsi_qla_host_t *vha, struct req_que *req, in qla_ctrlvp_completed() argument
2699 sp = qla2x00_get_sp_from_handle(vha, func, req, vce); in qla_ctrlvp_completed()
2704 ql_dbg(ql_dbg_vport, vha, 0x10c4, in qla_ctrlvp_completed()
2709 ql_dbg(ql_dbg_vport, vha, 0x10c5, in qla_ctrlvp_completed()
2715 ql_dbg(ql_dbg_vport, vha, 0x10c6, in qla_ctrlvp_completed()
2724 static void qla2x00_process_response_entry(struct scsi_qla_host *vha, in qla2x00_process_response_entry() argument
2735 qla2x00_status_entry(vha, rsp, pkt); in qla2x00_process_response_entry()
2741 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_entry()
2748 qla2x00_process_completed_request(vha, rsp->req, in qla2x00_process_response_entry()
2755 qla2x00_mbx_iocb_entry(vha, rsp->req, (struct mbx_entry *)pkt); in qla2x00_process_response_entry()
2758 qla2x00_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla2x00_process_response_entry()
2762 ql_log(ql_log_warn, vha, 0x504a, in qla2x00_process_response_entry()
2776 struct scsi_qla_host *vha; in qla2x00_process_response_queue() local
2781 vha = pci_get_drvdata(ha->pdev); in qla2x00_process_response_queue()
2783 if (!vha->flags.online) in qla2x00_process_response_queue()
2798 qla2x00_error_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
2804 qla2x00_process_response_entry(vha, rsp, pkt); in qla2x00_process_response_queue()
2817 struct scsi_qla_host *vha = sp->vha; in qla2x00_handle_sense() local
2843 ql_dbg(ql_dbg_io + ql_dbg_buffer, vha, 0x301c, in qla2x00_handle_sense()
2845 sp->vha->host_no, cp->device->id, cp->device->lun, in qla2x00_handle_sense()
2847 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302b, in qla2x00_handle_sense()
2867 struct scsi_qla_host *vha = sp->vha; in qla2x00_handle_dif_error() local
2886 ql_dbg(ql_dbg_io, vha, 0x3023, in qla2x00_handle_dif_error()
2889 ql_dbg(ql_dbg_io, vha, 0x3024, in qla2x00_handle_dif_error()
2936 ql_log(ql_log_warn, vha, 0x302f, in qla2x00_handle_dif_error()
2978 qla25xx_process_bidir_status_iocb(scsi_qla_host_t *vha, void *pkt, in qla25xx_process_bidir_status_iocb() argument
2981 struct qla_hw_data *ha = vha->hw; in qla25xx_process_bidir_status_iocb()
2995 ql_log(ql_log_warn, vha, 0x70af, in qla25xx_process_bidir_status_iocb()
2997 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
3003 ql_log(ql_log_warn, vha, 0x70b0, in qla25xx_process_bidir_status_iocb()
3007 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla25xx_process_bidir_status_iocb()
3031 vha->qla_stats.input_bytes += in qla25xx_process_bidir_status_iocb()
3033 vha->qla_stats.input_requests++; in qla25xx_process_bidir_status_iocb()
3039 ql_dbg(ql_dbg_user, vha, 0x70b1, in qla25xx_process_bidir_status_iocb()
3046 ql_dbg(ql_dbg_user, vha, 0x70b2, in qla25xx_process_bidir_status_iocb()
3052 ql_dbg(ql_dbg_user, vha, 0x70b3, in qla25xx_process_bidir_status_iocb()
3059 ql_dbg(ql_dbg_user, vha, 0x70b4, in qla25xx_process_bidir_status_iocb()
3066 ql_dbg(ql_dbg_user, vha, 0x70b5, in qla25xx_process_bidir_status_iocb()
3073 ql_dbg(ql_dbg_user, vha, 0x70b6, in qla25xx_process_bidir_status_iocb()
3080 ql_dbg(ql_dbg_user, vha, 0x70b7, in qla25xx_process_bidir_status_iocb()
3087 ql_dbg(ql_dbg_user, vha, 0x70b8, in qla25xx_process_bidir_status_iocb()
3094 ql_dbg(ql_dbg_user, vha, 0x70b9, in qla25xx_process_bidir_status_iocb()
3101 ql_dbg(ql_dbg_user, vha, 0x70ba, in qla25xx_process_bidir_status_iocb()
3107 ql_dbg(ql_dbg_user, vha, 0x70bb, in qla25xx_process_bidir_status_iocb()
3133 qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) in qla2x00_status_entry() argument
3148 struct qla_hw_data *ha = vha->hw; in qla2x00_status_entry()
3172 ql_dbg(ql_dbg_io, vha, 0x3059, in qla2x00_status_entry()
3182 ql_dbg(ql_dbg_io, vha, 0x3075, in qla2x00_status_entry()
3184 __func__, vha->host_no, sts->handle); in qla2x00_status_entry()
3188 ql_dbg(ql_dbg_io, vha, 0x3017, in qla2x00_status_entry()
3192 if (!test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { in qla2x00_status_entry()
3194 set_bit(FCOE_CTX_RESET_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
3196 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla2x00_status_entry()
3197 qla2xxx_wake_dpc(vha); in qla2x00_status_entry()
3205 ql_dbg(ql_dbg_io, vha, 0x3015, in qla2x00_status_entry()
3214 qla24xx_nvme_iocb_entry(vha, req, pkt, sp); in qla2x00_status_entry()
3219 qla25xx_process_bidir_status_iocb(vha, pkt, req, handle); in qla2x00_status_entry()
3225 qla24xx_tm_iocb_entry(vha, req, pkt); in qla2x00_status_entry()
3230 qla_chk_edif_rx_sa_delete_pending(vha, sp, sts24); in qla2x00_status_entry()
3234 qla2x00_process_completed_request(vha, req, handle); in qla2x00_status_entry()
3242 ql_dbg(ql_dbg_io, vha, 0x3018, in qla2x00_status_entry()
3290 ql_dbg(ql_dbg_io, fcport->vha, 0x3019, in qla2x00_status_entry()
3329 ql_dbg(ql_dbg_io, fcport->vha, 0x301a, in qla2x00_status_entry()
3340 ql_dbg(ql_dbg_io, fcport->vha, 0x301b, in qla2x00_status_entry()
3362 ql_log(ql_log_warn, fcport->vha, 0x301d, in qla2x00_status_entry()
3373 ql_dbg(ql_dbg_io, fcport->vha, 0x301e, in qla2x00_status_entry()
3387 ql_log(ql_log_warn, fcport->vha, 0x301f, in qla2x00_status_entry()
3391 vha->interface_err_cnt++; in qla2x00_status_entry()
3396 ql_dbg(ql_dbg_io, fcport->vha, 0x3030, in qla2x00_status_entry()
3411 ql_dbg(ql_dbg_io, fcport->vha, 0x3020, in qla2x00_status_entry()
3453 ql_dbg(ql_dbg_disc, fcport->vha, 0x3021, in qla2x00_status_entry()
3476 vha->hw_err_cnt++; in qla2x00_status_entry()
3488 ql_log(ql_log_info, fcport->vha, 0x3022, in qla2x00_status_entry()
3490 comp_status, scsi_status, res, vha->host_no, in qla2x00_status_entry()
3494 ql_dump_buffer(ql_dbg_tgt + ql_dbg_verbose, vha, 0xe0ee, in qla2x00_status_entry()
3497 vha->hw_err_cnt++; in qla2x00_status_entry()
3506 ql_dbg(ql_dbg_io, fcport->vha, 0x3022, in qla2x00_status_entry()
3508 comp_status, scsi_status, res, vha->host_no, in qla2x00_status_entry()
3530 struct scsi_qla_host *vha = pci_get_drvdata(ha->pdev); in qla2x00_status_cont_entry() local
3544 ql_log(ql_log_warn, vha, 0x3025, in qla2x00_status_cont_entry()
3560 ql_dump_buffer(ql_dbg_io + ql_dbg_buffer, vha, 0x302c, in qla2x00_status_cont_entry()
3584 qla2x00_error_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, sts_entry_t *pkt) in qla2x00_error_entry() argument
3587 struct qla_hw_data *ha = vha->hw; in qla2x00_error_entry()
3593 ql_dbg(ql_dbg_async, vha, 0x502a, in qla2x00_error_entry()
3618 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla2x00_error_entry()
3632 ql_log(ql_log_warn, vha, 0x5030, in qla2x00_error_entry()
3643 qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) in qla24xx_mbx_completion() argument
3648 struct qla_hw_data *ha = vha->hw; in qla24xx_mbx_completion()
3655 ql_dbg(ql_dbg_async, vha, 0x504e, "MBX pointer ERROR.\n"); in qla24xx_mbx_completion()
3675 qla24xx_abort_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, in qla24xx_abort_iocb_entry() argument
3683 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_abort_iocb_entry()
3697 void qla24xx_nvme_ls4_iocb(struct scsi_qla_host *vha, in qla24xx_nvme_ls4_iocb() argument
3704 sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); in qla24xx_nvme_ls4_iocb()
3720 static int qla_chk_cont_iocb_avail(struct scsi_qla_host *vha, in qla_chk_cont_iocb_avail() argument
3745 ql_dbg(ql_dbg_init, vha, 0x5091, in qla_chk_cont_iocb_avail()
3757 void qla24xx_process_response_queue(struct scsi_qla_host *vha, in qla24xx_process_response_queue() argument
3761 struct qla_hw_data *ha = vha->hw; in qla24xx_process_response_queue()
3798 if (qla2x00_error_entry(vha, rsp, (sts_entry_t *) pkt)) in qla24xx_process_response_queue()
3809 qla2x00_status_entry(vha, rsp, pkt); in qla24xx_process_response_queue()
3815 qla24xx_report_id_acquisition(vha, in qla24xx_process_response_queue()
3819 qla24xx_logio_entry(vha, rsp->req, in qla24xx_process_response_queue()
3823 qla24xx_els_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE); in qla24xx_process_response_queue()
3826 qla24xx_els_ct_entry(vha, rsp->req, pkt, ELS_IOCB_TYPE); in qla24xx_process_response_queue()
3829 if (qla_ini_mode_enabled(vha)) { in qla24xx_process_response_queue()
3830 pure_item = qla24xx_copy_std_pkt(vha, pkt); in qla24xx_process_response_queue()
3833 qla24xx_queue_purex_item(vha, pure_item, in qla24xx_process_response_queue()
3840 qlt_handle_abts_recv(vha, rsp, in qla24xx_process_response_queue()
3844 qlt_24xx_process_atio_queue(vha, 1); in qla24xx_process_response_queue()
3850 qlt_response_pkt_all_vps(vha, rsp, (response_t *)pkt); in qla24xx_process_response_queue()
3853 qla24xx_nvme_ls4_iocb(vha, (struct pt_ls4_request *)pkt, in qla24xx_process_response_queue()
3858 qlt_response_pkt_all_vps(vha, rsp, in qla24xx_process_response_queue()
3861 qla24xxx_nack_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
3870 qla24xx_abort_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
3874 qla24xx_mbx_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
3878 qla_ctrlvp_completed(vha, rsp->req, in qla24xx_process_response_queue()
3885 pure_item = qla24xx_copy_std_pkt(vha, pkt); in qla24xx_process_response_queue()
3888 qla24xx_queue_purex_item(vha, pure_item, in qla24xx_process_response_queue()
3892 if (!vha->hw->flags.scm_enabled) { in qla24xx_process_response_queue()
3893 ql_log(ql_log_warn, vha, 0x5094, in qla24xx_process_response_queue()
3897 pure_item = qla27xx_copy_fpin_pkt(vha, in qla24xx_process_response_queue()
3902 qla24xx_queue_purex_item(vha, pure_item, in qla24xx_process_response_queue()
3907 if (qla_chk_cont_iocb_avail(vha, rsp, (response_t *)pkt, rsp_in)) { in qla24xx_process_response_queue()
3918 ql_dbg(ql_dbg_init, vha, 0x5091, in qla24xx_process_response_queue()
3923 qla24xx_auth_els(vha, (void **)&pkt, &rsp); in qla24xx_process_response_queue()
3926 ql_log(ql_log_warn, vha, 0x509c, in qla24xx_process_response_queue()
3932 qla28xx_sa_update_iocb_entry(vha, rsp->req, in qla24xx_process_response_queue()
3938 ql_dbg(ql_dbg_async, vha, 0x5042, in qla24xx_process_response_queue()
3958 qla2xxx_check_risc_status(scsi_qla_host_t *vha) in qla2xxx_check_risc_status() argument
3962 struct qla_hw_data *ha = vha->hw; in qla2xxx_check_risc_status()
3999 ql_log(ql_log_info, vha, 0x504c, in qla2xxx_check_risc_status()
4019 scsi_qla_host_t *vha; in qla24xx_intr_handler() local
4046 vha = pci_get_drvdata(ha->pdev); in qla24xx_intr_handler()
4049 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_intr_handler()
4057 ql_log(ql_log_warn, vha, 0x504b, in qla24xx_intr_handler()
4061 qla2xxx_check_risc_status(vha); in qla24xx_intr_handler()
4063 ha->isp_ops->fw_dump(vha); in qla24xx_intr_handler()
4064 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_intr_handler()
4074 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_intr_handler()
4083 qla2x00_async_event(vha, rsp, mb); in qla24xx_intr_handler()
4087 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
4095 qla24xx_process_response_queue(vha, rsp); in qla24xx_intr_handler()
4098 ql_dbg(ql_dbg_async, vha, 0x504f, in qla24xx_intr_handler()
4112 qlt_24xx_process_atio_queue(vha, 0); in qla24xx_intr_handler()
4125 struct scsi_qla_host *vha; in qla24xx_msix_rsp_q() local
4139 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_rsp_q()
4140 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_rsp_q()
4153 scsi_qla_host_t *vha; in qla24xx_msix_default() local
4175 vha = pci_get_drvdata(ha->pdev); in qla24xx_msix_default()
4178 if (qla2x00_check_reg32_for_disconnect(vha, stat)) in qla24xx_msix_default()
4186 ql_log(ql_log_info, vha, 0x5050, in qla24xx_msix_default()
4190 qla2xxx_check_risc_status(vha); in qla24xx_msix_default()
4191 vha->hw_err_cnt++; in qla24xx_msix_default()
4193 ha->isp_ops->fw_dump(vha); in qla24xx_msix_default()
4194 set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); in qla24xx_msix_default()
4204 qla24xx_mbx_completion(vha, MSW(stat)); in qla24xx_msix_default()
4213 qla2x00_async_event(vha, rsp, mb); in qla24xx_msix_default()
4217 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
4225 qla24xx_process_response_queue(vha, rsp); in qla24xx_msix_default()
4228 ql_dbg(ql_dbg_async, vha, 0x5051, in qla24xx_msix_default()
4239 qlt_24xx_process_atio_queue(vha, 0); in qla24xx_msix_default()
4316 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla24xx_enable_msix() local
4340 ql_log(ql_log_fatal, vha, 0x00c7, in qla24xx_enable_msix()
4346 ql_log(ql_log_info, vha, 0x00c6, in qla24xx_enable_msix()
4364 vha->irq_offset = desc.pre_vectors; in qla24xx_enable_msix()
4369 ql_log(ql_log_fatal, vha, 0x00c8, in qla24xx_enable_msix()
4392 "qla2xxx%lu_%s", vha->host_no, msix_entries[i].name); in qla24xx_enable_msix()
4417 "qla2xxx%lu_%s", vha->host_no, in qla24xx_enable_msix()
4428 ql_log(ql_log_fatal, vha, 0x00cb, in qla24xx_enable_msix()
4431 qla2x00_free_irqs(vha); in qla24xx_enable_msix()
4443 ql_dbg(ql_dbg_multiq, vha, 0xc005, in qla24xx_enable_msix()
4446 ql_dbg(ql_dbg_init, vha, 0x0055, in qla24xx_enable_msix()
4463 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla2x00_request_irqs() local
4478 ql_log(ql_log_warn, vha, 0x0034, in qla2x00_request_irqs()
4486 ql_log(ql_log_warn, vha, 0x0035, in qla2x00_request_irqs()
4494 ql_dbg(ql_dbg_init, vha, 0x0036, in qla2x00_request_irqs()
4502 ql_log(ql_log_info, vha, 0x0037, in qla2x00_request_irqs()
4512 ql_dbg(ql_dbg_init, vha, 0x0038, in qla2x00_request_irqs()
4516 ql_log(ql_log_warn, vha, 0x0039, in qla2x00_request_irqs()
4528 ql_log(ql_log_warn, vha, 0x003a, in qla2x00_request_irqs()
4533 ql_dbg(ql_dbg_init, vha, 0x0125, in qla2x00_request_irqs()
4553 qla2x00_free_irqs(scsi_qla_host_t *vha) in qla2x00_free_irqs() argument
4555 struct qla_hw_data *ha = vha->hw; in qla2x00_free_irqs()
4579 ql_dbg(ql_dbg_init, vha, 0x0042, in qla2x00_free_irqs()
4593 scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev); in qla25xx_request_irq() local
4597 "qla2xxx%lu_qpair%d", vha->host_no, qpair->id); in qla25xx_request_irq()
4600 ql_log(ql_log_fatal, vha, 0x00e6, in qla25xx_request_irq()