/Linux-v5.4/drivers/scsi/lpfc/ |
D | lpfc_nportdisc.c | 54 lpfc_check_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_adisc() argument 58 if (!(ndlp->nlp_flag & NLP_RPI_REGISTERED)) in lpfc_check_adisc() 64 if (memcmp(nn, &ndlp->nlp_nodename, sizeof (struct lpfc_name))) in lpfc_check_adisc() 67 if (memcmp(pn, &ndlp->nlp_portname, sizeof (struct lpfc_name))) in lpfc_check_adisc() 75 lpfc_check_sparm(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_sparm() argument 153 memcpy(&ndlp->nlp_nodename, &sp->nodeName, sizeof (struct lpfc_name)); in lpfc_check_sparm() 154 memcpy(&ndlp->nlp_portname, &sp->portName, sizeof (struct lpfc_name)); in lpfc_check_sparm() 161 ndlp->nlp_DID, in lpfc_check_sparm() 210 lpfc_els_abort(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp) in lpfc_els_abort() argument 223 lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_DISCOVERY, in lpfc_els_abort() [all …]
|
D | lpfc_els.c | 55 struct lpfc_nodelist *ndlp, uint8_t retry); 155 struct lpfc_nodelist *ndlp, uint32_t did, in lpfc_prep_els_iocb() argument 304 elsiocb->context1 = lpfc_nlp_get(ndlp); in lpfc_prep_els_iocb() 323 vport->port_state, ndlp->nlp_rpi, in lpfc_prep_els_iocb() 331 elscmd, ndlp->nlp_DID, elsiocb->iotag, in lpfc_prep_els_iocb() 333 ndlp->nlp_rpi, vport->fc_flag); in lpfc_prep_els_iocb() 374 struct lpfc_nodelist *ndlp; in lpfc_issue_fabric_reglogin() local 380 ndlp = lpfc_findnode_did(vport, Fabric_DID); in lpfc_issue_fabric_reglogin() 381 if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) { in lpfc_issue_fabric_reglogin() 409 ndlp->nlp_rpi); in lpfc_issue_fabric_reglogin() [all …]
|
D | lpfc_hbadisc.c | 80 struct lpfc_nodelist * ndlp; in lpfc_terminate_rport_io() local 84 ndlp = rdata->pnode; in lpfc_terminate_rport_io() 86 if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) { in lpfc_terminate_rport_io() 94 phba = ndlp->phba; in lpfc_terminate_rport_io() 96 lpfc_debugfs_disc_trc(ndlp->vport, LPFC_DISC_TRC_RPORT, in lpfc_terminate_rport_io() 98 ndlp->nlp_sid, ndlp->nlp_DID, ndlp->nlp_flag); in lpfc_terminate_rport_io() 100 if (ndlp->nlp_sid != NLP_NO_SID) { in lpfc_terminate_rport_io() 101 lpfc_sli_abort_iocb(ndlp->vport, in lpfc_terminate_rport_io() 103 ndlp->nlp_sid, 0, LPFC_CTX_TGT); in lpfc_terminate_rport_io() 114 struct lpfc_nodelist * ndlp; in lpfc_dev_loss_tmo_callbk() local [all …]
|
D | lpfc_disc.h | 152 struct lpfc_nodelist *ndlp; member 156 #define lpfc_ndlp_check_qdepth(phba, ndlp) \ argument 157 (ndlp->cmd_qdepth < phba->sli4_hba.max_cfg_param.max_xri) 194 #define NLP_CHK_NODE_ACT(ndlp) (((ndlp)->nlp_usg_map \ argument 197 !((ndlp)->nlp_usg_map \ 199 #define NLP_SET_NODE_ACT(ndlp) ((ndlp)->nlp_usg_map \ argument 201 #define NLP_INT_NODE_ACT(ndlp) ((ndlp)->nlp_usg_map \ argument 203 #define NLP_CLR_NODE_ACT(ndlp) ((ndlp)->nlp_usg_map \ argument 205 #define NLP_CHK_IACT_REQ(ndlp) ((ndlp)->nlp_usg_map \ argument 207 #define NLP_SET_IACT_REQ(ndlp) ((ndlp)->nlp_usg_map \ argument [all …]
|
D | lpfc_vport.c | 297 struct lpfc_nodelist *ndlp; in lpfc_vport_create() local 464 ndlp = lpfc_findnode_did(phba->pport, Fabric_DID); in lpfc_vport_create() 465 if (ndlp && NLP_CHK_NODE_ACT(ndlp) && in lpfc_vport_create() 466 ndlp->nlp_state == NLP_STE_UNMAPPED_NODE) { in lpfc_vport_create() 493 struct lpfc_nodelist *ndlp = NULL, *next_ndlp = NULL; in disable_vport() local 497 ndlp = lpfc_findnode_did(vport, Fabric_DID); in disable_vport() 498 if (ndlp && NLP_CHK_NODE_ACT(ndlp) in disable_vport() 502 if (!lpfc_issue_els_npiv_logo(vport, ndlp)) in disable_vport() 512 list_for_each_entry_safe(ndlp, next_ndlp, &vport->fc_nodes, nlp_listp) { in disable_vport() 513 if (!NLP_CHK_NODE_ACT(ndlp)) in disable_vport() [all …]
|
D | lpfc_nvme.c | 60 lpfc_get_nvme_buf(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, 320 struct lpfc_nodelist *ndlp; in lpfc_nvme_remoteport_delete() local 322 ndlp = rport->ndlp; in lpfc_nvme_remoteport_delete() 323 if (!ndlp) in lpfc_nvme_remoteport_delete() 326 vport = ndlp->vport; in lpfc_nvme_remoteport_delete() 342 if (ndlp->upcall_flags & NLP_WAIT_FOR_UNREG) { in lpfc_nvme_remoteport_delete() 343 ndlp->nrport = NULL; in lpfc_nvme_remoteport_delete() 344 ndlp->upcall_flags &= ~NLP_WAIT_FOR_UNREG; in lpfc_nvme_remoteport_delete() 351 lpfc_nlp_put(ndlp); in lpfc_nvme_remoteport_delete() 366 struct lpfc_nodelist *ndlp; in lpfc_nvme_cmpl_gen_req() local [all …]
|
D | lpfc_ct.c | 279 if (ctiocb->context_un.ndlp) { in lpfc_ct_free_iocb() 280 lpfc_nlp_put(ctiocb->context_un.ndlp); in lpfc_ct_free_iocb() 281 ctiocb->context_un.ndlp = NULL; in lpfc_ct_free_iocb() 320 struct lpfc_nodelist *ndlp, uint32_t usr_flg, uint32_t num_entry, in lpfc_gen_req() argument 349 geniocb->context_un.ndlp = lpfc_nlp_get(ndlp); in lpfc_gen_req() 368 icmd->ulpContext = ndlp->nlp_rpi; in lpfc_gen_req() 370 icmd->ulpContext = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]; in lpfc_gen_req() 382 ndlp->nlp_DID, icmd->ulpIoTag, in lpfc_gen_req() 410 struct lpfc_dmabuf *bmp, struct lpfc_nodelist *ndlp, in lpfc_ct_cmd() argument 434 status = lpfc_gen_req(vport, bmp, inmp, outmp, cmpl, ndlp, 0, in lpfc_ct_cmd() [all …]
|
D | lpfc_nvme.h | 36 #define lpfc_ndlp_get_nrport(ndlp) \ argument 37 ((!ndlp->nrport || (ndlp->upcall_flags & NLP_WAIT_FOR_UNREG)) \ 38 ? NULL : ndlp->nrport) 70 struct lpfc_nodelist *ndlp; member
|
D | lpfc_scsi.c | 515 struct lpfc_nodelist *ndlp; in lpfc_sli4_io_xri_aborted() local 542 ndlp = psb->rdata->pnode; in lpfc_sli4_io_xri_aborted() 544 ndlp = NULL; in lpfc_sli4_io_xri_aborted() 548 if (ndlp) { in lpfc_sli4_io_xri_aborted() 549 lpfc_set_rrq_active(phba, ndlp, in lpfc_sli4_io_xri_aborted() 551 lpfc_sli4_abts_err_handler(phba, ndlp, axri); in lpfc_sli4_io_xri_aborted() 591 lpfc_get_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, in lpfc_get_scsi_buf_s3() argument 612 if (lpfc_ndlp_check_qdepth(phba, ndlp) && lpfc_cmd) { in lpfc_get_scsi_buf_s3() 613 atomic_inc(&ndlp->cmd_pending); in lpfc_get_scsi_buf_s3() 630 lpfc_get_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, in lpfc_get_scsi_buf_s4() argument [all …]
|
D | lpfc_nvmet.c | 1254 ctx_buf->sglq->ndlp = NULL; in __lpfc_nvmet_clean_io_for_cpu() 1583 struct lpfc_nodelist *ndlp; in lpfc_sli4_nvmet_xri_aborted() local 1622 ndlp = lpfc_findnode_did(phba->pport, ctxp->sid); in lpfc_sli4_nvmet_xri_aborted() 1623 if (ndlp && NLP_CHK_NODE_ACT(ndlp) && in lpfc_sli4_nvmet_xri_aborted() 1624 (ndlp->nlp_state == NLP_STE_UNMAPPED_NODE || in lpfc_sli4_nvmet_xri_aborted() 1625 ndlp->nlp_state == NLP_STE_MAPPED_NODE)) { in lpfc_sli4_nvmet_xri_aborted() 1626 lpfc_set_rrq_active(phba, ndlp, in lpfc_sli4_nvmet_xri_aborted() 1629 lpfc_sli4_abts_err_handler(phba, ndlp, axri); in lpfc_sli4_nvmet_xri_aborted() 2469 struct lpfc_nodelist *ndlp; in lpfc_nvmet_prep_ls_wqe() local 2491 ndlp = lpfc_findnode_did(phba->pport, ctxp->sid); in lpfc_nvmet_prep_ls_wqe() [all …]
|
D | lpfc_attr.c | 170 struct lpfc_nodelist *ndlp; in lpfc_nvme_info_show() local 376 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_nvme_info_show() 379 rport = lpfc_ndlp_get_nrport(ndlp); in lpfc_nvme_info_show() 3667 struct lpfc_nodelist *ndlp; in lpfc_update_rport_devloss_tmo() local 3675 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_update_rport_devloss_tmo() 3676 if (!NLP_CHK_NODE_ACT(ndlp)) in lpfc_update_rport_devloss_tmo() 3678 if (ndlp->rport) in lpfc_update_rport_devloss_tmo() 3679 ndlp->rport->dev_loss_tmo = vport->cfg_devloss_tmo; in lpfc_update_rport_devloss_tmo() 3682 rport = lpfc_ndlp_get_nrport(ndlp); in lpfc_update_rport_devloss_tmo() 3881 struct lpfc_nodelist *ndlp; in lpfc_tgt_queue_depth_set() local [all …]
|
D | lpfc_sli.c | 844 struct lpfc_nodelist *ndlp = NULL; in lpfc_clr_rrq_active() local 846 if ((rrq->vport) && NLP_CHK_NODE_ACT(rrq->ndlp)) in lpfc_clr_rrq_active() 847 ndlp = lpfc_findnode_did(rrq->vport, rrq->nlp_DID); in lpfc_clr_rrq_active() 853 if ((!ndlp) && rrq->ndlp) in lpfc_clr_rrq_active() 854 ndlp = rrq->ndlp; in lpfc_clr_rrq_active() 856 if (!ndlp) in lpfc_clr_rrq_active() 859 if (test_and_clear_bit(xritag, ndlp->active_rrqs_xri_bitmap)) { in lpfc_clr_rrq_active() 961 lpfc_cleanup_vports_rrqs(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) in lpfc_cleanup_vports_rrqs() argument 972 if (!ndlp) { in lpfc_cleanup_vports_rrqs() 978 if ((rrq->vport == vport) && (!ndlp || rrq->ndlp == ndlp)) in lpfc_cleanup_vports_rrqs() [all …]
|
D | lpfc_bsg.c | 78 struct lpfc_nodelist *ndlp; member 308 struct lpfc_nodelist *ndlp; in lpfc_bsg_send_mgmt_cmd_cmp() local 332 ndlp = iocb->ndlp; in lpfc_bsg_send_mgmt_cmd_cmp() 370 lpfc_nlp_put(ndlp); in lpfc_bsg_send_mgmt_cmd_cmp() 393 struct lpfc_nodelist *ndlp = rdata->pnode; in lpfc_bsg_send_mgmt_cmd() local 420 if (!lpfc_nlp_get(ndlp)) { in lpfc_bsg_send_mgmt_cmd() 425 if (ndlp->nlp_flag & NLP_ELS_SND_MASK) { in lpfc_bsg_send_mgmt_cmd() 485 cmd->ulpContext = ndlp->nlp_rpi; in lpfc_bsg_send_mgmt_cmd() 487 cmd->ulpContext = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]; in lpfc_bsg_send_mgmt_cmd() 499 cmdiocbq->context_un.ndlp = ndlp; in lpfc_bsg_send_mgmt_cmd() [all …]
|
D | lpfc_init.c | 2790 struct lpfc_nodelist *ndlp, *next_ndlp; in lpfc_cleanup() local 2796 list_for_each_entry_safe(ndlp, next_ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_cleanup() 2797 if (!NLP_CHK_NODE_ACT(ndlp)) { in lpfc_cleanup() 2798 ndlp = lpfc_enable_node(vport, ndlp, in lpfc_cleanup() 2800 if (!ndlp) in lpfc_cleanup() 2803 NLP_SET_FREE_REQ(ndlp); in lpfc_cleanup() 2806 lpfc_nlp_put(ndlp); in lpfc_cleanup() 2810 if (NLP_CHK_FREE_REQ(ndlp)) { in lpfc_cleanup() 2816 NLP_SET_FREE_REQ(ndlp); in lpfc_cleanup() 2820 ndlp->nlp_DID == Fabric_DID) { in lpfc_cleanup() [all …]
|
D | lpfc_crtn.h | 109 int lpfc_nlp_not_used(struct lpfc_nodelist *ndlp); 551 struct lpfc_nodelist *ndlp); 553 struct lpfc_nodelist *ndlp); 555 struct lpfc_nodelist *ndlp); 582 struct lpfc_nodelist *ndlp, u32 hwqid,
|
D | lpfc_sli.h | 113 struct lpfc_nodelist *ndlp; member 385 struct lpfc_nodelist *ndlp; member
|
D | lpfc_debugfs.c | 813 struct lpfc_nodelist *ndlp; in lpfc_debugfs_nodelist_data() local 824 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_debugfs_nodelist_data() 832 switch (ndlp->nlp_state) { in lpfc_debugfs_nodelist_data() 866 statep, ndlp->nlp_DID); in lpfc_debugfs_nodelist_data() 869 wwn_to_u64(ndlp->nlp_portname.u.wwn)); in lpfc_debugfs_nodelist_data() 872 wwn_to_u64(ndlp->nlp_nodename.u.wwn)); in lpfc_debugfs_nodelist_data() 873 if (ndlp->nlp_flag & NLP_RPI_REGISTERED) in lpfc_debugfs_nodelist_data() 875 ndlp->nlp_rpi); in lpfc_debugfs_nodelist_data() 879 ndlp->nlp_flag); in lpfc_debugfs_nodelist_data() 880 if (!ndlp->nlp_type) in lpfc_debugfs_nodelist_data() [all …]
|
D | lpfc_sli4.h | 941 struct lpfc_nodelist *ndlp; /* ndlp associated with IO */ member 967 struct lpfc_nodelist *ndlp; member 984 struct lpfc_nodelist *ndlp; member
|
D | lpfc_mbox.c | 2342 mbox->vport = rdp_context->ndlp->vport; in lpfc_mbx_cmpl_rdp_page_a2() 2379 mbox->vport = rdp_context->ndlp->vport; in lpfc_mbx_cmpl_rdp_page_a0() 2611 lpfc_resume_rpi(struct lpfcMboxq *mbox, struct lpfc_nodelist *ndlp) in lpfc_resume_rpi() argument 2613 struct lpfc_hba *phba = ndlp->phba; in lpfc_resume_rpi() 2620 phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]); in lpfc_resume_rpi() 2622 resume_rpi->event_tag = ndlp->phba->fc_eventTag; in lpfc_resume_rpi()
|
D | lpfc.h | 630 (struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
|
/Linux-v5.4/Documentation/scsi/ |
D | ChangeLog.lpfc | 538 * Fixed discovery bug: plogi cmpl uses ndlp after its freed. 539 * Fixed discovery bug: rnid acc cmpl, can potentially use ndlp 672 ndlp->nlp_Target Ensure fc_target_* routines are called properly 678 * Cleanup list_del()'s for Discovery ndlp lists. 1196 * Fixed some discovery problems: Introduced deferred ndlp removal 1246 * Move ndlp node from unmap list to map list if ADISC completed 1505 * Do not use DMABUf_t list to store ndlp context 1522 * Use safe list iterator for ndlp list 1575 mbox, iocb, ndlp, bind 1650 write to ndlp structure from lpfc_cmpl_els_acc function. [all …]
|