Lines Matching refs:phba

168 lpfc_check_elscmpl_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,  in lpfc_check_elscmpl_iocb()  argument
174 u32 ulp_status = get_job_ulpstatus(phba, rspiocb); in lpfc_check_elscmpl_iocb()
191 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_check_elscmpl_iocb()
213 lpfc_els_abort(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp) in lpfc_els_abort() argument
219 pring = lpfc_phba_elsring(phba); in lpfc_els_abort()
239 spin_lock_irq(&phba->hbalock); in lpfc_els_abort()
240 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
244 if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) in lpfc_els_abort()
247 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
249 spin_unlock_irq(&phba->hbalock); in lpfc_els_abort()
253 spin_lock_irq(&phba->hbalock); in lpfc_els_abort()
255 lpfc_sli_issue_abort_iotag(phba, pring, iocb, NULL); in lpfc_els_abort()
256 spin_unlock_irq(&phba->hbalock); in lpfc_els_abort()
259 lpfc_issue_hb_tmo(phba); in lpfc_els_abort()
264 spin_lock_irq(&phba->hbalock); in lpfc_els_abort()
265 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
270 if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) { in lpfc_els_abort()
276 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
278 spin_unlock_irq(&phba->hbalock); in lpfc_els_abort()
281 lpfc_sli_cancel_iocbs(phba, &abort_list, in lpfc_els_abort()
284 lpfc_cancel_retry_delay_tmo(phba->pport, ndlp); in lpfc_els_abort()
294 lpfc_defer_plogi_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *login_mbox) in lpfc_defer_plogi_acc() argument
312 lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT, in lpfc_defer_plogi_acc()
319 lpfc_mbx_cmpl_reg_login(phba, login_mbox); in lpfc_defer_plogi_acc()
328 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi() local
377 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_rcv_plogi()
421 !(phba->nvmet_support)) { in lpfc_rcv_plogi()
446 if (phba->nvmet_support && in lpfc_rcv_plogi()
448 lpfc_nvmet_invalidate_host(phba, ndlp); in lpfc_rcv_plogi()
470 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_rcv_plogi()
484 if (phba->hba_flag & HBA_FLOGI_OUTSTANDING) in lpfc_rcv_plogi()
485 lpfc_els_abort_flogi(phba); in lpfc_rcv_plogi()
490 ed_tov = (phba->fc_edtov + 999999) / 1000000; in lpfc_rcv_plogi()
497 if (ed_tov > phba->fc_edtov) in lpfc_rcv_plogi()
498 phba->fc_edtov = ed_tov; in lpfc_rcv_plogi()
499 phba->fc_ratov = (2 * phba->fc_edtov) / 1000; in lpfc_rcv_plogi()
501 memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm)); in lpfc_rcv_plogi()
506 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_rcv_plogi()
509 link_mbox = mempool_alloc(phba->mbox_mem_pool, in lpfc_rcv_plogi()
513 lpfc_config_link(phba, link_mbox); in lpfc_rcv_plogi()
522 rc = lpfc_sli_issue_mbox(phba, link_mbox, MBX_NOWAIT); in lpfc_rcv_plogi()
524 mempool_free(link_mbox, phba->mbox_mem_pool); in lpfc_rcv_plogi()
533 if ((phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) && in lpfc_rcv_plogi()
541 login_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_rcv_plogi()
554 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_rcv_plogi()
560 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_rcv_plogi()
564 rc = lpfc_reg_rpi(phba, vport->vpi, remote_did, in lpfc_rcv_plogi()
585 lpfc_els_abort(phba, ndlp); in lpfc_rcv_plogi()
597 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_rcv_plogi()
598 lpfc_mbox_rsrc_cleanup(phba, login_mbox, in lpfc_rcv_plogi()
618 lpfc_mbox_rsrc_cleanup(phba, login_mbox, in lpfc_rcv_plogi()
650 rc = lpfc_sli_issue_mbox(phba, login_mbox, MBX_NOWAIT); in lpfc_rcv_plogi()
661 mempool_free(login_mbox, phba->mbox_mem_pool); in lpfc_rcv_plogi()
678 lpfc_mbx_cmpl_resume_rpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq) in lpfc_mbx_cmpl_resume_rpi() argument
701 mempool_free(mboxq, phba->mbox_mem_pool); in lpfc_mbx_cmpl_resume_rpi()
708 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_padisc() local
732 if (get_job_ulpstatus(phba, cmdiocb) == 0 && in lpfc_rcv_padisc()
740 if (vport->phba->sli_rev == LPFC_SLI_REV4) { in lpfc_rcv_padisc()
806 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo() local
832 if (phba->nvmet_support && in lpfc_rcv_logo()
834 lpfc_nvmet_invalidate_host(phba, ndlp); in lpfc_rcv_logo()
844 vports = lpfc_create_vport_work_array(phba); in lpfc_rcv_logo()
846 for (i = 0; i <= phba->max_vports && vports[i] != NULL; in lpfc_rcv_logo()
855 lpfc_destroy_vport_work_array(phba, vports); in lpfc_rcv_logo()
878 phba->pport->fc_flag &= ~FC_LOGO_RCVD_DID_CHNG; in lpfc_rcv_logo()
880 lpfc_retry_pport_discovery(phba); in lpfc_rcv_logo()
929 if (vport->phba->nvmet_support) { in lpfc_rcv_prli_support_check()
957 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_prli() local
988 if (npr->Retry && phba->nsler && in lpfc_rcv_prli()
998 if (phba->nvmet_support && (npr->prliType == PRLI_NVME_TYPE)) { in lpfc_rcv_prli()
1067 lpfc_release_rpi(struct lpfc_hba *phba, struct lpfc_vport *vport, in lpfc_release_rpi() argument
1087 pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, in lpfc_release_rpi()
1093 lpfc_unreg_login(phba, vport->vpi, rpi, pmb); in lpfc_release_rpi()
1098 mempool_free(pmb, phba->mbox_mem_pool); in lpfc_release_rpi()
1111 rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT); in lpfc_release_rpi()
1114 mempool_free(pmb, phba->mbox_mem_pool); in lpfc_release_rpi()
1123 struct lpfc_hba *phba; in lpfc_disc_illegal() local
1127 phba = vport->phba; in lpfc_disc_illegal()
1129 if (!(phba->pport->load_flag & FC_UNLOADING) && in lpfc_disc_illegal()
1133 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_disc_illegal()
1227 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_plogi_issue() local
1240 phba->fc_stat.elsLogiCol++; in lpfc_rcv_plogi_plogi_issue()
1294 if (vport->phba->sli_rev == LPFC_SLI_REV3) in lpfc_rcv_logo_plogi_issue()
1297 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_plogi_issue()
1307 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_els_plogi_issue() local
1311 lpfc_els_abort(phba, ndlp); in lpfc_rcv_els_plogi_issue()
1337 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_plogi_issue() local
1352 ulp_status = get_job_ulpstatus(phba, rspiocb); in lpfc_cmpl_plogi_plogi_issue()
1408 ed_tov = (phba->fc_edtov + 999999) / 1000000; in lpfc_cmpl_plogi_plogi_issue()
1412 if ((phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) && in lpfc_cmpl_plogi_plogi_issue()
1425 if (ed_tov > phba->fc_edtov) in lpfc_cmpl_plogi_plogi_issue()
1426 phba->fc_edtov = ed_tov; in lpfc_cmpl_plogi_plogi_issue()
1427 phba->fc_ratov = (2 * phba->fc_edtov) / 1000; in lpfc_cmpl_plogi_plogi_issue()
1429 memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm)); in lpfc_cmpl_plogi_plogi_issue()
1432 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_cmpl_plogi_plogi_issue()
1435 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_cmpl_plogi_plogi_issue()
1447 lpfc_config_link(phba, mbox); in lpfc_cmpl_plogi_plogi_issue()
1451 rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT); in lpfc_cmpl_plogi_plogi_issue()
1453 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_cmpl_plogi_plogi_issue()
1461 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_cmpl_plogi_plogi_issue()
1471 did = get_job_els_rsp64_did(phba, cmdiocb); in lpfc_cmpl_plogi_plogi_issue()
1473 if (lpfc_reg_rpi(phba, vport->vpi, did, in lpfc_cmpl_plogi_plogi_issue()
1494 if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT) in lpfc_cmpl_plogi_plogi_issue()
1506 lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED); in lpfc_cmpl_plogi_plogi_issue()
1513 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_cmpl_plogi_plogi_issue()
1551 struct lpfc_hba *phba; in lpfc_cmpl_reglogin_plogi_issue() local
1556 phba = vport->phba; in lpfc_cmpl_reglogin_plogi_issue()
1558 if (!(phba->pport->load_flag & FC_UNLOADING) && in lpfc_cmpl_reglogin_plogi_issue()
1561 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_cmpl_reglogin_plogi_issue()
1577 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_plogi_issue()
1590 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_plogi_issue() local
1599 lpfc_els_abort(phba, ndlp); in lpfc_device_recov_plogi_issue()
1614 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_adisc_issue() local
1618 lpfc_els_abort(phba, ndlp); in lpfc_rcv_plogi_adisc_issue()
1654 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_adisc_issue() local
1660 lpfc_els_abort(phba, ndlp); in lpfc_rcv_logo_adisc_issue()
1697 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_adisc_issue() local
1706 ulp_status = get_job_ulpstatus(phba, rspiocb); in lpfc_cmpl_adisc_adisc_issue()
1708 ap = (ADISC *)lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb); in lpfc_cmpl_adisc_adisc_issue()
1726 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_cmpl_adisc_adisc_issue()
1763 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_adisc_issue()
1776 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_adisc_issue() local
1785 lpfc_els_abort(phba, ndlp); in lpfc_device_recov_adisc_issue()
1820 if (vport->phba->nvmet_support) { in lpfc_rcv_prli_reglogin_issue()
1853 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_reglogin_issue() local
1862 if ((mb = phba->sli.mbox_active)) { in lpfc_rcv_logo_reglogin_issue()
1872 spin_lock_irq(&phba->hbalock); in lpfc_rcv_logo_reglogin_issue()
1873 list_for_each_entry_safe(mb, nextmb, &phba->sli.mboxq, list) { in lpfc_rcv_logo_reglogin_issue()
1879 phba->sli.mboxq_cnt--; in lpfc_rcv_logo_reglogin_issue()
1880 lpfc_mbox_rsrc_cleanup(phba, mb, MBOX_THD_LOCKED); in lpfc_rcv_logo_reglogin_issue()
1883 spin_unlock_irq(&phba->hbalock); in lpfc_rcv_logo_reglogin_issue()
1889 lpfc_els_abort(phba, ns_ndlp); in lpfc_rcv_logo_reglogin_issue()
1927 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_reglogin_reglogin_issue() local
1963 if (phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_reglogin_issue()
1973 (phba->nvmet_support == 0)) { in lpfc_cmpl_reglogin_reglogin_issue()
1993 } else if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) { in lpfc_cmpl_reglogin_reglogin_issue()
2017 if ((vport->fc_flag & FC_PT2PT) && phba->nvmet_support) in lpfc_cmpl_reglogin_reglogin_issue()
2018 phba->targetport->port_id = vport->fc_myDID; in lpfc_cmpl_reglogin_reglogin_issue()
2069 !vport->phba->nvmet_support) in lpfc_device_recov_reglogin_issue()
2110 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_prli_issue()
2146 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_prli_issue() local
2155 ulp_status = get_job_ulpstatus(phba, rspiocb); in lpfc_cmpl_prli_prli_issue()
2163 temp_ptr = lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb); in lpfc_cmpl_prli_prli_issue()
2211 if (phba->nsler && bf_get_be32(prli_nsler, nvpr) && in lpfc_cmpl_prli_prli_issue()
2235 (phba->cfg_nvme_enable_fb) && in lpfc_cmpl_prli_prli_issue()
2236 (!phba->nvmet_support)) { in lpfc_cmpl_prli_prli_issue()
2328 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_prli_issue()
2358 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_prli_issue() local
2367 lpfc_els_abort(phba, ndlp); in lpfc_device_recov_prli_issue()
2471 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_logo_issue()
2768 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_npr_node() local
2775 ulp_status = get_job_ulpstatus(phba, rspiocb); in lpfc_cmpl_plogi_npr_node()
2787 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_npr_node() local
2794 ulp_status = get_job_ulpstatus(phba, rspiocb); in lpfc_cmpl_prli_npr_node()
2823 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_npr_node() local
2830 ulp_status = get_job_ulpstatus(phba, rspiocb); in lpfc_cmpl_adisc_npr_node()
2849 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_npr_node()