Lines Matching refs:vha
26 struct scsi_qla_host *vha = sp->vha; in qla2x00_get_cmd_direction() local
33 vha->qla_stats.output_bytes += scsi_bufflen(cmd); in qla2x00_get_cmd_direction()
34 vha->qla_stats.output_requests++; in qla2x00_get_cmd_direction()
37 vha->qla_stats.input_bytes += scsi_bufflen(cmd); in qla2x00_get_cmd_direction()
38 vha->qla_stats.input_requests++; in qla2x00_get_cmd_direction()
94 qla2x00_prep_cont_type0_iocb(struct scsi_qla_host *vha) in qla2x00_prep_cont_type0_iocb() argument
97 struct req_que *req = vha->req; in qla2x00_prep_cont_type0_iocb()
123 qla2x00_prep_cont_type1_iocb(scsi_qla_host_t *vha, struct req_que *req) in qla2x00_prep_cont_type1_iocb() argument
139 *((uint32_t *)(&cont_pkt->entry_type)) = IS_QLAFX00(vha->hw) ? in qla2x00_prep_cont_type1_iocb()
197 scsi_qla_host_t *vha; in qla2x00_build_scsi_iocbs_32() local
214 vha = sp->vha; in qla2x00_build_scsi_iocbs_32()
231 cont_pkt = qla2x00_prep_cont_type0_iocb(vha); in qla2x00_build_scsi_iocbs_32()
255 scsi_qla_host_t *vha; in qla2x00_build_scsi_iocbs_64() local
271 vha = sp->vha; in qla2x00_build_scsi_iocbs_64()
289 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla2x00_build_scsi_iocbs_64()
313 scsi_qla_host_t *vha; in qla2x00_start_scsi() local
328 vha = sp->vha; in qla2x00_start_scsi()
329 ha = vha->hw; in qla2x00_start_scsi()
338 if (vha->marker_needed != 0) { in qla2x00_start_scsi()
339 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla2x00_start_scsi()
343 vha->marker_needed = 0; in qla2x00_start_scsi()
431 if (vha->flags.process_response_queue && in qla2x00_start_scsi()
453 qla2x00_start_iocbs(struct scsi_qla_host *vha, struct req_que *req) in qla2x00_start_iocbs() argument
455 struct qla_hw_data *ha = vha->hw; in qla2x00_start_iocbs()
459 qla82xx_start_iocbs(vha); in qla2x00_start_iocbs()
504 __qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, in __qla2x00_marker() argument
511 struct qla_hw_data *ha = vha->hw; in __qla2x00_marker()
515 mrk = (mrk_entry_t *)qla2x00_alloc_iocbs(vha, NULL); in __qla2x00_marker()
531 mrk24->vp_index = vha->vp_idx; in __qla2x00_marker()
540 qla2x00_start_iocbs(vha, req); in __qla2x00_marker()
546 qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, in qla2x00_marker() argument
553 spin_lock_irqsave(&vha->hw->hardware_lock, flags); in qla2x00_marker()
554 ret = __qla2x00_marker(vha, req, rsp, loop_id, lun, type); in qla2x00_marker()
555 spin_unlock_irqrestore(&vha->hw->hardware_lock, flags); in qla2x00_marker()
567 int qla2x00_issue_marker(scsi_qla_host_t *vha, int ha_locked) in qla2x00_issue_marker() argument
570 if (__qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, in qla2x00_issue_marker()
574 if (qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, in qla2x00_issue_marker()
578 vha->marker_needed = 0; in qla2x00_issue_marker()
588 scsi_qla_host_t *vha; in qla24xx_build_scsi_type_6_iocbs() local
611 vha = sp->vha; in qla24xx_build_scsi_type_6_iocbs()
612 ha = vha->hw; in qla24xx_build_scsi_type_6_iocbs()
617 vha->qla_stats.output_bytes += scsi_bufflen(cmd); in qla24xx_build_scsi_type_6_iocbs()
618 vha->qla_stats.output_requests++; in qla24xx_build_scsi_type_6_iocbs()
621 vha->qla_stats.input_bytes += scsi_bufflen(cmd); in qla24xx_build_scsi_type_6_iocbs()
622 vha->qla_stats.input_requests++; in qla24xx_build_scsi_type_6_iocbs()
710 scsi_qla_host_t *vha; in qla24xx_build_scsi_iocbs() local
726 vha = sp->vha; in qla24xx_build_scsi_iocbs()
731 vha->qla_stats.output_bytes += scsi_bufflen(cmd); in qla24xx_build_scsi_iocbs()
732 vha->qla_stats.output_requests++; in qla24xx_build_scsi_iocbs()
735 vha->qla_stats.input_bytes += scsi_bufflen(cmd); in qla24xx_build_scsi_iocbs()
736 vha->qla_stats.input_requests++; in qla24xx_build_scsi_iocbs()
755 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, req); in qla24xx_build_scsi_iocbs()
1112 struct scsi_qla_host *vha; in qla24xx_walk_and_build_prot_sglist() local
1117 vha = sp->vha; in qla24xx_walk_and_build_prot_sglist()
1119 vha = tc->vha; in qla24xx_walk_and_build_prot_sglist()
1126 ql_dbg(ql_dbg_tgt, vha, 0xe021, in qla24xx_walk_and_build_prot_sglist()
1206 scsi_qla_host_t *vha; in qla24xx_build_scsi_crc_2_iocbs() local
1225 vha = sp->vha; in qla24xx_build_scsi_crc_2_iocbs()
1226 ha = vha->hw; in qla24xx_build_scsi_crc_2_iocbs()
1235 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_build_scsi_crc_2_iocbs()
1421 struct scsi_qla_host *vha = sp->vha; in qla24xx_start_scsi() local
1422 struct qla_hw_data *ha = vha->hw; in qla24xx_start_scsi()
1425 req = vha->req; in qla24xx_start_scsi()
1432 if (vha->marker_needed != 0) { in qla24xx_start_scsi()
1433 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla24xx_start_scsi()
1436 vha->marker_needed = 0; in qla24xx_start_scsi()
1464 req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); in qla24xx_start_scsi()
1498 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_start_scsi()
1532 if (vha->flags.process_response_queue && in qla24xx_start_scsi()
1534 qla24xx_process_response_queue(vha, rsp); in qla24xx_start_scsi()
1570 struct scsi_qla_host *vha = sp->vha; in qla24xx_dif_start_scsi() local
1571 struct qla_hw_data *ha = vha->hw; in qla24xx_dif_start_scsi()
1584 req = vha->req; in qla24xx_dif_start_scsi()
1591 if (vha->marker_needed != 0) { in qla24xx_dif_start_scsi()
1592 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla24xx_dif_start_scsi()
1595 vha->marker_needed = 0; in qla24xx_dif_start_scsi()
1731 if (vha->flags.process_response_queue && in qla24xx_dif_start_scsi()
1733 qla24xx_process_response_queue(vha, rsp); in qla24xx_dif_start_scsi()
1771 struct scsi_qla_host *vha = sp->fcport->vha; in qla2xxx_start_scsi_mq() local
1772 struct qla_hw_data *ha = vha->hw; in qla2xxx_start_scsi_mq()
1786 if (vha->marker_needed != 0) { in qla2xxx_start_scsi_mq()
1787 if (__qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla2xxx_start_scsi_mq()
1792 vha->marker_needed = 0; in qla2xxx_start_scsi_mq()
1817 req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); in qla2xxx_start_scsi_mq()
1851 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla2xxx_start_scsi_mq()
1884 if (vha->flags.process_response_queue && in qla2xxx_start_scsi_mq()
1886 qla24xx_process_response_queue(vha, rsp); in qla2xxx_start_scsi_mq()
1923 struct scsi_qla_host *vha = sp->fcport->vha; in qla2xxx_dif_start_scsi_mq() local
1924 struct qla_hw_data *ha = vha->hw; in qla2xxx_dif_start_scsi_mq()
1959 if (vha->marker_needed != 0) { in qla2xxx_dif_start_scsi_mq()
1960 if (__qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla2xxx_dif_start_scsi_mq()
1965 vha->marker_needed = 0; in qla2xxx_dif_start_scsi_mq()
2095 if (vha->flags.process_response_queue && in qla2xxx_dif_start_scsi_mq()
2097 qla24xx_process_response_queue(vha, rsp); in qla2xxx_dif_start_scsi_mq()
2121 scsi_qla_host_t *vha = qpair->vha; in __qla2x00_alloc_iocbs() local
2122 struct qla_hw_data *ha = vha->hw; in __qla2x00_alloc_iocbs()
2174 ql_log(ql_log_warn, vha, 0x700b, in __qla2x00_alloc_iocbs()
2207 scsi_qla_host_t *vha = qpair->vha; in qla2x00_alloc_iocbs_ready() local
2209 if (qla2x00_reset_active(vha)) in qla2x00_alloc_iocbs_ready()
2216 qla2x00_alloc_iocbs(struct scsi_qla_host *vha, srb_t *sp) in qla2x00_alloc_iocbs() argument
2218 return __qla2x00_alloc_iocbs(vha->hw->base_qpair, sp); in qla2x00_alloc_iocbs()
2235 logio->vp_index = sp->vha->vp_idx; in qla24xx_prli_iocb()
2257 logio->vp_index = sp->vha->vp_idx; in qla24xx_login_iocb()
2263 struct qla_hw_data *ha = sp->vha->hw; in qla2x00_login_iocb()
2281 mbx->mb9 = cpu_to_le16(sp->vha->vp_idx); in qla2x00_login_iocb()
2297 logio->vp_index = sp->vha->vp_idx; in qla24xx_logout_iocb()
2303 struct qla_hw_data *ha = sp->vha->hw; in qla2x00_logout_iocb()
2314 mbx->mb9 = cpu_to_le16(sp->vha->vp_idx); in qla2x00_logout_iocb()
2324 logio->vp_index = sp->vha->vp_idx; in qla24xx_adisc_iocb()
2330 struct qla_hw_data *ha = sp->vha->hw; in qla2x00_adisc_iocb()
2345 mbx->mb9 = cpu_to_le16(sp->vha->vp_idx); in qla2x00_adisc_iocb()
2354 scsi_qla_host_t *vha = fcport->vha; in qla24xx_tm_iocb() local
2355 struct qla_hw_data *ha = vha->hw; in qla24xx_tm_iocb()
2357 struct req_que *req = vha->req; in qla24xx_tm_iocb()
2371 tsk->vp_index = fcport->vha->vp_idx; in qla24xx_tm_iocb()
2389 dma_free_coherent(&sp->vha->hw->pdev->dev, DMA_POOL_SIZE, in qla2x00_els_dcmd_sp_free()
2402 struct scsi_qla_host *vha = sp->vha; in qla2x00_els_dcmd_iocb_timeout() local
2405 ql_dbg(ql_dbg_io, vha, 0x3069, in qla2x00_els_dcmd_iocb_timeout()
2419 struct scsi_qla_host *vha = sp->vha; in qla2x00_els_dcmd_sp_done() local
2421 ql_dbg(ql_dbg_io, vha, 0x3072, in qla2x00_els_dcmd_sp_done()
2430 qla24xx_els_dcmd_iocb(scsi_qla_host_t *vha, int els_opcode, in qla24xx_els_dcmd_iocb() argument
2436 struct qla_hw_data *ha = vha->hw; in qla24xx_els_dcmd_iocb()
2440 fcport = qla2x00_alloc_fcport(vha, GFP_KERNEL); in qla24xx_els_dcmd_iocb()
2442 ql_log(ql_log_info, vha, 0x70e5, "fcport allocation failed\n"); in qla24xx_els_dcmd_iocb()
2447 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); in qla24xx_els_dcmd_iocb()
2450 ql_log(ql_log_info, vha, 0x70e6, in qla24xx_els_dcmd_iocb()
2461 ql_dbg(ql_dbg_io, vha, 0x3073, "portid=%02x%02x%02x done\n", in qla24xx_els_dcmd_iocb()
2486 logo_pyld.s_id[0] = vha->d_id.b.al_pa; in qla24xx_els_dcmd_iocb()
2487 logo_pyld.s_id[1] = vha->d_id.b.area; in qla24xx_els_dcmd_iocb()
2488 logo_pyld.s_id[2] = vha->d_id.b.domain; in qla24xx_els_dcmd_iocb()
2490 memcpy(&logo_pyld.wwpn, vha->port_name, WWN_SIZE); in qla24xx_els_dcmd_iocb()
2501 ql_dbg(ql_dbg_io, vha, 0x3074, in qla24xx_els_dcmd_iocb()
2515 scsi_qla_host_t *vha = sp->vha; in qla24xx_els_logo_iocb() local
2525 els_iocb->vp_index = vha->vp_idx; in qla24xx_els_logo_iocb()
2533 els_iocb->s_id[0] = vha->d_id.b.al_pa; in qla24xx_els_logo_iocb()
2534 els_iocb->s_id[1] = vha->d_id.b.area; in qla24xx_els_logo_iocb()
2535 els_iocb->s_id[2] = vha->d_id.b.domain; in qla24xx_els_logo_iocb()
2554 ql_dbg(ql_dbg_io + ql_dbg_buffer, vha, 0x3073, in qla24xx_els_logo_iocb()
2556 ql_dump_buffer(ql_log_info, vha, 0x0109, in qla24xx_els_logo_iocb()
2572 sp->vha->qla_stats.control_requests++; in qla24xx_els_logo_iocb()
2580 struct scsi_qla_host *vha = sp->vha; in qla2x00_els_dcmd2_iocb_timeout() local
2581 struct qla_hw_data *ha = vha->hw; in qla2x00_els_dcmd2_iocb_timeout()
2585 ql_dbg(ql_dbg_io + ql_dbg_disc, vha, 0x3069, in qla2x00_els_dcmd2_iocb_timeout()
2592 ql_dbg(ql_dbg_io, vha, 0x3070, in qla2x00_els_dcmd2_iocb_timeout()
2606 struct scsi_qla_host *vha = sp->vha; in qla2x00_els_dcmd2_sp_done() local
2610 ql_dbg(ql_dbg_disc, vha, 0x3072, in qla2x00_els_dcmd2_sp_done()
2621 set_bit(RELOGIN_NEEDED, &vha->dpc_flags); in qla2x00_els_dcmd2_sp_done()
2627 qla2x00_fcport_event_handler(vha, &ea); in qla2x00_els_dcmd2_sp_done()
2630 e = qla2x00_alloc_work(vha, QLA_EVT_UNMAP); in qla2x00_els_dcmd2_sp_done()
2635 dma_free_coherent(&sp->vha->hw->pdev->dev, in qla2x00_els_dcmd2_sp_done()
2641 dma_free_coherent(&sp->vha->hw->pdev->dev, in qla2x00_els_dcmd2_sp_done()
2649 qla2x00_post_work(vha, e); in qla2x00_els_dcmd2_sp_done()
2654 qla24xx_els_dcmd2_iocb(scsi_qla_host_t *vha, int els_opcode, in qla24xx_els_dcmd2_iocb() argument
2659 struct qla_hw_data *ha = vha->hw; in qla24xx_els_dcmd2_iocb()
2665 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); in qla24xx_els_dcmd2_iocb()
2667 ql_log(ql_log_info, vha, 0x70e6, in qla24xx_els_dcmd2_iocb()
2673 ql_dbg(ql_dbg_io, vha, 0x3073, in qla24xx_els_dcmd2_iocb()
2710 ql_dbg(ql_dbg_io, vha, 0x3073, "PLOGI %p %p\n", ptr, resp_ptr); in qla24xx_els_dcmd2_iocb()
2721 ql_dbg(ql_dbg_disc + ql_dbg_buffer, vha, 0x3073, "PLOGI buffer:\n"); in qla24xx_els_dcmd2_iocb()
2722 ql_dump_buffer(ql_dbg_disc + ql_dbg_buffer, vha, 0x0109, in qla24xx_els_dcmd2_iocb()
2729 ql_dbg(ql_dbg_disc, vha, 0x3074, in qla24xx_els_dcmd2_iocb()
2732 fcport->d_id.b24, vha->d_id.b24); in qla24xx_els_dcmd2_iocb()
2747 dma_free_coherent(&sp->vha->hw->pdev->dev, in qla24xx_els_dcmd2_iocb()
2753 dma_free_coherent(&sp->vha->hw->pdev->dev, in qla24xx_els_dcmd2_iocb()
2776 els_iocb->vp_index = sp->vha->vp_idx; in qla24xx_els_iocb()
2807 sp->vha->qla_stats.control_requests++; in qla24xx_els_iocb()
2818 scsi_qla_host_t *vha = sp->vha; in qla2x00_ct_iocb() local
2819 struct qla_hw_data *ha = vha->hw; in qla2x00_ct_iocb()
2868 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, in qla2x00_ct_iocb()
2869 vha->hw->req_q_map[0]); in qla2x00_ct_iocb()
2884 sp->vha->qla_stats.control_requests++; in qla2x00_ct_iocb()
2895 scsi_qla_host_t *vha = sp->vha; in qla24xx_ct_iocb() local
2896 struct qla_hw_data *ha = vha->hw; in qla24xx_ct_iocb()
2907 ct_iocb->vp_index = sp->vha->vp_idx; in qla24xx_ct_iocb()
2933 vha, ha->req_q_map[0]); in qla24xx_ct_iocb()
2957 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, in qla24xx_ct_iocb()
2996 struct scsi_qla_host *vha = sp->vha; in qla82xx_start_scsi() local
2997 struct qla_hw_data *ha = vha->hw; in qla82xx_start_scsi()
3004 req = vha->req; in qla82xx_start_scsi()
3013 if (vha->marker_needed != 0) { in qla82xx_start_scsi()
3014 if (qla2x00_marker(vha, req, in qla82xx_start_scsi()
3016 ql_log(ql_log_warn, vha, 0x300c, in qla82xx_start_scsi()
3020 vha->marker_needed = 0; in qla82xx_start_scsi()
3057 ql_dbg(ql_dbg_io, vha, 0x300d, in qla82xx_start_scsi()
3072 ql_log(ql_log_fatal, vha, 0x300e, in qla82xx_start_scsi()
3082 ql_log(ql_log_fatal, vha, 0x300f, in qla82xx_start_scsi()
3109 ql_log(ql_log_fatal, vha, 0x3010, in qla82xx_start_scsi()
3118 ql_log(ql_log_fatal, vha, 0x3011, in qla82xx_start_scsi()
3133 ql_log(ql_log_warn, vha, 0x3012, in qla82xx_start_scsi()
3158 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3203 req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); in qla82xx_start_scsi()
3230 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3290 if (vha->flags.process_response_queue && in qla82xx_start_scsi()
3292 qla24xx_process_response_queue(vha, rsp); in qla82xx_start_scsi()
3316 scsi_qla_host_t *vha = sp->vha; in qla24xx_abort_iocb() local
3317 struct req_que *req = vha->req; in qla24xx_abort_iocb()
3330 abt_iocb->vp_index = vha->vp_idx; in qla24xx_abort_iocb()
3353 qla24xx_prep_ms_iocb(sp->vha, &sp->u.iocb_cmd.u.ctarg); in qla2x00_ctpthru_cmd_iocb()
3401 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla_nvme_ls()
3449 logio->vp_index = sp->fcport->vha->vp_idx; in qla24xx_prlo_iocb()
3456 scsi_qla_host_t *vha = sp->vha; in qla2x00_start_sp() local
3457 struct qla_hw_data *ha = vha->hw; in qla2x00_start_sp()
3463 pkt = qla2x00_alloc_iocbs(vha, sp); in qla2x00_start_sp()
3465 ql_log(ql_log_warn, vha, 0x700c, in qla2x00_start_sp()
3541 qla2x00_start_iocbs(vha, ha->req_q_map[0]); in qla2x00_start_sp()
3548 qla25xx_build_bidir_iocb(srb_t *sp, struct scsi_qla_host *vha, in qla25xx_build_bidir_iocb() argument
3576 cmd_pkt->timeout = cpu_to_le16(qla2x00_get_async_timeout(vha) + 2); in qla25xx_build_bidir_iocb()
3578 vha->bidi_stats.transfer_bytes += req_data_len; in qla25xx_build_bidir_iocb()
3579 vha->bidi_stats.io_count++; in qla25xx_build_bidir_iocb()
3581 vha->qla_stats.output_bytes += req_data_len; in qla25xx_build_bidir_iocb()
3582 vha->qla_stats.output_requests++; in qla25xx_build_bidir_iocb()
3602 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla25xx_build_bidir_iocb()
3628 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla25xx_build_bidir_iocb()
3644 qla2x00_start_bidir(srb_t *sp, struct scsi_qla_host *vha, uint32_t tot_dsds) in qla2x00_start_bidir() argument
3647 struct qla_hw_data *ha = vha->hw; in qla2x00_start_bidir()
3662 req = vha->req; in qla2x00_start_bidir()
3665 if (vha->marker_needed != 0) { in qla2x00_start_bidir()
3666 if (qla2x00_marker(vha, req, in qla2x00_start_bidir()
3669 vha->marker_needed = 0; in qla2x00_start_bidir()
3691 req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); in qla2x00_start_bidir()
3717 cmd_pkt->nport_handle = cpu_to_le16(vha->self_login_loop_id); in qla2x00_start_bidir()
3718 cmd_pkt->port_id[0] = vha->d_id.b.al_pa; in qla2x00_start_bidir()
3719 cmd_pkt->port_id[1] = vha->d_id.b.area; in qla2x00_start_bidir()
3720 cmd_pkt->port_id[2] = vha->d_id.b.domain; in qla2x00_start_bidir()
3722 qla25xx_build_bidir_iocb(sp, vha, cmd_pkt, tot_dsds); in qla2x00_start_bidir()
3732 qla2x00_start_iocbs(vha, req); in qla2x00_start_bidir()