Lines Matching +full:0 +full:xf005

37 		"Enables Sequence level error recovery (aka FC Tape). Default is 0 - no SLER. 1 - Enable SLER.");
51 static int ql_dm_tgt_ex_pct = 0;
74 FCP_TMF_CMPL = 0,
86 #define FCP_PTA_SIMPLE 0 /* simple task attribute */
92 #define FCP_PRI_RESVD_MASK 0x80 /* reserved bits in priority field */
174 if (unlikely(vha->marker_needed != 0)) { in qlt_issue_marker()
178 ql_dbg(ql_dbg_tgt, vha, 0xe03d, in qlt_issue_marker()
203 ql_dbg(ql_dbg_tgt_mgt + ql_dbg_verbose, vha, 0xf005, in qlt_find_host_by_d_id()
255 ql_dbg(ql_dbg_async, vha, 0x502c, in qlt_queue_unknown_atio()
279 qlt_send_term_exchange(vha->hw->base_qpair, NULL, atio, ha_locked, 0); in qlt_queue_unknown_atio()
290 uint8_t queued = 0; in qlt_try_to_dequeue_unknown_atios()
294 ql_dbg(ql_dbg_async, vha, 0x502e, in qlt_try_to_dequeue_unknown_atios()
298 &u->atio, ha_locked, 0); in qlt_try_to_dequeue_unknown_atios()
304 ql_dbg(ql_dbg_async + ql_dbg_verbose, vha, 0x502f, in qlt_try_to_dequeue_unknown_atios()
308 ql_dbg(ql_dbg_async + ql_dbg_verbose, vha, 0x503a, in qlt_try_to_dequeue_unknown_atios()
312 &u->atio, ha_locked, 0); in qlt_try_to_dequeue_unknown_atios()
314 ql_dbg(ql_dbg_async + ql_dbg_verbose, vha, 0x503d, in qlt_try_to_dequeue_unknown_atios()
337 qlt_try_to_dequeue_unknown_atios(vha, 0); in qlt_unknown_atio_work_fn()
343 ql_dbg(ql_dbg_tgt, vha, 0xe072, in qlt_24xx_atio_pkt_all_vps()
354 ql_dbg(ql_dbg_tgt, vha, 0xe03e, in qlt_24xx_atio_pkt_all_vps()
380 if ((entry->u.isp24.vp_index != 0xFF) && in qlt_24xx_atio_pkt_all_vps()
381 (entry->u.isp24.nport_handle != cpu_to_le16(0xFFFF))) { in qlt_24xx_atio_pkt_all_vps()
385 ql_dbg(ql_dbg_tgt, vha, 0xe03f, in qlt_24xx_atio_pkt_all_vps()
411 ql_dbg(ql_dbg_tgt, vha, 0xe00a, in qlt_24xx_atio_pkt_all_vps()
428 ql_dbg(ql_dbg_tgt, vha, 0xe040, in qlt_24xx_atio_pkt_all_vps()
442 ql_dbg(ql_dbg_tgt, vha, 0xe073, in qlt_response_pkt_all_vps()
452 ql_dbg(ql_dbg_tgt, vha, 0xe041, in qlt_response_pkt_all_vps()
470 ql_dbg(ql_dbg_tgt, vha, 0xe042, in qlt_response_pkt_all_vps()
485 if (0xFF != entry->u.isp24.vp_index) { in qlt_response_pkt_all_vps()
489 ql_dbg(ql_dbg_tgt, vha, 0xe043, in qlt_response_pkt_all_vps()
509 ql_dbg(ql_dbg_tgt, vha, 0xe044, in qlt_response_pkt_all_vps()
526 ql_dbg(ql_dbg_tgt, vha, 0xe045, in qlt_response_pkt_all_vps()
565 ql_dbg(ql_dbg_disc, vha, 0x20f2, in qla2x00_async_nack_sp_done()
579 sp->fcport->send_els_logo = 0; in qla2x00_async_nack_sp_done()
584 sp->fcport->deleted = 0; in qla2x00_async_nack_sp_done()
585 sp->fcport->send_els_logo = 0; in qla2x00_async_nack_sp_done()
596 sp->fcport->login_retry = 0; in qla2x00_async_nack_sp_done()
599 sp->fcport->deleted = 0; in qla2x00_async_nack_sp_done()
630 fcport->deleted = 0; in qla24xx_async_notify_ack()
652 ql_dbg(ql_dbg_disc, vha, 0x20f4, in qla24xx_async_notify_ack()
679 t = qlt_create_sess(vha, e->u.nack.fcport, 0); in qla24xx_do_nack_work()
682 ql_log(ql_log_info, vha, 0xd034, in qla24xx_do_nack_work()
745 ql_dbg(ql_dbg_disc, vha, 0x2107, in qlt_fc_port_added()
752 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf04c, in qlt_fc_port_added()
757 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf007, in qlt_fc_port_added()
766 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf04d, in qlt_fc_port_added()
770 sess->local = 0; in qlt_fc_port_added()
792 ql_dbg(ql_dbg_disc + ql_dbg_verbose, vha, 0x210d, in qlt_plogi_ack_find_add()
804 ql_dbg(ql_dbg_async, vha, 0x5088, in qlt_plogi_ack_find_add()
831 ql_dbg(ql_dbg_disc, vha, 0x5089, in qlt_plogi_ack_unref()
835 iocb->u.isp24.port_id[0], in qlt_plogi_ack_unref()
841 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_plogi_ack_unref()
842 port_id.b.rsvd_1 = 0; in qlt_plogi_ack_unref()
872 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf097, in qlt_plogi_ack_link()
877 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_plogi_ack_link()
906 * triggered by a command, otherwise, to 0
940 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf098, in qlt_send_first_logo()
959 ql_dbg(ql_dbg_disc, vha, 0xf084, in qlt_free_session_done()
968 qla2x00_mark_device_lost(vha, sess, 0); in qlt_free_session_done()
974 logo.cmd_count = 0; in qlt_free_session_done()
977 sess->send_els_logo = 0; in qlt_free_session_done()
989 ql_log(ql_log_warn, vha, 0xf085, in qlt_free_session_done()
999 ql_log(ql_log_warn, vha, 0xf085, in qlt_free_session_done()
1022 u16 cnt = 0; in qlt_free_session_done()
1026 ql_dbg(ql_dbg_disc, vha, 0xf086, in qlt_free_session_done()
1037 ql_dbg(ql_dbg_disc, vha, 0xf087, in qlt_free_session_done()
1042 sess->logo_ack_needed = 0; in qlt_free_session_done()
1064 sess->login_succ = 0; in qlt_free_session_done()
1070 sess->conflict->login_pause = 0; in qlt_free_session_done()
1085 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf099, in qlt_free_session_done()
1095 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf09a, in qlt_free_session_done()
1110 sess->explicit_logout = 0; in qlt_free_session_done()
1112 sess->free_pending = 0; in qlt_free_session_done()
1116 ql_dbg(ql_dbg_disc, vha, 0xf001, in qlt_free_session_done()
1120 if (tgt && (tgt->sess_count == 0)) in qlt_free_session_done()
1139 if (vha->fcport_count == 0) in qlt_free_session_done()
1149 ql_dbg(ql_dbg_disc, sess->vha, 0x210a, in qlt_unreg_sess()
1183 int res = 0; in qlt_reset()
1188 if (loop_id == 0xFFFF) { in qlt_reset()
1200 ql_dbg(ql_dbg_tgt, vha, 0xe000, in qlt_reset()
1207 ql_dbg(ql_dbg_tgt, vha, 0xe047, in qlt_reset()
1212 return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK); in qlt_reset()
1218 sess->logout_on_delete = 0; in qla24xx_chk_fcp_state()
1219 sess->logo_ack_needed = 0; in qla24xx_chk_fcp_state()
1236 if (tgt && tgt->tgt_stop && tgt->sess_count == 0) in qlt_schedule_sess_for_deletion()
1239 if (sess->vha->fcport_count == 0) in qlt_schedule_sess_for_deletion()
1254 ql_dbg(ql_dbg_disc, sess->vha, 0xffff, in qlt_schedule_sess_for_deletion()
1271 sess->prli_pend_timer = 0; in qlt_schedule_sess_for_deletion()
1276 ql_dbg(ql_dbg_disc, sess->vha, 0xe001, in qlt_schedule_sess_for_deletion()
1308 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf044, in qla24xx_get_loop_id()
1317 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf045, in qla24xx_get_loop_id()
1326 for (i = 0; i < entries; i++) { in qla24xx_get_loop_id()
1331 res = 0; in qla24xx_get_loop_id()
1361 ql_dbg(ql_dbg_disc, vha, 0x20f6, in qlt_create_sess()
1378 sess->keep_nport_handle = 0; in qlt_create_sess()
1379 sess->logout_completed = 0; in qlt_create_sess()
1382 &fcport->port_name[0], sess) < 0) { in qlt_create_sess()
1383 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf015, in qlt_create_sess()
1394 ql_dbg(ql_dbg_disc, vha, 0x20f7, in qlt_create_sess()
1408 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf006, in qlt_create_sess()
1413 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf04b, in qlt_create_sess()
1450 if (max_gen - sess->generation < 0) { in qlt_fc_port_deleted()
1452 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf092, in qlt_fc_port_deleted()
1460 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf008, "qla_tgt_fc_port_deleted %p", sess); in qlt_fc_port_deleted()
1477 ql_dbg(ql_dbg_tgt, tgt->vha, 0xe002, in test_tgt_sess_count()
1480 res = (tgt->sess_count == 0); in test_tgt_sess_count()
1497 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf04e, in qlt_stop_phase1()
1504 ql_dbg(ql_dbg_tgt_mgt, vha, 0xe003, "Stopping target for host %ld(%p)\n", in qlt_stop_phase1()
1516 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf009, in qlt_stop_phase1()
1526 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00a, in qlt_stop_phase1()
1540 return 0; in qlt_stop_phase1()
1550 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf04f, in qlt_stop_phase2()
1556 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00b, in qlt_stop_phase2()
1564 tgt->tgt_stop = 0; in qlt_stop_phase2()
1569 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00c, "Stop of tgt %p finished\n", in qlt_stop_phase2()
1588 u64 key = 0; in qlt_release()
1599 for (i = 0; i < vha->hw->max_qpairs + 1; i++) { in qlt_release()
1628 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00d, in qlt_release()
1643 ql_dbg(ql_dbg_tgt_mgt, tgt->vha, 0xf050, in qlt_sched_sess_work()
1645 "work, command will be refused", 0); in qlt_sched_sess_work()
1649 ql_dbg(ql_dbg_tgt_mgt, tgt->vha, 0xf00e, in qlt_sched_sess_work()
1663 return 0; in qlt_sched_sess_work()
1682 ql_dbg(ql_dbg_tgt, vha, 0xe004, "Sending NOTIFY_ACK (ha=%p)\n", ha); in qlt_send_notify_ack()
1686 ql_dbg(ql_dbg_tgt, vha, 0xe049, in qlt_send_notify_ack()
1719 ql_dbg(ql_dbg_tgt, vha, 0xe005, in qlt_send_notify_ack()
1740 ql_dbg(ql_dbg_tgt, vha, 0xe006, in qlt_build_abts_resp_iocb()
1746 ql_dbg(ql_dbg_tgt, vha, 0xe04a, in qlt_build_abts_resp_iocb()
1753 memset(resp, 0, sizeof(*resp)); in qlt_build_abts_resp_iocb()
1779 resp->fcp_hdr_le.f_ctl[0] = *p++; in qlt_build_abts_resp_iocb()
1790 resp->payload.ba_acct.low_seq_cnt = 0x0000; in qlt_build_abts_resp_iocb()
1791 resp->payload.ba_acct.high_seq_cnt = cpu_to_le16(0xFFFF); in qlt_build_abts_resp_iocb()
1826 ql_dbg(ql_dbg_tgt, vha, 0xe006, in qlt_24xx_send_abts_resp()
1833 ql_dbg(ql_dbg_tgt, vha, 0xe04a, in qlt_24xx_send_abts_resp()
1851 resp->fcp_hdr_le.f_ctl[0] = *p++; in qlt_24xx_send_abts_resp()
1865 resp->payload.ba_acct.low_seq_cnt = 0x0000; in qlt_24xx_send_abts_resp()
1866 resp->payload.ba_acct.high_seq_cnt = cpu_to_le16(0xFFFF); in qlt_24xx_send_abts_resp()
1898 ql_dbg(ql_dbg_tgt, vha, 0xe04b, in qlt_24xx_retry_term_exchange()
1931 tmp |= (0x4 << 9); in qlt_24xx_retry_term_exchange()
1936 tmp |= (0x4 << 9); in qlt_24xx_retry_term_exchange()
1941 ql_dbg(ql_dbg_tgt, vha, 0xe007, in qlt_24xx_retry_term_exchange()
1945 (mcmd && mcmd->flags & QLA24XX_MGMT_ABORT_IO_ATTR_VALID) ? 1 : 0); in qlt_24xx_retry_term_exchange()
2020 h = &tgt->qphints[0]; in qlt_find_qphint()
2022 h = &tgt->qphints[0]; in qlt_find_qphint()
2042 tag = 0; in qlt_do_tmr_work()
2049 if (rc != 0) { in qlt_do_tmr_work()
2069 &mcmd->orig_iocb.imm_ntfy, 0, 0, 0, 0, 0, 0); in qlt_do_tmr_work()
2074 ql_dbg(ql_dbg_tgt_mgt, mcmd->vha, 0xf052, in qlt_do_tmr_work()
2087 struct qla_qpair_hint *h = &vha->vha_tgt.qla_tgt->qphints[0]; in __qlt_24xx_handle_abts()
2089 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00f, in __qlt_24xx_handle_abts()
2095 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf051, in __qlt_24xx_handle_abts()
2100 memset(mcmd, 0, sizeof(*mcmd)); in __qlt_24xx_handle_abts()
2131 return 0; in __qlt_24xx_handle_abts()
2148 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf053, in qlt_24xx_handle_abts()
2157 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf010, in qlt_24xx_handle_abts()
2165 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf011, in qlt_24xx_handle_abts()
2176 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf012, in qlt_24xx_handle_abts()
2195 if (rc != 0) { in qlt_24xx_handle_abts()
2196 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf054, in qlt_24xx_handle_abts()
2216 ql_dbg(ql_dbg_tgt, ha, 0xe008, in qlt_24xx_send_task_mgmt_ctio()
2223 ql_dbg(ql_dbg_tgt, ha, 0xe04c, in qlt_24xx_send_task_mgmt_ctio()
2245 ctio->u.status1.sense_data[0] = resp_code; in qlt_24xx_send_task_mgmt_ctio()
2273 ql_dbg(ql_dbg_tgt_dif, vha, 0x3066, in qlt_send_resp_ctio()
2280 ql_dbg(ql_dbg_async, vha, 0x3067, in qlt_send_resp_ctio()
2304 if (ctio->u.status1.residual != 0) in qlt_send_resp_ctio()
2309 ctio->u.status1.sense_data[0] = 0x70; in qlt_send_resp_ctio()
2312 ctio->u.status1.sense_data[7] = 0xa; in qlt_send_resp_ctio()
2338 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf013, in qlt_xmit_tm_rsp()
2349 ql_dbg(ql_dbg_async, vha, 0xe100, in qlt_xmit_tm_rsp()
2363 ql_dbg(ql_dbg_disc, vha, 0x2106, in qlt_xmit_tm_rsp()
2371 &mcmd->orig_iocb.imm_ntfy, 0, 0, 0, 0, 0, 0); in qlt_xmit_tm_rsp()
2402 BUG_ON(cmd->sg_cnt == 0); in qlt_pci_map_calc_cnt()
2407 if (unlikely(prm->seg_cnt == 0)) in qlt_pci_map_calc_cnt()
2435 if (unlikely(prm->prot_seg_cnt == 0)) in qlt_pci_map_calc_cnt()
2449 return 0; in qlt_pci_map_calc_cnt()
2452 ql_dbg_qp(ql_dbg_tgt, prm->cmd->qpair, 0xe04d, in qlt_pci_map_calc_cnt()
2454 0, prm->cmd->sg_cnt); in qlt_pci_map_calc_cnt()
2470 cmd->sg_mapped = 0; in qlt_unmap_sg()
2506 return 0; in qlt_check_reserve_free_req()
2517 req->ring_index = 0; in qlt_get_req_pkt()
2530 uint8_t found = 0; in qlt_make_handle()
2552 ql_dbg(ql_dbg_io, qpair->vha, 0x305b, in qlt_make_handle()
2572 memset(pkt, 0, sizeof(*pkt)); in qlt_24xx_build_ctio_pkt()
2601 return 0; in qlt_24xx_build_ctio_pkt()
2614 while (prm->seg_cnt > 0) { in qlt_load_cont_data_segments()
2626 memset(cont_pkt64, 0, sizeof(*cont_pkt64)); in qlt_load_cont_data_segments()
2629 cont_pkt64->sys_define = 0; in qlt_load_cont_data_segments()
2635 for (cnt = 0; in qlt_load_cont_data_segments()
2663 if (prm->seg_cnt == 0) { in qlt_load_data_segments()
2665 cur_dsd->address = 0; in qlt_load_data_segments()
2666 cur_dsd->length = 0; in qlt_load_data_segments()
2673 for (cnt = 0; in qlt_load_data_segments()
2685 return cmd->bufflen > 0; in qlt_has_data()
2693 /* asc 0x10=dif error */ in qlt_print_dif_err()
2694 if (prm->sense_buffer && (prm->sense_buffer[12] == 0x10)) { in qlt_print_dif_err()
2700 ql_dbg(ql_dbg_tgt_dif, vha, 0xe00b, in qlt_print_dif_err()
2701 "BE detected Guard TAG ERR: lba[0x%llx|%lld] len[0x%x] " in qlt_print_dif_err()
2707 ql_dbg(ql_dbg_tgt_dif, vha, 0xe00c, in qlt_print_dif_err()
2708 "BE detected APP TAG ERR: lba[0x%llx|%lld] len[0x%x] " in qlt_print_dif_err()
2714 ql_dbg(ql_dbg_tgt_dif, vha, 0xe00f, in qlt_print_dif_err()
2715 "BE detected REF TAG ERR: lba[0x%llx|%lld] len[0x%x] " in qlt_print_dif_err()
2721 ql_dbg(ql_dbg_tgt_dif, vha, 0xe010, in qlt_print_dif_err()
2728 ql_dump_buffer(ql_dbg_tgt_dif, vha, 0xe011, cmd->cdb, 16); in qlt_print_dif_err()
2746 prm->sense_buffer = &cmd->sense_buffer[0]; in qlt_pre_xmit_response()
2751 prm->residual = 0; in qlt_pre_xmit_response()
2752 prm->add_status_pkt = 0; in qlt_pre_xmit_response()
2754 prm->prot_seg_cnt = 0; in qlt_pre_xmit_response()
2755 prm->tot_dsds = 0; in qlt_pre_xmit_response()
2758 if (qlt_pci_map_calc_cnt(prm) != 0) in qlt_pre_xmit_response()
2766 ql_dbg_qp(ql_dbg_io + ql_dbg_verbose, qpair, 0x305c, in qlt_pre_xmit_response()
2769 se_cmd->t_task_cdb ? se_cmd->t_task_cdb[0] : 0, in qlt_pre_xmit_response()
2774 ql_dbg_qp(ql_dbg_io, qpair, 0x305d, in qlt_pre_xmit_response()
2777 se_cmd->t_task_cdb[0] : 0, cmd->bufflen, prm->rq_result); in qlt_pre_xmit_response()
2789 (prm->rq_result != 0))) { in qlt_pre_xmit_response()
2796 return 0; in qlt_pre_xmit_response()
2803 return 0; in qlt_need_explicit_conf()
2818 if (qlt_need_explicit_conf(prm->cmd, 0)) { in qlt_24xx_init_ctio_to_isp()
2829 if ((prm->rq_result & SS_SCSI_STATUS_BYTE) != 0) { in qlt_24xx_init_ctio_to_isp()
2830 ql_dbg_qp(ql_dbg_tgt, prm->cmd->qpair, 0xe017, in qlt_24xx_init_ctio_to_isp()
2849 for (i = 0; i < prm->sense_buffer_len/4; i++) { in qlt_24xx_init_ctio_to_isp()
2864 ctio->u.status1.sense_length = 0; in qlt_24xx_init_ctio_to_isp()
2865 memset(ctio->u.status1.sense_data, 0, in qlt_24xx_init_ctio_to_isp()
2892 return 0; in qlt_hba_err_chk_enabled()
2907 return 0; in qla_tgt_ref_mask_check()
2909 return 0; in qla_tgt_ref_mask_check()
2920 uint32_t lba = 0xffffffff & se_cmd->t_task_lba; in qla_tgt_set_dif_tags()
2923 uint32_t t32 = 0; in qla_tgt_set_dif_tags()
2930 ctx->app_tag = 0; in qla_tgt_set_dif_tags()
2931 ctx->app_tag_mask[0] = 0x0; in qla_tgt_set_dif_tags()
2932 ctx->app_tag_mask[1] = 0x0; in qla_tgt_set_dif_tags()
2953 ctx->ref_tag_mask[0] = 0xff; in qla_tgt_set_dif_tags()
2954 ctx->ref_tag_mask[1] = 0xff; in qla_tgt_set_dif_tags()
2955 ctx->ref_tag_mask[2] = 0xff; in qla_tgt_set_dif_tags()
2956 ctx->ref_tag_mask[3] = 0xff; in qla_tgt_set_dif_tags()
2970 ctx->ref_tag_mask[0] = 0xff; in qla_tgt_set_dif_tags()
2971 ctx->ref_tag_mask[1] = 0xff; in qla_tgt_set_dif_tags()
2972 ctx->ref_tag_mask[2] = 0xff; in qla_tgt_set_dif_tags()
2973 ctx->ref_tag_mask[3] = 0xff; in qla_tgt_set_dif_tags()
2987 ctx->ref_tag_mask[0] = 0xff; in qla_tgt_set_dif_tags()
2988 ctx->ref_tag_mask[1] = 0xff; in qla_tgt_set_dif_tags()
2989 ctx->ref_tag_mask[2] = 0xff; in qla_tgt_set_dif_tags()
2990 ctx->ref_tag_mask[3] = 0xff; in qla_tgt_set_dif_tags()
2995 ctx->ref_tag_mask[0] = ctx->ref_tag_mask[1] = in qla_tgt_set_dif_tags()
2996 ctx->ref_tag_mask[2] = ctx->ref_tag_mask[3] = 0x00; in qla_tgt_set_dif_tags()
3005 uint32_t transfer_length = 0; in qlt_build_ctio_crc2_pkt()
3013 uint16_t fw_prot_opts = 0; in qlt_build_ctio_crc2_pkt()
3026 memset(pkt, 0, sizeof(*pkt)); in qlt_build_ctio_crc2_pkt()
3028 ql_dbg_qp(ql_dbg_tgt, cmd->qpair, 0xe071, in qlt_build_ctio_crc2_pkt()
3029 "qla_target(%d):%s: se_cmd[%p] CRC2 prot_op[0x%x] cmd prot sg:cnt[%p:%x] lba[%llu]\n", in qlt_build_ctio_crc2_pkt()
3035 bundling = 0; in qlt_build_ctio_crc2_pkt()
3060 fw_prot_opts |= 0x10; /* Disable Guard tag checking */ in qlt_build_ctio_crc2_pkt()
3152 cur_dsd = &crc_ctx_pkt->u.nobundling.data_dsd[0]; in qlt_build_ctio_crc2_pkt()
3162 cur_dsd = &crc_ctx_pkt->u.bundling.data_dsd[0]; in qlt_build_ctio_crc2_pkt()
3169 crc_ctx_pkt->guard_seed = cpu_to_le16(0); in qlt_build_ctio_crc2_pkt()
3171 memset((uint8_t *)&tc, 0 , sizeof(tc)); in qlt_build_ctio_crc2_pkt()
3220 uint32_t full_req_cnt = 0; in qlt_xmit_response()
3221 unsigned long flags = 0; in qlt_xmit_response()
3227 return 0; in qlt_xmit_response()
3230 ql_dbg_qp(ql_dbg_tgt, qpair, 0xe018, in qlt_xmit_response()
3233 1 : 0, cmd->bufflen, cmd->sg_cnt, cmd->dma_data_direction, in qlt_xmit_response()
3238 if (unlikely(res != 0)) { in qlt_xmit_response()
3255 ql_dbg_qp(ql_dbg_async, qpair, 0xe101, in qlt_xmit_response()
3259 res = 0; in qlt_xmit_response()
3272 if (unlikely(res != 0)) { in qlt_xmit_response()
3287 if (prm.add_status_pkt == 0) { in qlt_xmit_response()
3295 if (qlt_need_explicit_conf(cmd, 0)) { in qlt_xmit_response()
3313 ql_dbg_qp(ql_dbg_tgt, qpair, 0x305e, in qlt_xmit_response()
3314 "Building additional status packet 0x%p.\n", in qlt_xmit_response()
3325 ctio->dseg_count = 0; in qlt_xmit_response()
3357 return 0; in qlt_xmit_response()
3373 unsigned long flags = 0; in qlt_rdy_to_xfer()
3374 int res = 0; in qlt_rdy_to_xfer()
3377 memset(&prm, 0, sizeof(prm)); in qlt_rdy_to_xfer()
3390 cmd->write_data_transferred = 0; in qlt_rdy_to_xfer()
3393 ql_dbg_qp(ql_dbg_async, qpair, 0xe102, in qlt_rdy_to_xfer()
3397 return 0; in qlt_rdy_to_xfer()
3401 if (qlt_pci_map_calc_cnt(&prm) != 0) in qlt_rdy_to_xfer()
3407 if (res != 0) in qlt_rdy_to_xfer()
3414 if (unlikely(res != 0)) { in qlt_rdy_to_xfer()
3456 uint8_t *ap = &sts->actual_dif[0]; in qlt_handle_dif_error()
3457 uint8_t *ep = &sts->expected_dif[0]; in qlt_handle_dif_error()
3465 cmd->a_guard = get_unaligned_be16(ap + 0); in qlt_handle_dif_error()
3469 cmd->e_guard = get_unaligned_be16(ep + 0); in qlt_handle_dif_error()
3473 ql_dbg(ql_dbg_tgt_dif, vha, 0xf075, in qlt_handle_dif_error()
3476 scsi_status = sense_key = asc = ascq = 0; in qlt_handle_dif_error()
3480 ql_dbg(ql_dbg_tgt_dif, vha, 0xe00d, in qlt_handle_dif_error()
3482 cmd->cdb[0], lba, (lba+cmd->num_blks), cmd->num_blks, in qlt_handle_dif_error()
3490 asc = 0x10; in qlt_handle_dif_error()
3491 ascq = 0x2; in qlt_handle_dif_error()
3496 ql_dbg(ql_dbg_tgt_dif, vha, 0xe00e, in qlt_handle_dif_error()
3498 cmd->cdb[0], lba, (lba+cmd->num_blks), cmd->num_blks, in qlt_handle_dif_error()
3506 asc = 0x10; in qlt_handle_dif_error()
3507 ascq = 0x3; in qlt_handle_dif_error()
3513 ql_dbg(ql_dbg_tgt_dif, vha, 0xe012, in qlt_handle_dif_error()
3515 cmd->cdb[0], lba, (lba+cmd->num_blks), cmd->num_blks, in qlt_handle_dif_error()
3523 asc = 0x10; in qlt_handle_dif_error()
3524 ascq = 0x1; in qlt_handle_dif_error()
3560 int ret = 0; in __qlt_send_term_imm_notif()
3562 ql_dbg(ql_dbg_tgt_tmr, vha, 0xe01c, in __qlt_send_term_imm_notif()
3567 ql_dbg(ql_dbg_tgt, vha, 0xe080, in __qlt_send_term_imm_notif()
3625 int ret = 0; in __qlt_send_term_exchange()
3628 ql_dbg(ql_dbg_tgt, vha, 0xe009, "Sending TERM EXCH CTIO (ha=%p)\n", ha); in __qlt_send_term_exchange()
3635 ql_dbg(ql_dbg_tgt, vha, 0xe050, in __qlt_send_term_exchange()
3643 ql_dbg(ql_dbg_tgt, vha, 0xe051, in __qlt_send_term_exchange()
3682 unsigned long flags = 0; in qlt_send_term_exchange()
3694 qlt_alloc_qfull_cmd(vha, atio, 0, 0); in qlt_send_term_exchange()
3700 qlt_alloc_qfull_cmd(vha, atio, 0, 0); in qlt_send_term_exchange()
3737 vha->hw->tgt.num_qfull_cmds_dropped = 0; in qlt_init_term_exchange()
3749 ql_dbg(ql_dbg_tgt, vha, 0xe079, in qlt_chk_exch_leak_thresh_hold()
3769 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf014, in qlt_abort_cmd()
3785 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf016, in qlt_abort_cmd()
3795 qlt_send_term_exchange(cmd->qpair, cmd, &cmd->atio, 0, 1); in qlt_abort_cmd()
3796 return 0; in qlt_abort_cmd()
3804 ql_dbg(ql_dbg_tgt, cmd->vha, 0xe074, in qlt_free_cmd()
3834 int term = 0; in qlt_term_ctio_exchange()
3838 ql_dbg(ql_dbg_tgt_dif, vha, 0xe013, in qlt_term_ctio_exchange()
3839 "Term DIF cmd: lba[0x%llx|%lld] len[0x%x] " in qlt_term_ctio_exchange()
3856 qlt_send_term_exchange(qpair, cmd, &cmd->atio, 1, 0); in qlt_term_ctio_exchange()
3877 ql_dbg(ql_dbg_tgt_mgt, vha, 0x1000a, in qlt_ctio_to_cmd()
3889 ql_dbg(ql_dbg_tgt, vha, 0xe052, in qlt_ctio_to_cmd()
3897 ql_dbg(ql_dbg_async, vha, 0xe053, in qlt_ctio_to_cmd()
3905 ql_dbg(ql_dbg_tgt, vha, 0xe054, in qlt_ctio_to_cmd()
3928 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf01d, in qlt_do_ctio_completion()
3940 cmd->cmd_sent_to_fw = 0; in qlt_do_ctio_completion()
3945 switch (status & 0xFFFF) { in qlt_do_ctio_completion()
3951 ((cmd->ctio_flags >> 9) & 0xf), in qlt_do_ctio_completion()
3961 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf058, in qlt_do_ctio_completion()
3973 (status & 0xFFFF) == CTIO_PORT_LOGGED_OUT; in qlt_do_ctio_completion()
3975 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf059, in qlt_do_ctio_completion()
3987 ql_dbg(ql_dbg_disc, vha, 0x20f8, in qlt_do_ctio_completion()
3998 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf073, in qlt_do_ctio_completion()
4000 "received (state %x, ulp_cmd %p) actual_dif[0x%llx] " in qlt_do_ctio_completion()
4001 "expect_dif[0x%llx]\n", in qlt_do_ctio_completion()
4003 *((u64 *)&crc->actual_dif[0]), in qlt_do_ctio_completion()
4004 *((u64 *)&crc->expected_dif[0])); in qlt_do_ctio_completion()
4010 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf05b, in qlt_do_ctio_completion()
4011 "qla_target(%d): CTIO with error status 0x%x received (state %x, se_cmd %p\n", in qlt_do_ctio_completion()
4043 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf01e, in qlt_do_ctio_completion()
4047 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf05c, in qlt_do_ctio_completion()
4054 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf01f, "Finishing failed CTIO\n"); in qlt_do_ctio_completion()
4083 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf05d, in qlt_get_fcp_task_attr()
4105 int ret, fcp_task_attr, data_dir, bidi = 0; in __qlt_do_work()
4108 cmd->cmd_in_wq = 0; in __qlt_do_work()
4112 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf082, in __qlt_do_work()
4119 cdb = &atio->u.isp24.fcp_cmnd.cdb[0]; in __qlt_do_work()
4139 if (ret != 0) in __qlt_do_work()
4148 ql_dbg(ql_dbg_io, vha, 0x3060, "Terminating work cmd %p", cmd); in __qlt_do_work()
4155 qlt_send_term_exchange(qpair, NULL, &cmd->atio, 1, 0); in __qlt_do_work()
4183 u64 key = 0; in qlt_clr_qp_table()
4185 ql_log(ql_log_info, vha, 0x706c, in qlt_clr_qp_table()
4194 ha->base_qpair->lun_cnt = 0; in qlt_clr_qp_table()
4195 for (key = 0; key < ha->max_qpairs; key++) in qlt_clr_qp_table()
4197 ha->queue_pair_map[key]->lun_cnt = 0; in qlt_clr_qp_table()
4213 int lcnt = 0, rc; in qlt_assign_qpair()
4218 if (qpair->lun_cnt == 0) { in qlt_assign_qpair()
4226 ql_log(ql_log_info, vha, 0xd037, in qlt_assign_qpair()
4238 if (qp->lun_cnt == 0) { in qlt_assign_qpair()
4246 ql_log(ql_log_info, vha, 0xd038, in qlt_assign_qpair()
4268 ql_log(ql_log_info, vha, 0xd039, in qlt_assign_qpair()
4274 h = &tgt->qphints[0]; in qlt_assign_qpair()
4301 cmd->trc_flags = 0; in qlt_get_tag()
4325 ql_dbg(ql_dbg_io, vha, 0x3061, in qlt_handle_cmd_for_atio()
4341 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf002, in qlt_handle_cmd_for_atio()
4351 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf004, in qlt_handle_cmd_for_atio()
4360 ql_dbg(ql_dbg_io, vha, 0x3062, in qlt_handle_cmd_for_atio()
4387 return 0; in qlt_handle_cmd_for_atio()
4398 struct qla_qpair_hint *h = &vha->vha_tgt.qla_tgt->qphints[0]; in qlt_issue_task_mgmt()
4402 ql_dbg(ql_dbg_tgt_tmr, vha, 0x10009, in qlt_issue_task_mgmt()
4408 memset(mcmd, 0, sizeof(*mcmd)); in qlt_issue_task_mgmt()
4448 return 0; in qlt_issue_task_mgmt()
4474 return qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_handle_task_mgmt()
4489 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf05f, in __qlt_abort_task()
4494 memset(mcmd, 0, sizeof(*mcmd)); in __qlt_abort_task()
4508 if (rc != 0) { in __qlt_abort_task()
4509 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf060, in __qlt_abort_task()
4516 return 0; in __qlt_abort_task()
4535 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf025, in qlt_abort_task()
4548 ql_dbg(ql_dbg_tgt_mgt, fcport->vha, 0xf093, in qlt_logo_completion_handler()
4592 ql_dbg(ql_dbg_disc, vha, 0x1000c, in qlt_find_sess_invalidate_other()
4608 ql_dbg(ql_dbg_disc, vha, 0xf01b, in qlt_find_sess_invalidate_other()
4623 ql_dbg(ql_dbg_disc, vha, 0x1000d, in qlt_find_sess_invalidate_other()
4642 int count = 0; in abort_cmds_for_s_id()
4688 int res = 0; in qlt_handle_login()
4698 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_handle_login()
4699 port_id.b.rsvd_1 = 0; in qlt_handle_login()
4712 ql_dbg(ql_dbg_disc, vha, 0xffff, in qlt_handle_login()
4713 "%s %d Term INOT due to WWN=0 lid=%d, NportID %06X ", in qlt_handle_login()
4726 ql_dbg(ql_dbg_disc + ql_dbg_verbose, vha, 0xffff, in qlt_handle_login()
4742 ql_dbg(ql_dbg_disc, vha, 0xffff, in qlt_handle_login()
4749 pla, 0); in qlt_handle_login()
4753 pla, 0); in qlt_handle_login()
4772 ql_dbg(ql_dbg_disc, vha, 0xffff, in qlt_handle_login()
4792 sess->local = 0; in qlt_handle_login()
4801 if ((wd3_lo & BIT_4) == 0) in qlt_handle_login()
4810 ql_dbg(ql_dbg_disc, vha, 0x20f9, in qlt_handle_login()
4842 ql_dbg(ql_dbg_disc, vha, 0x20f9, in qlt_handle_login()
4867 int res = 0; in qlt_24xx_handle_els()
4876 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_24xx_handle_els()
4877 port_id.b.rsvd_1 = 0; in qlt_24xx_handle_els()
4881 ql_dbg(ql_dbg_disc, vha, 0xf026, in qlt_24xx_handle_els()
4882 "qla_target(%d): Port ID: %02x:%02x:%02x ELS opcode: 0x%02x lid %d %8phC\n", in qlt_24xx_handle_els()
4884 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_24xx_handle_els()
4889 * res = 0 means ack async/later. in qlt_24xx_handle_els()
4902 ql_dbg(ql_dbg_disc, vha, 0xffff, in qlt_24xx_handle_els()
4934 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf09b, in qlt_24xx_handle_els()
4940 res = 0; in qlt_24xx_handle_els()
4970 ql_dbg(ql_dbg_disc, sess->vha, 0xffff, in qlt_24xx_handle_els()
4975 return 0; in qlt_24xx_handle_els()
4995 ql_log(ql_log_warn, sess->vha, 0xf095, in qlt_24xx_handle_els()
4999 res = 0; in qlt_24xx_handle_els()
5007 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf096, in qlt_24xx_handle_els()
5011 sess->local = 0; in qlt_24xx_handle_els()
5019 if ((wd3_lo & BIT_4) == 0) in qlt_24xx_handle_els()
5031 ql_dbg(ql_dbg_disc, vha, 0x20fa, in qlt_24xx_handle_els()
5036 res = 0; in qlt_24xx_handle_els()
5044 ql_dbg(ql_dbg_disc, vha, 0x20fb, in qlt_24xx_handle_els()
5049 res = 0; in qlt_24xx_handle_els()
5057 loop_id = 0xFFFF; in qlt_24xx_handle_els()
5078 ql_dbg(ql_dbg_disc, vha, 0x20fc, in qlt_24xx_handle_els()
5081 if (res == 0) { in qlt_24xx_handle_els()
5087 res = 0; in qlt_24xx_handle_els()
5092 res = 0; in qlt_24xx_handle_els()
5104 &tgt->link_reinit_iocb, 0, 0, 0, 0, 0, 0); in qlt_24xx_handle_els()
5105 tgt->link_reinit_iocb_pending = 0; in qlt_24xx_handle_els()
5111 ql_dbg(ql_dbg_disc, vha, 0x20fd, in qlt_24xx_handle_els()
5123 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf061, in qlt_24xx_handle_els()
5130 ql_dbg(ql_dbg_disc, vha, 0xf026, in qlt_24xx_handle_els()
5131 "qla_target(%d): Exit ELS opcode: 0x%02x res %d\n", in qlt_24xx_handle_els()
5144 uint32_t add_flags = 0; in qlt_handle_imm_notify()
5154 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf032, in qlt_handle_imm_notify()
5159 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5160 send_notify_ack = 0; in qlt_handle_imm_notify()
5168 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf033, in qlt_handle_imm_notify()
5175 &tgt->link_reinit_iocb, 0, 0, 0, 0, 0, 0); in qlt_handle_imm_notify()
5183 send_notify_ack = 0; in qlt_handle_imm_notify()
5188 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf034, in qlt_handle_imm_notify()
5194 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS) == 0) in qlt_handle_imm_notify()
5195 send_notify_ack = 0; in qlt_handle_imm_notify()
5200 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf035, in qlt_handle_imm_notify()
5202 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5203 send_notify_ack = 0; in qlt_handle_imm_notify()
5208 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf036, in qlt_handle_imm_notify()
5211 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5212 send_notify_ack = 0; in qlt_handle_imm_notify()
5217 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf06a, in qlt_handle_imm_notify()
5221 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5222 send_notify_ack = 0; in qlt_handle_imm_notify()
5226 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf06b, in qlt_handle_imm_notify()
5233 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf037, in qlt_handle_imm_notify()
5239 if (qlt_abort_task(vha, iocb) == 0) in qlt_handle_imm_notify()
5240 send_notify_ack = 0; in qlt_handle_imm_notify()
5244 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf06c, in qlt_handle_imm_notify()
5250 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf038, in qlt_handle_imm_notify()
5256 if (qlt_24xx_handle_els(vha, iocb) == 0) in qlt_handle_imm_notify()
5257 send_notify_ack = 0; in qlt_handle_imm_notify()
5260 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf06d, in qlt_handle_imm_notify()
5267 qlt_send_notify_ack(ha->base_qpair, iocb, add_flags, 0, 0, 0, in qlt_handle_imm_notify()
5268 0, 0); in qlt_handle_imm_notify()
5293 qlt_send_term_exchange(qpair, NULL, atio, 1, 0); in __qlt_send_busy()
5294 return 0; in __qlt_send_busy()
5300 ql_dbg(ql_dbg_io, vha, 0x3063, in __qlt_send_busy()
5331 if (ctio24->u.status1.residual != 0) in __qlt_send_busy()
5340 return 0; in __qlt_send_busy()
5359 ql_dbg(ql_dbg_io, vha, 0x300a, in qlt_alloc_qfull_cmd()
5371 ql_dbg(ql_dbg_io, vha, 0x3068, in qlt_alloc_qfull_cmd()
5387 ql_dbg(ql_dbg_io, vha, 0x3009, in qlt_alloc_qfull_cmd()
5437 int rc = 0; in qlt_free_qfull_cmds()
5440 return 0; in qlt_free_qfull_cmds()
5448 return 0; in qlt_free_qfull_cmds()
5466 ql_dbg(ql_dbg_io, vha, 0x3006, in qlt_free_qfull_cmds()
5470 ql_dbg(ql_dbg_io, vha, 0x3007, in qlt_free_qfull_cmds()
5474 ql_dbg(ql_dbg_io, vha, 0x3008, in qlt_free_qfull_cmds()
5509 int rc = 0; in qlt_send_busy()
5525 return 0; in qlt_chk_qfull_thresh_hold()
5544 unsigned long flags = 0; in qlt_24xx_atio_pkt()
5547 ql_dbg(ql_dbg_tgt, vha, 0x3064, in qlt_24xx_atio_pkt()
5562 ql_dbg(ql_dbg_io, vha, 0x3065, in qlt_24xx_atio_pkt()
5575 if (likely(atio->u.isp24.fcp_cmnd.task_mgmt_flags == 0)) { in qlt_24xx_atio_pkt()
5578 if (rc != 0) { in qlt_24xx_atio_pkt()
5586 if (unlikely(rc != 0)) { in qlt_24xx_atio_pkt()
5591 ql_dbg(ql_dbg_tgt, vha, 0xe05f, in qlt_24xx_atio_pkt()
5595 ql_dbg(ql_dbg_tgt, vha, 0xe05f, in qlt_24xx_atio_pkt()
5598 atio, 1, 0); in qlt_24xx_atio_pkt()
5601 ql_dbg(ql_dbg_tgt, vha, 0xe060, in qlt_24xx_atio_pkt()
5608 ql_dbg(ql_dbg_tgt, vha, 0xe060, in qlt_24xx_atio_pkt()
5623 if (unlikely(atio->u.isp2x.entry_status != 0)) { in qlt_24xx_atio_pkt()
5624 ql_dbg(ql_dbg_tgt, vha, 0xe05b, in qlt_24xx_atio_pkt()
5631 ql_dbg(ql_dbg_tgt, vha, 0xe02e, "%s", "IMMED_NOTIFY ATIO"); in qlt_24xx_atio_pkt()
5642 ql_dbg(ql_dbg_tgt, vha, 0xe05c, in qlt_24xx_atio_pkt()
5653 * rc = 0 : send terminate & abts respond
5654 * rc != 0: do not send term & abts respond
5660 int rc = 0; in qlt_chk_unresolv_exchg()
5674 qpair->retry_term_cnt = 0; in qlt_chk_unresolv_exchg()
5675 ql_log(ql_log_warn, vha, 0xffff, in qlt_chk_unresolv_exchg()
5678 vha, 0xffff, (uint8_t *)entry, sizeof(*entry)); in qlt_chk_unresolv_exchg()
5690 qpair->retry_term_cnt = 0; in qlt_chk_unresolv_exchg()
5709 ql_dbg(ql_dbg_async, vha, 0xe064, in qlt_handle_abts_completion()
5719 ql_dbg(ql_dbg_tgt, vha, 0xe038, in qlt_handle_abts_completion()
5724 if (le32_to_cpu(entry->error_subcode1) == 0x1E && in qlt_handle_abts_completion()
5725 le32_to_cpu(entry->error_subcode2) == 0) { in qlt_handle_abts_completion()
5733 ql_dbg(ql_dbg_tgt, vha, 0xe063, in qlt_handle_abts_completion()
5753 ql_dbg(ql_dbg_tgt, vha, 0xe05d, in qlt_response_pkt()
5783 ql_dbg(ql_dbg_tgt, vha, 0xe05e, in qlt_response_pkt()
5791 if (rc != 0) in qlt_response_pkt()
5795 if (unlikely(rc != 0)) { in qlt_response_pkt()
5798 ql_dbg(ql_dbg_tgt, vha, 0xe05f, in qlt_response_pkt()
5802 ql_dbg(ql_dbg_tgt, vha, 0xe05f, in qlt_response_pkt()
5805 atio, 1, 0); in qlt_response_pkt()
5808 ql_dbg(ql_dbg_tgt, vha, 0xe060, in qlt_response_pkt()
5815 ql_dbg(ql_dbg_tgt, vha, 0xe060, in qlt_response_pkt()
5847 ql_dbg(ql_dbg_tgt, vha, 0xe035, "%s", "IMMED_NOTIFY\n"); in qlt_response_pkt()
5852 if (tgt->notify_ack_expected > 0) { in qlt_response_pkt()
5855 ql_dbg(ql_dbg_tgt, vha, 0xe036, in qlt_response_pkt()
5862 ql_dbg(ql_dbg_tgt, vha, 0xe061, in qlt_response_pkt()
5868 ql_dbg(ql_dbg_tgt, vha, 0xe062, in qlt_response_pkt()
5875 ql_dbg(ql_dbg_tgt, vha, 0xe037, in qlt_response_pkt()
5881 if (tgt->abts_resp_expected > 0) { in qlt_response_pkt()
5884 ql_dbg(ql_dbg_tgt, vha, 0xe064, in qlt_response_pkt()
5891 ql_dbg(ql_dbg_tgt, vha, 0xe065, in qlt_response_pkt()
5926 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf03a, in qlt_async_event()
5936 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf03b, in qlt_async_event()
5938 "(m[0]=%x, m[1]=%x, m[2]=%x, m[3]=%x)", vha->vp_idx, in qlt_async_event()
5939 mailbox[0], mailbox[1], mailbox[2], mailbox[3]); in qlt_async_event()
5943 0, 0, 0, 0, 0, 0); in qlt_async_event()
5944 tgt->link_reinit_iocb_pending = 0; in qlt_async_event()
5953 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf03c, in qlt_async_event()
5955 "(m[0]=%x, m[1]=%x, m[2]=%x, m[3]=%x)", vha->vp_idx, code, in qlt_async_event()
5956 mailbox[0], mailbox[1], mailbox[2], mailbox[3]); in qlt_async_event()
5960 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf017, in qlt_async_event()
5961 "qla_target(%d): Async event LS_REJECT occurred (m[0]=%x, m[1]=%x, m[2]=%x, m[3]=%x)", in qlt_async_event()
5963 mailbox[0], mailbox[1], mailbox[2], mailbox[3]); in qlt_async_event()
5969 ql_log(ql_log_warn, vha, 0xd03a, in qlt_async_event()
5972 vha->hw->exch_starvation = 0; in qlt_async_event()
5985 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf03d, in qlt_async_event()
5987 "occurred: updating the ports database (m[0]=%x, m[1]=%x, " in qlt_async_event()
5989 mailbox[0], mailbox[1], mailbox[2], mailbox[3]); in qlt_async_event()
5992 if (login_code == 0x4) { in qlt_async_event()
5993 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf03e, in qlt_async_event()
5995 vha->hw->exch_starvation = 0; in qlt_async_event()
5996 } else if (login_code == 0x7) in qlt_async_event()
5997 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf03f, in qlt_async_event()
6012 u8 newfcport = 0; in qlt_get_port_database()
6016 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf06f, in qlt_get_port_database()
6024 rc = qla24xx_gpdb_wait(vha, fcport, 0); in qlt_get_port_database()
6026 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf070, in qlt_get_port_database()
6029 "(loop_id=0x%04x)", vha->vp_idx, rc, loop_id); in qlt_get_port_database()
6060 fcport->deleted = 0; in qlt_get_port_database()
6070 ql_dbg(ql_dbg_disc, vha, 0x20ff, in qlt_get_port_database()
6095 uint16_t loop_id = 0; in qlt_make_local_sess()
6097 if (s_id.domain == 0xFF && s_id.area == 0xFC) { in qlt_make_local_sess()
6102 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf042, in qlt_make_local_sess()
6115 if (rc != 0) { in qlt_make_local_sess()
6118 ql_log(ql_log_info, vha, 0xf071, in qlt_make_local_sess()
6142 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf043, in qlt_make_local_sess()
6164 unsigned long flags = 0, flags2 = 0; in qlt_abort_work()
6192 ql_dbg(ql_dbg_tgt_tmr, vha, 0xf01c, in qlt_abort_work()
6205 if (rc != 0) in qlt_abort_work()
6255 ql_dbg(ql_dbg_tgt_tmr, vha, 0xf020, in qlt_tmr_work()
6267 rc = qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_tmr_work()
6272 if (rc != 0) in qlt_tmr_work()
6279 qlt_send_term_exchange(ha->base_qpair, NULL, &prm->tm_iocb2, 1, 0); in qlt_tmr_work()
6288 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf000, "Sess work (tgt %p)", tgt); in qlt_sess_work_fn()
6331 return 0; in qlt_add_target()
6334 ql_log(ql_log_warn, base_vha, 0xe070, in qlt_add_target()
6336 return 0; in qlt_add_target()
6339 ql_dbg(ql_dbg_tgt, base_vha, 0xe03b, in qlt_add_target()
6346 ql_dbg(ql_dbg_tgt, base_vha, 0xe066, in qlt_add_target()
6356 ql_log(ql_log_warn, base_vha, 0x0197, in qlt_add_target()
6368 ql_log(ql_log_info, base_vha, 0x0198, in qlt_add_target()
6372 h = &tgt->qphints[0]; in qlt_add_target()
6378 for (i = 0; i < ha->max_qpairs; i++) { in qlt_add_target()
6401 atomic_set(&tgt->tgt_global_resets_count, 0); in qlt_add_target()
6405 ql_dbg(ql_dbg_tgt, base_vha, 0xe067, in qlt_add_target()
6418 return 0; in qlt_add_target()
6425 return 0; in qlt_remove_target()
6429 return 0; in qlt_remove_target()
6435 ql_dbg(ql_dbg_tgt, vha, 0xe03c, "Unregistering target for host %ld(%p)", in qlt_remove_target()
6439 return 0; in qlt_remove_target()
6445 u32 key = 0; in qlt_remove_target_resources()
6514 ql_dbg(ql_dbg_tgt, vha, 0xe068, in qlt_lport_register()
6526 if (rc != 0) in qlt_lport_register()
6611 ql_dbg(ql_dbg_tgt, vha, 0xe069, in qlt_enable_vha()
6623 tgt->tgt_stopped = 0; in qlt_enable_vha()
6628 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf021, in qlt_enable_vha()
6655 ql_dbg(ql_dbg_tgt, vha, 0xe06a, in qlt_disable_vha()
6674 ql_dbg(ql_dbg_tgt, vha, 0xe081, in qlt_disable_vha()
6707 u8 fc4_feature = 0; in qlt_rff_id()
6709 * FC-4 Feature bit 0 indicates target functionality to the name server. in qlt_rff_id()
6728 * Returns 0 on success.
6740 for (cnt = 0; cnt < ha->tgt.atio_q_length; cnt++) { in qlt_init_atio_q_entries()
6772 ql_log(ql_log_warn, vha, 0xd03c, in qlt_24xx_process_atio_queue()
6780 ha_locked, 0); in qlt_24xx_process_atio_queue()
6786 for (i = 0; i < cnt; i++) { in qlt_24xx_process_atio_queue()
6789 ha->tgt.atio_ring_index = 0; in qlt_24xx_process_atio_queue()
6814 wrt_reg_dword(ISP_ATIO_Q_IN(vha), 0); in qlt_24xx_config_rings()
6815 wrt_reg_dword(ISP_ATIO_Q_OUT(vha), 0); in qlt_24xx_config_rings()
6822 ql_dbg(ql_dbg_init, vha, 0xf072, in qlt_24xx_config_rings()
6823 "Registering ICB vector 0x%x for atio que.\n", in qlt_24xx_config_rings()
6829 icb->msix_atio = 0; in qlt_24xx_config_rings()
6831 ql_dbg(ql_dbg_init, vha, 0xf072, in qlt_24xx_config_rings()
6860 nv->exchange_count = cpu_to_le16(0xFFFF); in qlt_24xx_config_nvram_stage1()
6966 nv->exchange_count = cpu_to_le16(0xFFFF); in qlt_81xx_config_nvram_stage1()
7096 ql_log(ql_log_info, base_vha, 0xd03d, in qlt_probe_one_stage1()
7116 qlt_24xx_process_atio_queue(vha, 0); in qla83xx_msix_atio_q()
7137 qlt_24xx_process_atio_queue(vha, 0); in qlt_handle_abts_recv_work()
7176 return 0; in qlt_mem_alloc()
7191 return 0; in qlt_mem_alloc()
7206 ha->tgt.atio_dma = 0; in qlt_mem_free()
7231 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf018, in qlt_update_vp_map()
7236 ql_log(ql_log_info, vha, 0xd03e, in qlt_update_vp_map()
7241 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf019, in qlt_update_vp_map()
7249 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf01a, in qlt_update_vp_map()
7254 vha->d_id.b24 = 0; in qlt_update_vp_map()
7274 if (strcasecmp(qlini_mode, QLA2XXX_INI_MODE_STR_EXCLUSIVE) == 0) in qlt_parse_ini_mode()
7276 else if (strcasecmp(qlini_mode, QLA2XXX_INI_MODE_STR_DISABLED) == 0) in qlt_parse_ini_mode()
7278 else if (strcasecmp(qlini_mode, QLA2XXX_INI_MODE_STR_ENABLED) == 0) in qlt_parse_ini_mode()
7280 else if (strcasecmp(qlini_mode, QLA2XXX_INI_MODE_STR_DUAL) == 0) in qlt_parse_ini_mode()
7296 ql_log(ql_log_fatal, NULL, 0xe06b, in qlt_init()
7302 return 0; in qlt_init()
7306 qla_tgt_mgmt_cmd), 0, NULL); in qlt_init()
7308 ql_log(ql_log_fatal, NULL, 0xd04b, in qlt_init()
7315 0, NULL); in qlt_init()
7318 ql_log(ql_log_fatal, NULL, 0xe06d, in qlt_init()
7327 ql_log(ql_log_fatal, NULL, 0xe06e, in qlt_init()
7333 qla_tgt_wq = alloc_workqueue("qla_tgt_wq", 0, 0); in qlt_init()
7335 ql_log(ql_log_fatal, NULL, 0xe06f, in qlt_init()
7343 return (ql2x_ini_mode == QLA2XXX_INI_MODE_DISABLED) ? 1 : 0; in qlt_init()