/Linux-v6.6/drivers/scsi/lpfc/ |
D | lpfc_nportdisc.c | 52 lpfc_check_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_adisc() argument 56 if (!(ndlp->nlp_flag & NLP_RPI_REGISTERED)) in lpfc_check_adisc() 62 if (memcmp(nn, &ndlp->nlp_nodename, sizeof (struct lpfc_name))) in lpfc_check_adisc() 65 if (memcmp(pn, &ndlp->nlp_portname, sizeof (struct lpfc_name))) in lpfc_check_adisc() 73 lpfc_check_sparm(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_sparm() argument 151 memcpy(&ndlp->nlp_nodename, &sp->nodeName, sizeof (struct lpfc_name)); in lpfc_check_sparm() 152 memcpy(&ndlp->nlp_portname, &sp->portName, sizeof (struct lpfc_name)); in lpfc_check_sparm() 159 ndlp->nlp_DID, in lpfc_check_sparm() 213 lpfc_els_abort(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp) in lpfc_els_abort() argument 226 lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_DISCOVERY, in lpfc_els_abort() [all …]
|
D | lpfc_hbadisc.c | 79 lpfc_valid_xpt_node(struct lpfc_nodelist *ndlp) in lpfc_valid_xpt_node() argument 81 if (ndlp->nlp_fc4_type || in lpfc_valid_xpt_node() 82 ndlp->nlp_type & NLP_FABRIC) in lpfc_valid_xpt_node() 96 struct lpfc_nodelist *ndlp; in lpfc_rport_invalid() local 110 ndlp = rdata->pnode; in lpfc_rport_invalid() 117 if (!ndlp->vport) { in lpfc_rport_invalid() 119 "SID x%x\n", __func__, ndlp, ndlp->nlp_DID, rport, in lpfc_rport_invalid() 130 struct lpfc_nodelist *ndlp; in lpfc_terminate_rport_io() local 137 ndlp = rdata->pnode; in lpfc_terminate_rport_io() 138 vport = ndlp->vport; in lpfc_terminate_rport_io() [all …]
|
D | lpfc_els.c | 56 struct lpfc_nodelist *ndlp, uint8_t retry); 165 struct lpfc_nodelist *ndlp, u32 did, in lpfc_prep_els_iocb() argument 297 vport->port_state, ndlp->nlp_rpi, in lpfc_prep_els_iocb() 305 elscmd, ndlp->nlp_DID, elsiocb->iotag, in lpfc_prep_els_iocb() 307 ndlp->nlp_rpi, vport->fc_flag); in lpfc_prep_els_iocb() 348 struct lpfc_nodelist *ndlp; in lpfc_issue_fabric_reglogin() local 354 ndlp = lpfc_findnode_did(vport, Fabric_DID); in lpfc_issue_fabric_reglogin() 355 if (!ndlp) { in lpfc_issue_fabric_reglogin() 383 ndlp->nlp_rpi); in lpfc_issue_fabric_reglogin() 394 mbox->ctx_ndlp = lpfc_nlp_get(ndlp); in lpfc_issue_fabric_reglogin() [all …]
|
D | lpfc_nvme.c | 57 lpfc_get_nvme_buf(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, 193 struct lpfc_nodelist *ndlp; in lpfc_nvme_remoteport_delete() local 196 ndlp = rport->ndlp; in lpfc_nvme_remoteport_delete() 197 if (!ndlp) { in lpfc_nvme_remoteport_delete() 203 vport = ndlp->vport; in lpfc_nvme_remoteport_delete() 206 __func__, ndlp, ndlp->nlp_state, rport); in lpfc_nvme_remoteport_delete() 219 remoteport, ndlp, ndlp->nlp_DID, ndlp->fc4_xpt_flags); in lpfc_nvme_remoteport_delete() 220 spin_lock_irq(&ndlp->lock); in lpfc_nvme_remoteport_delete() 225 if (ndlp->fc4_xpt_flags & NVME_XPT_UNREG_WAIT) in lpfc_nvme_remoteport_delete() 226 ndlp->fc4_xpt_flags &= ~(NVME_XPT_UNREG_WAIT | NVME_XPT_REGD); in lpfc_nvme_remoteport_delete() [all …]
|
D | lpfc_vport.c | 294 struct lpfc_nodelist *ndlp; in lpfc_vport_create() local 461 ndlp = lpfc_findnode_did(phba->pport, Fabric_DID); in lpfc_vport_create() 462 if (ndlp && in lpfc_vport_create() 463 ndlp->nlp_state == NLP_STE_UNMAPPED_NODE) { in lpfc_vport_create() 486 lpfc_send_npiv_logo(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) in lpfc_send_npiv_logo() argument 493 spin_lock_irq(&ndlp->lock); in lpfc_send_npiv_logo() 494 if (!(ndlp->save_flags & NLP_WAIT_FOR_LOGO) && in lpfc_send_npiv_logo() 495 !ndlp->logo_waitq) { in lpfc_send_npiv_logo() 496 ndlp->logo_waitq = &waitq; in lpfc_send_npiv_logo() 497 ndlp->nlp_fcp_info &= ~NLP_FCP_2_DEVICE; in lpfc_send_npiv_logo() [all …]
|
D | lpfc_ct.c | 118 struct lpfc_nodelist *ndlp; in lpfc_ct_unsol_cmpl() local 121 ndlp = cmdiocb->ndlp; in lpfc_ct_unsol_cmpl() 122 if (ndlp) in lpfc_ct_unsol_cmpl() 123 lpfc_nlp_put(ndlp); in lpfc_ct_unsol_cmpl() 153 lpfc_ct_reject_event(struct lpfc_nodelist *ndlp, in lpfc_ct_reject_event() argument 157 struct lpfc_vport *vport = ndlp->vport; in lpfc_ct_reject_event() 225 phba->sli4_hba.rpi_ids[ndlp->nlp_rpi], in lpfc_ct_reject_event() 244 cmdiocbq->ndlp = lpfc_nlp_get(ndlp); in lpfc_ct_reject_event() 245 if (!cmdiocbq->ndlp) in lpfc_ct_reject_event() 250 lpfc_nlp_put(ndlp); in lpfc_ct_reject_event() [all …]
|
D | lpfc_nvme.h | 37 #define lpfc_ndlp_get_nrport(ndlp) \ argument 38 ((!ndlp->nrport || (ndlp->fc4_xpt_flags & NVME_XPT_UNREG_WAIT))\ 39 ? NULL : ndlp->nrport) 71 struct lpfc_nodelist *ndlp; member 197 struct lpfc_nodelist *ndlp; member 233 int __lpfc_nvme_ls_req(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, 241 struct lpfc_nodelist *ndlp, struct nvmefc_ls_req *pnvme_lsreq);
|
D | lpfc_nvmet.c | 320 lpfc_nlp_put(cmdwqe->ndlp); in __lpfc_nvme_xmt_ls_rsp_cmp() 943 lpfc_nlp_put(nvmewqeq->ndlp); in __lpfc_nvme_xmt_ls_rsp() 1312 struct lpfc_nodelist *ndlp; in lpfc_nvmet_ls_req() local 1327 ndlp = (struct lpfc_nodelist *)hosthandle; in lpfc_nvmet_ls_req() 1329 ret = __lpfc_nvme_ls_req(phba->pport, ndlp, pnvme_lsreq, in lpfc_nvmet_ls_req() 1352 struct lpfc_nodelist *ndlp; in lpfc_nvmet_ls_abort() local 1359 ndlp = (struct lpfc_nodelist *)hosthandle; in lpfc_nvmet_ls_abort() 1361 ret = __lpfc_nvme_ls_abort(phba->pport, ndlp, pnvme_lsreq); in lpfc_nvmet_ls_abort() 1369 struct lpfc_nodelist *ndlp = hosthandle; in lpfc_nvmet_host_release() local 1370 struct lpfc_hba *phba = ndlp->phba; in lpfc_nvmet_host_release() [all …]
|
D | lpfc_scsi.c | 437 struct lpfc_nodelist *ndlp; in lpfc_sli4_io_xri_aborted() local 479 ndlp = psb->rdata->pnode; in lpfc_sli4_io_xri_aborted() 481 ndlp = NULL; in lpfc_sli4_io_xri_aborted() 485 if (ndlp && !offline) { in lpfc_sli4_io_xri_aborted() 486 lpfc_set_rrq_active(phba, ndlp, in lpfc_sli4_io_xri_aborted() 488 lpfc_sli4_abts_err_handler(phba, ndlp, axri); in lpfc_sli4_io_xri_aborted() 560 lpfc_get_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, in lpfc_get_scsi_buf_s3() argument 581 if (lpfc_ndlp_check_qdepth(phba, ndlp) && lpfc_cmd) { in lpfc_get_scsi_buf_s3() 582 atomic_inc(&ndlp->cmd_pending); in lpfc_get_scsi_buf_s3() 601 lpfc_get_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, in lpfc_get_scsi_buf_s4() argument [all …]
|
D | lpfc_sli.c | 986 struct lpfc_nodelist *ndlp = NULL; in lpfc_clr_rrq_active() local 990 ndlp = lpfc_findnode_did(rrq->vport, rrq->nlp_DID); in lpfc_clr_rrq_active() 992 if (!ndlp) in lpfc_clr_rrq_active() 995 if (test_and_clear_bit(xritag, ndlp->active_rrqs_xri_bitmap)) { in lpfc_clr_rrq_active() 1097 lpfc_cleanup_vports_rrqs(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) in lpfc_cleanup_vports_rrqs() argument 1108 if (!ndlp) { in lpfc_cleanup_vports_rrqs() 1117 if (!ndlp || ndlp == lpfc_findnode_did(vport, rrq->nlp_DID)) in lpfc_cleanup_vports_rrqs() 1140 lpfc_test_rrq_active(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, in lpfc_test_rrq_active() argument 1143 if (!ndlp) in lpfc_test_rrq_active() 1145 if (!ndlp->active_rrqs_xri_bitmap) in lpfc_test_rrq_active() [all …]
|
D | lpfc_bsg.c | 78 struct lpfc_nodelist *ndlp; member 298 struct lpfc_nodelist *ndlp; in lpfc_bsg_send_mgmt_cmd_cmp() local 322 ndlp = iocb->cmdiocbq->ndlp; in lpfc_bsg_send_mgmt_cmd_cmp() 360 lpfc_nlp_put(ndlp); in lpfc_bsg_send_mgmt_cmd_cmp() 384 struct lpfc_nodelist *ndlp = rdata->pnode; in lpfc_bsg_send_mgmt_cmd() local 401 if (ndlp->nlp_flag & NLP_ELS_SND_MASK) in lpfc_bsg_send_mgmt_cmd() 455 ulp_context = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]; in lpfc_bsg_send_mgmt_cmd() 457 ulp_context = ndlp->nlp_rpi; in lpfc_bsg_send_mgmt_cmd() 487 cmdiocbq->ndlp = lpfc_nlp_get(ndlp); in lpfc_bsg_send_mgmt_cmd() 488 if (!cmdiocbq->ndlp) { in lpfc_bsg_send_mgmt_cmd() [all …]
|
D | lpfc_crtn.h | 117 void lpfc_nlp_reg_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp); 118 void lpfc_nlp_unreg_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp); 134 struct lpfc_nodelist *ndlp); 619 struct lpfc_nodelist *ndlp); 621 struct lpfc_nodelist *ndlp); 623 struct lpfc_nodelist *ndlp); 639 struct lpfc_nodelist *ndlp); 654 struct lpfc_nodelist *ndlp, u32 hwqid, 691 struct lpfc_nodelist *ndlp);
|
D | lpfc_disc.h | 175 #define lpfc_ndlp_check_qdepth(phba, ndlp) \ argument 176 (ndlp->cmd_qdepth < phba->sli4_hba.max_cfg_param.max_xri)
|
D | lpfc_attr.c | 342 struct lpfc_nodelist *ndlp; in lpfc_nvme_info_show() local 548 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_nvme_info_show() 550 spin_lock(&ndlp->lock); in lpfc_nvme_info_show() 551 rport = lpfc_ndlp_get_nrport(ndlp); in lpfc_nvme_info_show() 554 spin_unlock(&ndlp->lock); in lpfc_nvme_info_show() 3768 struct lpfc_nodelist *ndlp; in lpfc_update_rport_devloss_tmo() local 3776 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_update_rport_devloss_tmo() 3777 if (ndlp->rport) in lpfc_update_rport_devloss_tmo() 3778 ndlp->rport->dev_loss_tmo = vport->cfg_devloss_tmo; in lpfc_update_rport_devloss_tmo() 3780 spin_lock(&ndlp->lock); in lpfc_update_rport_devloss_tmo() [all …]
|
D | lpfc_init.c | 3039 struct lpfc_nodelist *ndlp, *next_ndlp; in lpfc_cleanup() local 3049 list_for_each_entry_safe(ndlp, next_ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_cleanup() 3051 ndlp->nlp_DID == Fabric_DID) { in lpfc_cleanup() 3053 lpfc_nlp_put(ndlp); in lpfc_cleanup() 3057 if (ndlp->nlp_DID == Fabric_Cntl_DID && in lpfc_cleanup() 3058 ndlp->nlp_state == NLP_STE_UNUSED_NODE) { in lpfc_cleanup() 3059 lpfc_nlp_put(ndlp); in lpfc_cleanup() 3066 if (ndlp->nlp_type & NLP_FABRIC && in lpfc_cleanup() 3067 ndlp->nlp_state == NLP_STE_UNMAPPED_NODE) in lpfc_cleanup() 3068 lpfc_disc_state_machine(vport, ndlp, NULL, in lpfc_cleanup() [all …]
|
D | lpfc_sli.h | 144 struct lpfc_nodelist *ndlp; member 416 struct lpfc_nodelist *ndlp; member
|
D | lpfc_debugfs.c | 811 struct lpfc_nodelist *ndlp; in lpfc_debugfs_nodelist_data() local 822 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_debugfs_nodelist_data() 830 switch (ndlp->nlp_state) { in lpfc_debugfs_nodelist_data() 864 statep, ndlp->nlp_DID); in lpfc_debugfs_nodelist_data() 867 wwn_to_u64(ndlp->nlp_portname.u.wwn)); in lpfc_debugfs_nodelist_data() 870 wwn_to_u64(ndlp->nlp_nodename.u.wwn)); in lpfc_debugfs_nodelist_data() 872 ndlp->nlp_rpi); in lpfc_debugfs_nodelist_data() 874 ndlp->nlp_flag); in lpfc_debugfs_nodelist_data() 875 if (!ndlp->nlp_type) in lpfc_debugfs_nodelist_data() 877 if (ndlp->nlp_type & NLP_FC_NODE) in lpfc_debugfs_nodelist_data() [all …]
|
D | lpfc_sli4.h | 1009 struct lpfc_nodelist *ndlp; /* ndlp associated with IO */ member 1035 struct lpfc_nodelist *ndlp; member 1052 struct lpfc_nodelist *ndlp; member
|
D | lpfc_mbox.c | 2397 mbox->vport = rdp_context->ndlp->vport; in lpfc_mbx_cmpl_rdp_page_a2() 2434 mbox->vport = rdp_context->ndlp->vport; in lpfc_mbx_cmpl_rdp_page_a0() 2658 lpfc_resume_rpi(struct lpfcMboxq *mbox, struct lpfc_nodelist *ndlp) in lpfc_resume_rpi() argument 2660 struct lpfc_hba *phba = ndlp->phba; in lpfc_resume_rpi() 2667 phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]); in lpfc_resume_rpi() 2669 resume_rpi->event_tag = ndlp->phba->fc_eventTag; in lpfc_resume_rpi()
|
D | lpfc.h | 880 (struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
|
/Linux-v6.6/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 …]
|