Lines Matching defs:phba

79 lpfc_cmpl_ct_cmd_vmid(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
83 lpfc_ct_ignore_hbq_buffer(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq,
87 lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
90 get_job_ulpstatus(phba, piocbq));
92 lpfc_printf_log(phba, KERN_INFO, LOG_ELS,
95 size, get_job_ulpstatus(phba, piocbq));
99 lpfc_ct_unsol_buffer(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq,
102 lpfc_ct_ignore_hbq_buffer(phba, piocbq, mp, size);
107 * @phba : pointer to lpfc hba data structure.
115 lpfc_ct_unsol_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
128 lpfc_mbuf_free(phba, mp->virt, mp->phys);
134 lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
139 lpfc_sli_release_iocbq(phba, cmdiocb);
158 struct lpfc_hba *phba = vport->phba;
174 mp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &mp->phys);
187 bmp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &bmp->phys);
217 cmdiocbq = lpfc_sli_get_iocbq(phba);
223 if (phba->sli_rev == LPFC_SLI_REV4) {
224 lpfc_sli_prep_xmit_seq64(phba, cmdiocbq, bmp,
225 phba->sli4_hba.rpi_ids[ndlp->nlp_rpi],
229 lpfc_sli_prep_xmit_seq64(phba, cmdiocbq, bmp, 0, ulp_context, 1,
238 tmo = (3 * phba->fc_ratov);
248 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, cmdiocbq, 0);
257 lpfc_sli_release_iocbq(phba, cmdiocbq);
259 lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
263 lpfc_mbuf_free(phba, mp->virt, mp->phys);
274 * @phba: pointer to lpfc hba data structure.
282 lpfc_ct_handle_mibreq(struct lpfc_hba *phba, struct lpfc_iocbq *ctiocbq)
287 u32 ulp_status = get_job_ulpstatus(phba, ctiocbq);
288 u32 ulp_word4 = get_job_word4(phba, ctiocbq);
326 * @phba: pointer to lpfc hba data structure.
337 lpfc_ct_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
359 status = get_job_ulpstatus(phba, ctiocbq);
360 parameter = get_job_word4(phba, ctiocbq);
361 if (phba->sli_rev == LPFC_SLI_REV4)
367 lpfc_sli_hbqbuf_add_hbqs(phba, LPFC_ELS_HBQ);
372 phba->fc_stat.NoRcvBuf++;
373 if (!(phba->sli3_options & LPFC_SLI3_HBQ_ENABLED))
374 lpfc_sli3_post_buffer(phba, pring, 2);
392 lpfc_ct_handle_mibreq(phba, ctiocbq);
394 if (!lpfc_bsg_ct_unsol_event(phba, pring, ctiocbq))
398 if (phba->sli3_options & LPFC_SLI3_HBQ_ENABLED) {
402 if (phba->sli_rev == LPFC_SLI_REV4)
411 if (phba->sli_rev == LPFC_SLI_REV4)
415 lpfc_ct_unsol_buffer(phba, ctiocbq, bdeBuf1, size);
416 lpfc_in_buf_free(phba, bdeBuf1);
420 if (phba->sli_rev == LPFC_SLI_REV4)
424 lpfc_ct_unsol_buffer(phba, ctiocbq, bdeBuf2,
426 lpfc_in_buf_free(phba, bdeBuf2);
436 lpfc_ct_unsol_buffer(phba, iocbq, NULL, 0);
440 mp = lpfc_sli_ringpostbuf_get(phba, pring,
443 lpfc_ct_unsol_buffer(phba, iocbq, mp, size);
444 lpfc_in_buf_free(phba, mp);
446 lpfc_sli3_post_buffer(phba, pring, i);
454 * @phba: Pointer to HBA context object.
463 lpfc_ct_handle_unsol_abort(struct lpfc_hba *phba, struct hbq_dmabuf *dmabuf)
468 handled = lpfc_bsg_ct_unsol_abort(phba, dmabuf);
474 lpfc_free_ct_rsp(struct lpfc_hba *phba, struct lpfc_dmabuf *mlist)
480 lpfc_mbuf_free(phba, mlast->virt, mlast->phys);
483 lpfc_mbuf_free(phba, mlist->virt, mlist->phys);
489 lpfc_alloc_ct_rsp(struct lpfc_hba *phba, __be16 cmdcode, struct ulp_bde64 *bpl,
504 lpfc_free_ct_rsp(phba, mlist);
512 mp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(mp->phys));
514 mp->virt = lpfc_mbuf_alloc(phba, 0, &(mp->phys));
519 lpfc_free_ct_rsp(phba, mlist);
546 lpfc_ct_free_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *ctiocb)
555 lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
560 lpfc_free_ct_rsp(phba, ctiocb->rsp_dmabuf);
566 lpfc_mbuf_free(phba, buf_ptr->virt, buf_ptr->phys);
570 lpfc_sli_release_iocbq(phba, ctiocb);
593 struct lpfc_hba *phba = vport->phba;
599 geniocb = lpfc_sli_get_iocbq(phba);
617 tmo = (3 * phba->fc_ratov);
620 if (phba->sli_rev == LPFC_SLI_REV4)
621 ulp_context = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
625 lpfc_sli_prep_gen_req(phba, geniocb, bmp, ulp_context, num_entry, tmo);
641 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, geniocb, 0);
649 lpfc_sli_release_iocbq(phba, geniocb);
670 struct lpfc_hba *phba = vport->phba;
680 outmp = lpfc_alloc_ct_rsp(phba, cmdcode, bpl, rsp_size, &cnt);
690 phba->fc_eventTag, cnt, 0, retry);
692 lpfc_free_ct_rsp(phba, outmp);
699 lpfc_find_vport_by_did(struct lpfc_hba *phba, uint32_t did) {
703 spin_lock_irqsave(&phba->port_list_lock, flags);
704 list_for_each_entry(vport_curr, &phba->port_list, listentry) {
706 spin_unlock_irqrestore(&phba->port_list_lock, flags);
710 spin_unlock_irqrestore(&phba->port_list_lock, flags);
805 struct lpfc_hba *phba = vport->phba;
809 if (phba->cfg_ns_query == LPFC_NS_QUERY_GID_FT)
823 (!lpfc_find_vport_by_did(phba, Did) ||
825 if (!phba->nvmet_support) {
895 if (vport->phba->nvmet_support) {
913 lpfc_cmpl_ct_cmd_gid_ft(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
922 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
923 u32 ulp_word4 = get_job_word4(phba, rspiocb);
939 if (cmdiocb->event_tag != phba->fc_eventTag) {
946 if (vport == phba->pport && test_bit(FC_UNLOADING, &vport->load_flag)) {
1034 get_job_data_placed(phba, rspiocb));
1039 get_job_data_placed(phba, rspiocb));
1122 lpfc_ct_free_iocb(phba, cmdiocb);
1128 lpfc_cmpl_ct_cmd_gid_pt(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1137 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1138 u32 ulp_word4 = get_job_word4(phba, rspiocb);
1155 if (cmdiocb->event_tag != phba->fc_eventTag) {
1162 if (vport == phba->pport && test_bit(FC_UNLOADING, &vport->load_flag)) {
1246 get_job_data_placed(phba, rspiocb));
1251 get_job_data_placed(phba, rspiocb));
1335 lpfc_ct_free_iocb(phba, cmdiocb);
1340 lpfc_cmpl_ct_cmd_gff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1350 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1351 u32 ulp_word4 = get_job_word4(phba, rspiocb);
1361 if (cmdiocb->event_tag != phba->fc_eventTag) {
1425 lpfc_ct_free_iocb(phba, cmdiocb);
1481 lpfc_ct_free_iocb(phba, cmdiocb);
1487 lpfc_cmpl_ct_cmd_gft_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1498 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1499 u32 ulp_word4 = get_job_word4(phba, rspiocb);
1509 if ((uint32_t)cmdiocb->event_tag != phba->fc_eventTag) {
1587 lpfc_ct_free_iocb(phba, cmdiocb);
1592 lpfc_cmpl_ct(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1603 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1604 u32 ulp_word4 = get_job_word4(phba, rspiocb);
1627 get_job_ulpcontext(phba, cmdiocb), cmdiocb->iotag);
1658 lpfc_ct_free_iocb(phba, cmdiocb);
1664 lpfc_cmpl_ct_cmd_rft_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1668 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1680 lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
1685 lpfc_cmpl_ct_cmd_rnn_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1689 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1701 lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
1706 lpfc_cmpl_ct_cmd_rspn_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1710 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1722 lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
1727 lpfc_cmpl_ct_cmd_rsnn_nn(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1731 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1743 lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
1748 lpfc_cmpl_ct_cmd_da_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1755 lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
1760 lpfc_cmpl_ct_cmd_rff_id(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1764 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
1776 lpfc_cmpl_ct(phba, cmdiocb, rspiocb);
1796 n = scnprintf(symbol, size, "%d", vport->phba->brd_no);
1810 scnprintf(tmp, sizeof(tmp), "Emulex %s", vport->phba->ModelName);
1814 lpfc_decode_firmware_rev(vport->phba, fwrev, 0);
1823 scnprintf(tmp, sizeof(tmp), " HN:%s", vport->phba->os_host_name);
1888 struct lpfc_hba *phba = vport->phba;
1914 mp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(mp->phys));
1928 bmp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, &(bmp->phys));
2022 if (phba->cfg_vmid_app_header)
2103 if ((vport == phba->pport) && phba->nvmet_support) {
2106 lpfc_nvmet_update_targetport(phba);
2144 lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
2148 lpfc_mbuf_free(phba, mp->virt, mp->phys);
2161 * @phba: Pointer to HBA context object.
2169 lpfc_fdmi_rprt_defer(struct lpfc_hba *phba, uint32_t mask)
2176 set_bit(HBA_RHBA_CMPL, &phba->hba_flag);
2177 vports = lpfc_create_vport_work_array(phba);
2179 for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
2181 ndlp = lpfc_findnode_did(phba->pport, FDMI_DID);
2191 lpfc_destroy_vport_work_array(phba, vports);
2196 * @phba: Pointer to HBA context object.
2204 lpfc_cmpl_ct_disc_fdmi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
2216 u32 ulp_status = get_job_ulpstatus(phba, rspiocb);
2217 u32 ulp_word4 = get_job_word4(phba, rspiocb);
2246 err = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING,
2264 lpfc_ct_free_iocb(phba, cmdiocb);
2296 ndlp = lpfc_findnode_did(phba->pport, FDMI_DID);
2316 if (phba->link_flag & LS_CT_VEN_RPA) {
2317 phba->link_flag &= ~LS_CT_VEN_RPA;
2318 if (phba->cmf_active_mode == LPFC_CFG_OFF)
2320 lpfc_printf_log(phba, KERN_WARNING,
2350 lpfc_fdmi_rprt_defer(phba, vport->fdmi_port_mask);
2363 ndlp = lpfc_findnode_did(phba->pport, FDMI_DID);
2371 if (test_bit(HBA_RHBA_CMPL, &phba->hba_flag)) {
2383 phba->sli4_hba.pc_sli4_params.mi_ver) {
2385 if (phba->link_flag & LS_CT_VEN_RPA) {
2390 phba->link_flag &= ~LS_CT_VEN_RPA;
2394 lpfc_printf_log(phba, KERN_INFO,
2397 phba->sli4_hba.pc_sli4_params.mi_ver);
2402 phba->link_flag |= LS_CT_VEN_RPA;
2403 lpfc_printf_log(phba, KERN_INFO,
2406 phba->sli4_hba.pc_sli4_params.mi_ver,
2407 phba->link_flag);
2409 lpfc_printf_log(phba, KERN_INFO,
2432 struct lpfc_hba *phba = vport->phba;
2436 if (!lpfc_is_link_up(phba))
2448 if (strcmp(phba->os_host_name, init_utsname()->nodename)) {
2449 memset(phba->os_host_name, 0, sizeof(phba->os_host_name));
2450 scnprintf(phba->os_host_name, sizeof(phba->os_host_name), "%s",
2461 phba->link_flag &= ~LS_CT_VEN_RPA;
2464 ndlp = lpfc_findnode_did(phba->pport, FDMI_DID);
2488 ndlp = lpfc_findnode_did(phba->pport, FDMI_DID);
2616 struct lpfc_hba *phba = vport->phba;
2619 phba->SerialNumber);
2625 struct lpfc_hba *phba = vport->phba;
2628 phba->ModelName);
2634 struct lpfc_hba *phba = vport->phba;
2637 phba->ModelDesc);
2643 struct lpfc_hba *phba = vport->phba;
2644 lpfc_vpd_t *vp = &phba->vpd;
2662 struct lpfc_hba *phba = vport->phba;
2665 if (phba->sli_rev == LPFC_SLI_REV4) {
2666 lpfc_decode_firmware_rev(phba, buf, 1);
2673 phba->OptionROMVersion);
2679 struct lpfc_hba *phba = vport->phba;
2682 lpfc_decode_firmware_rev(phba, buf, 1);
2740 struct lpfc_hba *phba = vport->phba;
2743 phba->BIOSVersion);
2766 struct lpfc_hba *phba = vport->phba;
2772 if ((phba->sli_rev == LPFC_SLI_REV4) && (vport == phba->pport) &&
2773 phba->sli4_hba.pc_sli4_params.nvme)
2783 struct lpfc_hba *phba = vport->phba;
2788 if (!test_bit(HBA_FCOE_MODE, &phba->hba_flag)) {
2790 if (phba->sli_rev == LPFC_SLI_REV4) {
2791 tcfg = phba->sli4_hba.conf_trunk;
2798 if (phba->lmt & LMT_64Gb)
2800 if (phba->lmt & LMT_32Gb)
2802 if (phba->lmt & LMT_16Gb)
2805 if (phba->lmt & LMT_128Gb)
2807 if (phba->lmt & LMT_64Gb)
2809 if (phba->lmt & LMT_32Gb)
2811 if (phba->lmt & LMT_16Gb)
2814 if (phba->lmt & LMT_256Gb)
2816 if (phba->lmt & LMT_128Gb)
2818 if (phba->lmt & LMT_64Gb)
2820 if (phba->lmt & LMT_32Gb)
2822 if (phba->lmt & LMT_16Gb)
2824 if (phba->lmt & LMT_10Gb)
2826 if (phba->lmt & LMT_8Gb)
2828 if (phba->lmt & LMT_4Gb)
2830 if (phba->lmt & LMT_2Gb)
2832 if (phba->lmt & LMT_1Gb)
2837 switch (phba->fc_linkspeed) {
2859 struct lpfc_hba *phba = vport->phba;
2862 if (!test_bit(HBA_FCOE_MODE, &phba->hba_flag)) {
2863 switch (phba->fc_linkspeed) {
2899 switch (phba->fc_linkspeed) {
2948 scnprintf(buf, sizeof(buf), "%s", vport->phba->os_host_name);
2980 struct lpfc_hba *phba = vport->phba;
2983 (phba->fc_topology == LPFC_TOPOLOGY_LOOP) ?
3005 struct lpfc_hba *phba = vport->phba;
3011 if (vport == phba->pport &&
3012 phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
3066 struct lpfc_hba *phba = vport->phba;
3069 phba->ModelName);
3096 struct lpfc_hba *phba = vport->phba;
3099 sprintf(buf, "ELXE2EM:%04d", phba->sli4_hba.pc_sli4_params.mi_ver);
3171 struct lpfc_hba *phba = vport->phba;
3184 void (*cmpl)(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
3198 rq->virt = lpfc_mbuf_alloc(phba, 0, &rq->phys);
3207 rsp->virt = lpfc_mbuf_alloc(phba, 0, &rsp->phys);
3243 memcpy(&rh->hi.PortName, &phba->pport->fc_sparam.portName,
3252 &phba->pport->fc_sparam.portName,
3292 ndlp = lpfc_findnode_did(phba->pport, FDMI_DID);
3305 &phba->pport->fc_sparam.portName,
3368 ndlp = lpfc_findnode_did(phba->pport, FDMI_DID);
3406 lpfc_mbuf_free(phba, rsp->virt, rsp->phys);
3410 lpfc_mbuf_free(phba, rq->virt, rq->phys);
3432 struct lpfc_hba *phba = vport->phba;
3443 lpfc_worker_wake_up(phba);
3460 lpfc_do_scr_ns_plogi(vport->phba, vport);
3464 lpfc_decode_firmware_rev(struct lpfc_hba *phba, char *fwrevision, int flag)
3466 struct lpfc_sli *psli = &phba->sli;
3467 lpfc_vpd_t *vp = &phba->vpd;
3473 if (phba->sli_rev == LPFC_SLI_REV4)
3550 lpfc_cmpl_ct_cmd_vmid(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
3568 lpfc_ct_free_iocb(phba, cmdiocb);
3570 if (lpfc_els_chk_latt(vport) || get_job_ulpstatus(phba, rspiocb)) {
3633 for (i = 0; i < phba->cfg_max_vmid; i++) {
3650 lpfc_ct_free_iocb(phba, cmdiocb);
3666 struct lpfc_hba *phba = vport->phba;
3678 void (*cmpl)(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
3693 mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys);
3702 bmp->virt = lpfc_mbuf_alloc(phba, 0, &bmp->phys);
3790 lpfc_mbuf_free(phba, bmp->virt, bmp->phys);
3794 lpfc_mbuf_free(phba, mp->virt, mp->phys);