Lines Matching refs:phba

168 lpfc_check_elscmpl_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,  in lpfc_check_elscmpl_iocb()  argument
208 lpfc_els_abort(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp) in lpfc_els_abort() argument
214 pring = lpfc_phba_elsring(phba); in lpfc_els_abort()
234 spin_lock_irq(&phba->hbalock); in lpfc_els_abort()
235 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
239 if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) in lpfc_els_abort()
242 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
244 spin_unlock_irq(&phba->hbalock); in lpfc_els_abort()
248 spin_lock_irq(&phba->hbalock); in lpfc_els_abort()
250 lpfc_sli_issue_abort_iotag(phba, pring, iocb); in lpfc_els_abort()
251 spin_unlock_irq(&phba->hbalock); in lpfc_els_abort()
257 spin_lock_irq(&phba->hbalock); in lpfc_els_abort()
258 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
263 if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) { in lpfc_els_abort()
269 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_els_abort()
271 spin_unlock_irq(&phba->hbalock); in lpfc_els_abort()
274 lpfc_sli_cancel_iocbs(phba, &abort_list, in lpfc_els_abort()
277 lpfc_cancel_retry_delay_tmo(phba->pport, ndlp); in lpfc_els_abort()
288 lpfc_defer_pt2pt_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *link_mbox) in lpfc_defer_pt2pt_acc() argument
304 lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT, in lpfc_defer_pt2pt_acc()
307 mempool_free(login_mbox, phba->mbox_mem_pool); in lpfc_defer_pt2pt_acc()
308 mempool_free(link_mbox, phba->mbox_mem_pool); in lpfc_defer_pt2pt_acc()
319 lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT, in lpfc_defer_pt2pt_acc()
322 mempool_free(login_mbox, phba->mbox_mem_pool); in lpfc_defer_pt2pt_acc()
325 mempool_free(link_mbox, phba->mbox_mem_pool); in lpfc_defer_pt2pt_acc()
342 lpfc_defer_acc_rsp(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) in lpfc_defer_acc_rsp() argument
361 lpfc_sli4_unreg_rpi_cmpl_clr(phba, pmb); in lpfc_defer_acc_rsp()
367 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_defer_acc_rsp()
376 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_defer_acc_rsp()
388 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi() local
477 !(phba->nvmet_support)) { in lpfc_rcv_plogi()
493 if (phba->nvmet_support && in lpfc_rcv_plogi()
495 lpfc_nvmet_invalidate_host(phba, ndlp); in lpfc_rcv_plogi()
521 ed_tov = (phba->fc_edtov + 999999) / 1000000; in lpfc_rcv_plogi()
528 if (ed_tov > phba->fc_edtov) in lpfc_rcv_plogi()
529 phba->fc_edtov = ed_tov; in lpfc_rcv_plogi()
530 phba->fc_ratov = (2 * phba->fc_edtov) / 1000; in lpfc_rcv_plogi()
532 memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm)); in lpfc_rcv_plogi()
536 if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_rcv_plogi()
540 link_mbox = mempool_alloc(phba->mbox_mem_pool, in lpfc_rcv_plogi()
544 lpfc_config_link(phba, link_mbox); in lpfc_rcv_plogi()
561 if ((phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) && in lpfc_rcv_plogi()
569 login_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_rcv_plogi()
574 if (phba->nvmet_support && !defer_acc) { in lpfc_rcv_plogi()
575 link_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_rcv_plogi()
588 rpi = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]; in lpfc_rcv_plogi()
589 lpfc_unreg_login(phba, vport->vpi, rpi, link_mbox); in lpfc_rcv_plogi()
603 } else if (phba->sli_rev == LPFC_SLI_REV4) in lpfc_rcv_plogi()
606 rc = lpfc_reg_rpi(phba, vport->vpi, icmd->un.rcvels.remoteID, in lpfc_rcv_plogi()
637 lpfc_els_abort(phba, ndlp); in lpfc_rcv_plogi()
659 mempool_free(login_mbox, phba->mbox_mem_pool); in lpfc_rcv_plogi()
680 rc = lpfc_sli_issue_mbox(phba, link_mbox, MBX_NOWAIT); in lpfc_rcv_plogi()
688 mempool_free(login_mbox, phba->mbox_mem_pool); in lpfc_rcv_plogi()
692 lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT, in lpfc_rcv_plogi()
697 mempool_free(link_mbox, phba->mbox_mem_pool); in lpfc_rcv_plogi()
699 mempool_free(login_mbox, phba->mbox_mem_pool); in lpfc_rcv_plogi()
716 lpfc_mbx_cmpl_resume_rpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq) in lpfc_mbx_cmpl_resume_rpi() argument
735 mempool_free(mboxq, phba->mbox_mem_pool); in lpfc_mbx_cmpl_resume_rpi()
775 if (vport->phba->sli_rev == LPFC_SLI_REV4) { in lpfc_rcv_padisc()
838 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo() local
855 if (phba->nvmet_support && in lpfc_rcv_logo()
857 lpfc_nvmet_invalidate_host(phba, ndlp); in lpfc_rcv_logo()
867 vports = lpfc_create_vport_work_array(phba); in lpfc_rcv_logo()
869 for (i = 0; i <= phba->max_vports && vports[i] != NULL; in lpfc_rcv_logo()
878 lpfc_destroy_vport_work_array(phba, vports); in lpfc_rcv_logo()
901 phba->pport->fc_flag &= ~FC_LOGO_RCVD_DID_CHNG; in lpfc_rcv_logo()
903 lpfc_retry_pport_discovery(phba); in lpfc_rcv_logo()
949 if (vport->phba->nvmet_support) { in lpfc_rcv_prli_support_check()
977 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_prli() local
1008 if (npr->Retry && phba->nsler && in lpfc_rcv_prli()
1018 if (phba->nvmet_support && (npr->prliType == PRLI_NVME_TYPE)) { in lpfc_rcv_prli()
1084 lpfc_release_rpi(struct lpfc_hba *phba, struct lpfc_vport *vport, in lpfc_release_rpi() argument
1104 pmb = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, in lpfc_release_rpi()
1110 lpfc_unreg_login(phba, vport->vpi, rpi, pmb); in lpfc_release_rpi()
1124 rc = lpfc_sli_issue_mbox(phba, pmb, MBX_NOWAIT); in lpfc_release_rpi()
1126 mempool_free(pmb, phba->mbox_mem_pool); in lpfc_release_rpi()
1134 struct lpfc_hba *phba; in lpfc_disc_illegal() local
1138 phba = vport->phba; in lpfc_disc_illegal()
1140 if (!(phba->pport->load_flag & FC_UNLOADING) && in lpfc_disc_illegal()
1144 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_disc_illegal()
1239 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_plogi_issue() local
1252 phba->fc_stat.elsLogiCol++; in lpfc_rcv_plogi_plogi_issue()
1306 if (vport->phba->sli_rev == LPFC_SLI_REV3) in lpfc_rcv_logo_plogi_issue()
1309 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_plogi_issue()
1320 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_els_plogi_issue() local
1324 lpfc_els_abort(phba, ndlp); in lpfc_rcv_els_plogi_issue()
1350 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_plogi_issue() local
1421 ed_tov = (phba->fc_edtov + 999999) / 1000000; in lpfc_cmpl_plogi_plogi_issue()
1425 if ((phba->sli.sli_flag & LPFC_SLI_SUPPRESS_RSP) && in lpfc_cmpl_plogi_plogi_issue()
1438 if (ed_tov > phba->fc_edtov) in lpfc_cmpl_plogi_plogi_issue()
1439 phba->fc_edtov = ed_tov; in lpfc_cmpl_plogi_plogi_issue()
1440 phba->fc_ratov = (2 * phba->fc_edtov) / 1000; in lpfc_cmpl_plogi_plogi_issue()
1442 memcpy(&phba->fc_fabparam, sp, sizeof(struct serv_parm)); in lpfc_cmpl_plogi_plogi_issue()
1445 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_cmpl_plogi_plogi_issue()
1448 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_cmpl_plogi_plogi_issue()
1460 lpfc_config_link(phba, mbox); in lpfc_cmpl_plogi_plogi_issue()
1464 rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT); in lpfc_cmpl_plogi_plogi_issue()
1466 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_cmpl_plogi_plogi_issue()
1474 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); in lpfc_cmpl_plogi_plogi_issue()
1484 if (lpfc_reg_rpi(phba, vport->vpi, irsp->un.elsreq64.remoteID, in lpfc_cmpl_plogi_plogi_issue()
1499 if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT) in lpfc_cmpl_plogi_plogi_issue()
1512 lpfc_mbuf_free(phba, mp->virt, mp->phys); in lpfc_cmpl_plogi_plogi_issue()
1514 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_cmpl_plogi_plogi_issue()
1522 mempool_free(mbox, phba->mbox_mem_pool); in lpfc_cmpl_plogi_plogi_issue()
1563 struct lpfc_hba *phba; in lpfc_cmpl_reglogin_plogi_issue() local
1568 phba = vport->phba; in lpfc_cmpl_reglogin_plogi_issue()
1570 if (!(phba->pport->load_flag & FC_UNLOADING) && in lpfc_cmpl_reglogin_plogi_issue()
1573 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_cmpl_reglogin_plogi_issue()
1591 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_plogi_issue()
1605 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_plogi_issue() local
1614 lpfc_els_abort(phba, ndlp); in lpfc_device_recov_plogi_issue()
1630 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_adisc_issue() local
1634 lpfc_els_abort(phba, ndlp); in lpfc_rcv_plogi_adisc_issue()
1670 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_adisc_issue() local
1676 lpfc_els_abort(phba, ndlp); in lpfc_rcv_logo_adisc_issue()
1714 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_adisc_issue() local
1723 ap = (ADISC *)lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb); in lpfc_cmpl_adisc_adisc_issue()
1745 if (phba->sli_rev == LPFC_SLI_REV4) { in lpfc_cmpl_adisc_adisc_issue()
1784 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_adisc_issue()
1798 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_adisc_issue() local
1807 lpfc_els_abort(phba, ndlp); in lpfc_device_recov_adisc_issue()
1842 if (vport->phba->nvmet_support) { in lpfc_rcv_prli_reglogin_issue()
1875 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_reglogin_issue() local
1885 if ((mb = phba->sli.mbox_active)) { in lpfc_rcv_logo_reglogin_issue()
1895 spin_lock_irq(&phba->hbalock); in lpfc_rcv_logo_reglogin_issue()
1896 list_for_each_entry_safe(mb, nextmb, &phba->sli.mboxq, list) { in lpfc_rcv_logo_reglogin_issue()
1901 __lpfc_mbuf_free(phba, mp->virt, mp->phys); in lpfc_rcv_logo_reglogin_issue()
1907 phba->sli.mboxq_cnt--; in lpfc_rcv_logo_reglogin_issue()
1908 mempool_free(mb, phba->mbox_mem_pool); in lpfc_rcv_logo_reglogin_issue()
1911 spin_unlock_irq(&phba->hbalock); in lpfc_rcv_logo_reglogin_issue()
1917 lpfc_els_abort(phba, ns_ndlp); in lpfc_rcv_logo_reglogin_issue()
1956 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_reglogin_reglogin_issue() local
1992 if (phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_reglogin_issue()
2002 (phba->nvmet_support == 0)) { in lpfc_cmpl_reglogin_reglogin_issue()
2022 } else if (phba->fc_topology == LPFC_TOPOLOGY_LOOP) { in lpfc_cmpl_reglogin_reglogin_issue()
2046 if ((vport->fc_flag & FC_PT2PT) && phba->nvmet_support) in lpfc_cmpl_reglogin_reglogin_issue()
2047 phba->targetport->port_id = vport->fc_myDID; in lpfc_cmpl_reglogin_reglogin_issue()
2101 !vport->phba->nvmet_support) in lpfc_device_recov_reglogin_issue()
2141 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_prli_issue()
2178 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_prli_issue() local
2193 temp_ptr = lpfc_check_elscmpl_iocb(phba, cmdiocb, rspiocb); in lpfc_cmpl_prli_prli_issue()
2242 if (phba->nsler && bf_get_be32(prli_nsler, nvpr) && in lpfc_cmpl_prli_prli_issue()
2266 (phba->cfg_nvme_enable_fb) && in lpfc_cmpl_prli_prli_issue()
2267 (!phba->nvmet_support)) { in lpfc_cmpl_prli_prli_issue()
2361 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_prli_issue()
2392 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_prli_issue() local
2401 lpfc_els_abort(phba, ndlp); in lpfc_device_recov_prli_issue()
2508 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_logo_issue()
2646 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_prlo_mapped_node() local
2650 lpfc_sli_abort_iocb(vport, &phba->sli.sli3_ring[LPFC_FCP_RING], in lpfc_rcv_prlo_mapped_node()
2882 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_npr_node()