Lines Matching defs:elsiocb

159 	struct lpfc_iocbq *elsiocb;
169 elsiocb = lpfc_sli_get_iocbq(phba);
171 if (elsiocb == NULL)
185 elsiocb->iocb_flag |=
190 elsiocb->iocb_flag |=
195 elsiocb->iocb_flag |=
201 elsiocb->iocb_flag &= ~LPFC_FIP_ELS_ID_MASK;
203 icmd = &elsiocb->iocb;
304 elsiocb->context1 = lpfc_nlp_get(ndlp);
305 if (!elsiocb->context1)
307 elsiocb->context2 = pcmd;
308 elsiocb->context3 = pbuflist;
309 elsiocb->retry = retry;
310 elsiocb->vport = vport;
311 elsiocb->drvrTimeout = (phba->fc_ratov << 1) + LPFC_DRVR_TIMEOUT;
322 elscmd, did, elsiocb->iotag,
331 elscmd, ndlp->nlp_DID, elsiocb->iotag,
335 return elsiocb;
348 lpfc_sli_release_iocbq(phba, elsiocb);
1282 struct lpfc_iocbq *elsiocb;
1290 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
1293 if (!elsiocb)
1296 icmd = &elsiocb->iocb;
1297 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
1318 elsiocb->iocb.ulpCt_h = ((SLI4_CT_FCFI >> 1) & 1);
1319 elsiocb->iocb.ulpCt_l = (SLI4_CT_FCFI & 1);
1322 elsiocb->iocb.ulpContext = phba->fcf.fcfi;
1351 elsiocb->iocb_cmpl = lpfc_cmpl_els_flogi;
1357 rc = lpfc_issue_fabric_iocb(phba, elsiocb);
1388 lpfc_els_free_iocb(phba, elsiocb);
2138 struct lpfc_iocbq *elsiocb;
2170 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp, did,
2172 if (!elsiocb)
2180 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
2219 elsiocb->iocb_cmpl = lpfc_cmpl_els_plogi;
2220 ret = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
2223 lpfc_els_free_iocb(phba, elsiocb);
2358 struct lpfc_iocbq *elsiocb;
2412 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
2414 if (!elsiocb)
2417 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
2449 elsiocb->iocb_flag |= LPFC_PRLI_FCP_REQ;
2483 elsiocb->iocb_flag |= LPFC_PRLI_NVME_REQ;
2494 elsiocb->iocb_cmpl = lpfc_cmpl_els_prli;
2505 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
2510 lpfc_els_free_iocb(phba, elsiocb);
2761 struct lpfc_iocbq *elsiocb;
2766 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
2768 if (!elsiocb)
2771 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
2789 elsiocb->iocb_cmpl = lpfc_cmpl_els_adisc;
2793 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
2798 lpfc_els_free_iocb(phba, elsiocb);
2964 struct lpfc_iocbq *elsiocb;
2977 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
2979 if (!elsiocb)
2982 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
2996 elsiocb->iocb_cmpl = lpfc_cmpl_els_logo;
3001 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
3006 lpfc_els_free_iocb(phba, elsiocb);
3184 struct lpfc_iocbq *elsiocb;
3203 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
3206 if (!elsiocb) {
3214 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
3228 elsiocb->iocb_cmpl = lpfc_cmpl_els_disc_cmd;
3229 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
3236 lpfc_els_free_iocb(phba, elsiocb);
3271 struct lpfc_iocbq *elsiocb;
3308 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
3311 if (!elsiocb) {
3319 event = ((struct lpfc_dmabuf *)elsiocb->context2)->virt;
3337 elsiocb->iocb_cmpl = lpfc_cmpl_els_cmd;
3338 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
3345 lpfc_els_free_iocb(phba, elsiocb);
3383 struct lpfc_iocbq *elsiocb;
3405 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
3407 if (!elsiocb) {
3415 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
3444 elsiocb->iocb_cmpl = lpfc_cmpl_els_cmd;
3445 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
3452 lpfc_els_free_iocb(phba, elsiocb);
3483 struct lpfc_iocbq *elsiocb;
3508 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp,
3510 if (!elsiocb) {
3520 (((struct lpfc_dmabuf *)elsiocb->context2)->virt);
3542 elsiocb->iocb_cmpl = lpfc_cmpl_els_disc_cmd;
3543 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
3550 lpfc_els_free_iocb(phba, elsiocb);
4316 * @elsiocb: pointer to lpfc els command iocb data structure.
4341 lpfc_els_free_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *elsiocb)
4346 ndlp = (struct lpfc_nodelist *)elsiocb->context1;
4363 elsiocb->context1 = NULL;
4366 if (elsiocb->context2) {
4367 if (elsiocb->iocb_flag & LPFC_DELAY_MEM_FREE) {
4372 elsiocb->iocb_flag &= ~LPFC_DELAY_MEM_FREE;
4373 buf_ptr = elsiocb->context2;
4374 elsiocb->context2 = NULL;
4393 buf_ptr1 = (struct lpfc_dmabuf *) elsiocb->context2;
4395 elsiocb->context2 = NULL;
4399 if (elsiocb->context3) {
4400 buf_ptr = (struct lpfc_dmabuf *) elsiocb->context3;
4402 elsiocb->context3 = NULL;
4404 lpfc_sli_release_iocbq(phba, elsiocb);
4747 struct lpfc_iocbq *elsiocb;
4759 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry,
4761 if (!elsiocb) {
4768 icmd = &elsiocb->iocb;
4771 pcmd = (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
4782 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry,
4784 if (!elsiocb)
4787 icmd = &elsiocb->iocb;
4790 pcmd = (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
4793 elsiocb->context_un.mbox = mbox;
4844 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry,
4846 if (!elsiocb)
4849 icmd = &elsiocb->iocb;
4852 pcmd = (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
4873 elsiocb->iocb_cmpl = lpfc_cmpl_els_logo_acc;
4875 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
4879 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
4881 lpfc_els_free_iocb(phba, elsiocb);
4917 struct lpfc_iocbq *elsiocb;
4923 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry, ndlp,
4925 if (!elsiocb)
4928 icmd = &elsiocb->iocb;
4932 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
4939 elsiocb->context_un.mbox = mbox;
4946 rejectError, elsiocb->iotag,
4947 elsiocb->iocb.ulpContext, ndlp->nlp_DID,
4954 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
4955 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
4958 lpfc_els_free_iocb(phba, elsiocb);
4990 struct lpfc_iocbq *elsiocb;
4996 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry, ndlp,
4998 if (!elsiocb)
5001 icmd = &elsiocb->iocb;
5010 elsiocb->iotag, elsiocb->iocb.ulpContext,
5013 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
5029 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
5030 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
5032 lpfc_els_free_iocb(phba, elsiocb);
5041 rc, elsiocb->iotag, elsiocb->sli4_xritag,
5076 struct lpfc_iocbq *elsiocb;
5107 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry, ndlp,
5109 if (!elsiocb)
5112 icmd = &elsiocb->iocb;
5121 elsiocb->iotag, elsiocb->iocb.ulpContext,
5124 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
5196 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
5198 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
5200 lpfc_els_free_iocb(phba, elsiocb);
5239 struct lpfc_iocbq *elsiocb;
5249 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry, ndlp,
5251 if (!elsiocb)
5254 icmd = &elsiocb->iocb;
5262 elsiocb->iotag, elsiocb->iocb.ulpContext);
5263 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
5296 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
5298 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
5300 lpfc_els_free_iocb(phba, elsiocb);
5369 struct lpfc_iocbq *elsiocb;
5381 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry, ndlp,
5383 if (!elsiocb)
5386 elsiocb->iocb.ulpContext = oldiocb->iocb.ulpContext; /* Xri / rx_id */
5387 elsiocb->iocb.unsli3.rcvsli3.ox_id = oldiocb->iocb.unsli3.rcvsli3.ox_id;
5392 elsiocb->iotag, elsiocb->iocb.ulpContext);
5393 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
5403 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
5405 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
5407 lpfc_els_free_iocb(phba, elsiocb);
5958 struct lpfc_iocbq *elsiocb;
5974 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize,
5978 if (!elsiocb)
5981 icmd = &elsiocb->iocb;
5988 elsiocb->iotag, elsiocb->iocb.ulpContext,
5992 (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
5993 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
6041 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
6045 (((struct lpfc_dmabuf *)(elsiocb->context3))->virt);
6051 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
6053 lpfc_els_free_iocb(phba, elsiocb);
6060 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, lpfc_max_els_tries,
6063 if (!elsiocb)
6066 icmd = &elsiocb->iocb;
6069 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
6076 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
6077 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
6080 lpfc_els_free_iocb(phba, elsiocb);
6217 struct lpfc_iocbq *elsiocb;
6252 elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
6259 if (!elsiocb)
6263 (((struct lpfc_dmabuf *)elsiocb->context2)->virt);
6266 icmd = &elsiocb->iocb;
6270 pcmd = (uint8_t *)(((struct lpfc_dmabuf *)elsiocb->context2)->virt);
6277 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
6279 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
6281 lpfc_els_free_iocb(phba, elsiocb);
6288 elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
6292 if (!elsiocb)
6295 icmd = &elsiocb->iocb;
6298 pcmd = (uint8_t *)(((struct lpfc_dmabuf *)elsiocb->context2)->virt);
6307 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
6309 rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
6311 lpfc_els_free_iocb(phba, elsiocb);
7317 struct lpfc_iocbq *elsiocb;
7337 elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
7344 if (!elsiocb) {
7349 icmd = &elsiocb->iocb;
7353 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
7369 elsiocb->iotag, elsiocb->iocb.ulpContext,
7372 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
7374 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) == IOCB_ERROR)
7375 lpfc_els_free_iocb(phba, elsiocb);
7467 struct lpfc_iocbq *elsiocb;
7477 elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize,
7481 if (!elsiocb)
7484 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
7489 elsiocb->iocb.ulpContext = cmdiocb->iocb.ulpContext; /* Xri / rx_id */
7490 elsiocb->iocb.unsli3.rcvsli3.ox_id = cmdiocb->iocb.unsli3.rcvsli3.ox_id;
7506 elsiocb->iotag, elsiocb->iocb.ulpContext,
7510 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
7512 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) == IOCB_ERROR)
7513 lpfc_els_free_iocb(phba, elsiocb);
7545 struct lpfc_iocbq *elsiocb;
7558 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, 0, ndlp, did,
7560 if (!elsiocb)
7563 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
7580 elsiocb->context_un.rrq = rrq;
7581 elsiocb->iocb_cmpl = lpfc_cmpl_els_rrq;
7582 ret = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0);
7585 lpfc_els_free_iocb(phba, elsiocb);
7644 struct lpfc_iocbq *elsiocb;
7647 elsiocb = lpfc_prep_els_iocb(vport, 0, cmdsize, oldiocb->retry, ndlp,
7650 if (!elsiocb)
7653 icmd = &elsiocb->iocb;
7658 pcmd = (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
7677 elsiocb->iotag, elsiocb->iocb.ulpContext,
7680 elsiocb->iocb_cmpl = lpfc_cmpl_els_rsp;
7682 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
7684 lpfc_els_free_iocb(phba, elsiocb);
8464 * @elsiocb: pointer to lpfc els command iocb data structure.
8475 struct lpfc_vport *vport, struct lpfc_iocbq *elsiocb)
8483 IOCB_t *icmd = &elsiocb->iocb;
8486 if (!vport || !(elsiocb->context2))
8490 payload = ((struct lpfc_dmabuf *)elsiocb->context2)->virt;
8491 payload_len = elsiocb->iocb.unsli3.rcvsli3.acc_len;
8561 elsiocb->context1 = lpfc_nlp_get(ndlp);
8562 elsiocb->vport = vport;
8598 vport->fc_myDID = elsiocb->iocb.un.rcvels.parmRo;
8627 lpfc_disc_state_machine(vport, ndlp, elsiocb,
8650 lpfc_els_rcv_flogi(vport, elsiocb, ndlp);
8666 lpfc_disc_state_machine(vport, ndlp, elsiocb, NLP_EVT_RCV_LOGO);
8680 lpfc_disc_state_machine(vport, ndlp, elsiocb, NLP_EVT_RCV_PRLO);
8684 lpfc_els_rcv_lcb(vport, elsiocb, ndlp);
8688 lpfc_els_rcv_rdp(vport, elsiocb, ndlp);
8692 lpfc_els_rcv_rscn(vport, elsiocb, ndlp);
8708 lpfc_disc_state_machine(vport, ndlp, elsiocb,
8722 lpfc_disc_state_machine(vport, ndlp, elsiocb,
8731 lpfc_els_rcv_farpr(vport, elsiocb, ndlp);
8739 lpfc_els_rcv_farp(vport, elsiocb, ndlp);
8747 lpfc_els_rcv_fan(vport, elsiocb, ndlp);
8762 lpfc_disc_state_machine(vport, ndlp, elsiocb, NLP_EVT_RCV_PRLI);
8770 lpfc_els_rcv_lirr(vport, elsiocb, ndlp);
8780 lpfc_els_rcv_rls(vport, elsiocb, ndlp);
8790 lpfc_els_rcv_rpl(vport, elsiocb, ndlp);
8800 lpfc_els_rcv_rnid(vport, elsiocb, ndlp);
8809 lpfc_els_rcv_rtv(vport, elsiocb, ndlp);
8819 lpfc_els_rcv_rrq(vport, elsiocb, ndlp);
8829 lpfc_els_rcv_echo(vport, elsiocb, ndlp);
8872 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, elsiocb, ndlp,
8876 lpfc_nlp_put(elsiocb->context1);
8877 elsiocb->context1 = NULL;
8914 * @elsiocb: pointer to lpfc els iocb data structure.
8924 struct lpfc_iocbq *elsiocb)
8927 IOCB_t *icmd = &elsiocb->iocb;
8929 struct lpfc_dmabuf *bdeBuf1 = elsiocb->context2;
8930 struct lpfc_dmabuf *bdeBuf2 = elsiocb->context3;
8932 elsiocb->context1 = NULL;
8933 elsiocb->context2 = NULL;
8934 elsiocb->context3 = NULL;
8968 elsiocb->context2 = bdeBuf1;
8972 elsiocb->context2 = lpfc_sli_ringpostbuf_get(phba, pring,
8976 lpfc_els_unsol_buffer(phba, pring, vport, elsiocb);
8981 if (elsiocb->context2) {
8982 lpfc_in_buf_free(phba, (struct lpfc_dmabuf *)elsiocb->context2);
8983 elsiocb->context2 = NULL;
8989 elsiocb->context2 = bdeBuf2;
8990 lpfc_els_unsol_buffer(phba, pring, vport, elsiocb);
8992 if (elsiocb->context2) {
8993 lpfc_in_buf_free(phba, elsiocb->context2);
8994 elsiocb->context2 = NULL;
9525 struct lpfc_iocbq *elsiocb;
9535 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, retry, ndlp, did,
9537 if (!elsiocb) {
9544 icmd = &elsiocb->iocb;
9557 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
9583 elsiocb->iocb_cmpl = lpfc_cmpl_els_fdisc;
9589 rc = lpfc_issue_fabric_iocb(phba, elsiocb);
9591 lpfc_els_free_iocb(phba, elsiocb);
9673 struct lpfc_iocbq *elsiocb;
9678 elsiocb = lpfc_prep_els_iocb(vport, 1, cmdsize, 0, ndlp, ndlp->nlp_DID,
9680 if (!elsiocb)
9683 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) elsiocb->context2)->virt);
9696 elsiocb->iocb_cmpl = lpfc_cmpl_els_npiv_logo;
9700 if (lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, elsiocb, 0) ==
9705 lpfc_els_free_iocb(phba, elsiocb);