piocb 569 drivers/scsi/lpfc/lpfc_crtn.h struct lpfc_sli_ring *pring, struct lpfc_iocbq *piocb); piocb 7889 drivers/scsi/lpfc/lpfc_els.c struct lpfc_iocbq *tmp_iocb, *piocb; piocb 7917 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { piocb 7918 drivers/scsi/lpfc/lpfc_els.c cmd = &piocb->iocb; piocb 7920 drivers/scsi/lpfc/lpfc_els.c if ((piocb->iocb_flag & LPFC_IO_LIBDFC) != 0 || piocb 7921 drivers/scsi/lpfc/lpfc_els.c piocb->iocb.ulpCommand == CMD_ABORT_XRI_CN || piocb 7922 drivers/scsi/lpfc/lpfc_els.c piocb->iocb.ulpCommand == CMD_CLOSE_XRI_CN) piocb 7925 drivers/scsi/lpfc/lpfc_els.c if (piocb->vport != vport) piocb 7928 drivers/scsi/lpfc/lpfc_els.c pcmd = (struct lpfc_dmabuf *) piocb->context2; piocb 7937 drivers/scsi/lpfc/lpfc_els.c if (piocb->drvrTimeout > 0) { piocb 7938 drivers/scsi/lpfc/lpfc_els.c if (piocb->drvrTimeout >= timeout) piocb 7939 drivers/scsi/lpfc/lpfc_els.c piocb->drvrTimeout -= timeout; piocb 7941 drivers/scsi/lpfc/lpfc_els.c piocb->drvrTimeout = 0; piocb 7954 drivers/scsi/lpfc/lpfc_els.c list_add_tail(&piocb->dlist, &abort_list); piocb 7960 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &abort_list, dlist) { piocb 7961 drivers/scsi/lpfc/lpfc_els.c cmd = &piocb->iocb; piocb 7967 drivers/scsi/lpfc/lpfc_els.c list_del_init(&piocb->dlist); piocb 7968 drivers/scsi/lpfc/lpfc_els.c lpfc_sli_issue_abort_iotag(phba, pring, piocb); piocb 8004 drivers/scsi/lpfc/lpfc_els.c struct lpfc_iocbq *tmp_iocb, *piocb; piocb 8029 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { piocb 8030 drivers/scsi/lpfc/lpfc_els.c if (piocb->iocb_flag & LPFC_IO_LIBDFC) piocb 8033 drivers/scsi/lpfc/lpfc_els.c if (piocb->vport != vport) piocb 8036 drivers/scsi/lpfc/lpfc_els.c if (piocb->iocb_flag & LPFC_DRIVER_ABORTED) piocb 8042 drivers/scsi/lpfc/lpfc_els.c cmd = &piocb->iocb; piocb 8044 drivers/scsi/lpfc/lpfc_els.c list_add_tail(&piocb->dlist, &abort_list); piocb 8054 drivers/scsi/lpfc/lpfc_els.c piocb->iocb_cmpl = lpfc_cmpl_els_link_down; piocb 8057 drivers/scsi/lpfc/lpfc_els.c list_add_tail(&piocb->dlist, &abort_list); piocb 8065 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &abort_list, dlist) { piocb 8067 drivers/scsi/lpfc/lpfc_els.c list_del_init(&piocb->dlist); piocb 8068 drivers/scsi/lpfc/lpfc_els.c lpfc_sli_issue_abort_iotag(phba, pring, piocb); piocb 8083 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &pring->txq, list) { piocb 8084 drivers/scsi/lpfc/lpfc_els.c cmd = &piocb->iocb; piocb 8086 drivers/scsi/lpfc/lpfc_els.c if (piocb->iocb_flag & LPFC_IO_LIBDFC) { piocb 8097 drivers/scsi/lpfc/lpfc_els.c if (piocb->vport != vport) piocb 8100 drivers/scsi/lpfc/lpfc_els.c list_del_init(&piocb->list); piocb 8101 drivers/scsi/lpfc/lpfc_els.c list_add_tail(&piocb->list, &abort_list); piocb 8106 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, piocb 8108 drivers/scsi/lpfc/lpfc_els.c cmd = &piocb->iocb; piocb 8109 drivers/scsi/lpfc/lpfc_els.c list_del_init(&piocb->list); piocb 8110 drivers/scsi/lpfc/lpfc_els.c list_add_tail(&piocb->list, &abort_list); piocb 9233 drivers/scsi/lpfc/lpfc_els.c struct lpfc_iocbq *piocb; piocb 9246 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry(piocb, &phba->fabric_iocb_list, list) { piocb 9247 drivers/scsi/lpfc/lpfc_els.c lpfc_set_disctmo(piocb->vport); piocb 9826 drivers/scsi/lpfc/lpfc_els.c struct lpfc_iocbq *tmp_iocb, *piocb; piocb 9829 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list, piocb 9832 drivers/scsi/lpfc/lpfc_els.c if (piocb->vport != vport) piocb 9835 drivers/scsi/lpfc/lpfc_els.c list_move_tail(&piocb->list, &completions); piocb 9859 drivers/scsi/lpfc/lpfc_els.c struct lpfc_iocbq *tmp_iocb, *piocb; piocb 9868 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &phba->fabric_iocb_list, piocb 9870 drivers/scsi/lpfc/lpfc_els.c if ((lpfc_check_sli_ndlp(phba, pring, piocb, ndlp))) { piocb 9872 drivers/scsi/lpfc/lpfc_els.c list_move_tail(&piocb->list, &completions); piocb 969 drivers/scsi/lpfc/lpfc_init.c struct lpfc_iocbq *piocb, *next_iocb; piocb 995 drivers/scsi/lpfc/lpfc_init.c list_for_each_entry_safe(piocb, next_iocb, piocb 997 drivers/scsi/lpfc/lpfc_init.c piocb->iocb_flag &= ~LPFC_IO_ON_TXCMPLQ; piocb 2396 drivers/scsi/lpfc/lpfc_nvmet.c struct lpfc_iocbq *piocb) piocb 2401 drivers/scsi/lpfc/lpfc_nvmet.c d_buf = piocb->context2; piocb 4199 drivers/scsi/lpfc/lpfc_scsi.c IOCB_t *piocb; piocb 4211 drivers/scsi/lpfc/lpfc_scsi.c piocb = &piocbq->iocb; piocb 4220 drivers/scsi/lpfc/lpfc_scsi.c lpfc_fcpcmd_to_iocb(piocb->unsli3.fcp_ext.icd, fcp_cmnd); piocb 4221 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpCommand = CMD_FCP_ICMND64_CR; piocb 4222 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpContext = ndlp->nlp_rpi; piocb 4224 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpContext = piocb 4227 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpFCP2Rcvy = (ndlp->nlp_fcp_info & NLP_FCP_2_DEVICE) ? 1 : 0; piocb 4228 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpClass = (ndlp->nlp_fcp_info & 0x0f); piocb 4229 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpPU = 0; piocb 4230 drivers/scsi/lpfc/lpfc_scsi.c piocb->un.fcpi.fcpi_parm = 0; piocb 4238 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpTimeout = 0; piocb 4240 drivers/scsi/lpfc/lpfc_scsi.c piocb->ulpTimeout = lpfc_cmd->timeout; piocb 1391 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb; piocb 1394 drivers/scsi/lpfc/lpfc_sli.c list_remove_head(iocblist, piocb, struct lpfc_iocbq, list); piocb 1395 drivers/scsi/lpfc/lpfc_sli.c if (!piocb->iocb_cmpl) { piocb 1396 drivers/scsi/lpfc/lpfc_sli.c if (piocb->iocb_flag & LPFC_IO_NVME) piocb 1397 drivers/scsi/lpfc/lpfc_sli.c lpfc_nvme_cancel_iocb(phba, piocb); piocb 1399 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_release_iocbq(phba, piocb); piocb 1401 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb.ulpStatus = ulpstatus; piocb 1402 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb.un.ulpWord[4] = ulpWord4; piocb 1403 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb_cmpl) (phba, piocb, piocb); piocb 1582 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb) piocb 1589 drivers/scsi/lpfc/lpfc_sli.c BUG_ON(!piocb); piocb 1591 drivers/scsi/lpfc/lpfc_sli.c list_add_tail(&piocb->list, &pring->txcmplq); piocb 1592 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_flag |= LPFC_IO_ON_TXCMPLQ; piocb 1596 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb.ulpCommand != CMD_ABORT_XRI_CN) && piocb 1597 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb.ulpCommand != CMD_CLOSE_XRI_CN)) { piocb 1598 drivers/scsi/lpfc/lpfc_sli.c BUG_ON(!piocb->vport); piocb 1599 drivers/scsi/lpfc/lpfc_sli.c if (!(piocb->vport->load_flag & FC_UNLOADING)) piocb 1600 drivers/scsi/lpfc/lpfc_sli.c mod_timer(&piocb->vport->els_tmofunc, piocb 4013 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb, *next_iocb; piocb 4033 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry_safe(piocb, next_iocb, piocb 4035 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_flag &= ~LPFC_IO_ON_TXCMPLQ; piocb 4057 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry_safe(piocb, next_iocb, piocb 4059 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_flag &= ~LPFC_IO_ON_TXCMPLQ; piocb 8983 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb) piocb 8987 drivers/scsi/lpfc/lpfc_sli.c list_add_tail(&piocb->list, &pring->txq); piocb 9009 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq **piocb) piocb 9017 drivers/scsi/lpfc/lpfc_sli.c nextiocb = *piocb; piocb 9018 drivers/scsi/lpfc/lpfc_sli.c *piocb = NULL; piocb 9048 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb, uint32_t flag) piocb 9056 drivers/scsi/lpfc/lpfc_sli.c if (piocb->iocb_cmpl && (!piocb->vport) && piocb 9057 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb.ulpCommand != CMD_ABORT_XRI_CN) && piocb 9058 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb.ulpCommand != CMD_CLOSE_XRI_CN)) { piocb 9062 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb.ulpCommand); piocb 9094 drivers/scsi/lpfc/lpfc_sli.c switch (piocb->iocb.ulpCommand) { piocb 9098 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb.un.genreq64.w5.hcsw.Rctl != piocb 9100 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb.un.genreq64.w5.hcsw.Type != piocb 9111 drivers/scsi/lpfc/lpfc_sli.c if (piocb->iocb_cmpl) piocb 9112 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_cmpl = NULL; piocb 9132 drivers/scsi/lpfc/lpfc_sli.c (nextiocb = lpfc_sli_next_iocb(phba, pring, &piocb))) piocb 9140 drivers/scsi/lpfc/lpfc_sli.c if (!piocb) piocb 9151 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_ringtx_put(phba, pring, piocb); piocb 9882 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb, uint32_t flag) piocb 9890 drivers/scsi/lpfc/lpfc_sli.c if ((piocb->iocb_flag & LPFC_IO_FCP) || piocb 9891 drivers/scsi/lpfc/lpfc_sli.c (piocb->iocb_flag & LPFC_USE_FCPWQIDX)) { piocb 9892 drivers/scsi/lpfc/lpfc_sli.c wq = phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq; piocb 9906 drivers/scsi/lpfc/lpfc_sli.c if (piocb->sli4_xritag == NO_XRI) { piocb 9907 drivers/scsi/lpfc/lpfc_sli.c if (piocb->iocb.ulpCommand == CMD_ABORT_XRI_CN || piocb 9908 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb.ulpCommand == CMD_CLOSE_XRI_CN) piocb 9914 drivers/scsi/lpfc/lpfc_sli.c pring, piocb); piocb 9920 drivers/scsi/lpfc/lpfc_sli.c sglq = __lpfc_sli_get_els_sglq(phba, piocb); piocb 9925 drivers/scsi/lpfc/lpfc_sli.c piocb); piocb 9932 drivers/scsi/lpfc/lpfc_sli.c } else if (piocb->iocb_flag & LPFC_IO_FCP) piocb 9940 drivers/scsi/lpfc/lpfc_sli.c sglq = __lpfc_get_active_sglq(phba, piocb->sli4_lxritag); piocb 9946 drivers/scsi/lpfc/lpfc_sli.c piocb->sli4_lxritag = sglq->sli4_lxritag; piocb 9947 drivers/scsi/lpfc/lpfc_sli.c piocb->sli4_xritag = sglq->sli4_xritag; piocb 9948 drivers/scsi/lpfc/lpfc_sli.c if (NO_XRI == lpfc_sli4_bpl2sgl(phba, piocb, sglq)) piocb 9952 drivers/scsi/lpfc/lpfc_sli.c if (lpfc_sli4_iocb2wqe(phba, piocb, &wqe)) piocb 9957 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, piocb); piocb 9975 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb, uint32_t flag) piocb 9977 drivers/scsi/lpfc/lpfc_sli.c return phba->__lpfc_sli_issue_iocb(phba, ring_number, piocb, flag); piocb 10024 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli4_calc_ring(struct lpfc_hba *phba, struct lpfc_iocbq *piocb) piocb 10028 drivers/scsi/lpfc/lpfc_sli.c if (piocb->iocb_flag & (LPFC_IO_FCP | LPFC_USE_FCPWQIDX)) { piocb 10035 drivers/scsi/lpfc/lpfc_sli.c if (!(piocb->iocb_flag & LPFC_USE_FCPWQIDX)) { piocb 10036 drivers/scsi/lpfc/lpfc_sli.c lpfc_cmd = (struct lpfc_io_buf *)piocb->context1; piocb 10037 drivers/scsi/lpfc/lpfc_sli.c piocb->hba_wqidx = lpfc_cmd->hdwq_no; piocb 10039 drivers/scsi/lpfc/lpfc_sli.c return phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq->pring; piocb 10043 drivers/scsi/lpfc/lpfc_sli.c piocb->hba_wqidx = 0; piocb 10063 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb, uint32_t flag) piocb 10071 drivers/scsi/lpfc/lpfc_sli.c eq = phba->sli4_hba.hdwq[piocb->hba_wqidx].hba_eq; piocb 10073 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_sli4_calc_ring(phba, piocb); piocb 10078 drivers/scsi/lpfc/lpfc_sli.c rc = __lpfc_sli_issue_iocb(phba, ring_number, piocb, flag); piocb 10085 drivers/scsi/lpfc/lpfc_sli.c rc = __lpfc_sli_issue_iocb(phba, ring_number, piocb, flag); piocb 11829 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_iocbq *piocb, piocb 11845 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_sli4_calc_ring(phba, piocb); piocb 11853 drivers/scsi/lpfc/lpfc_sli.c if (piocb->context2) piocb 11855 drivers/scsi/lpfc/lpfc_sli.c piocb->context2 = prspiocbq; piocb 11858 drivers/scsi/lpfc/lpfc_sli.c piocb->wait_iocb_cmpl = piocb->iocb_cmpl; piocb 11859 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_cmpl = lpfc_sli_wake_iocb_wait; piocb 11860 drivers/scsi/lpfc/lpfc_sli.c piocb->context_un.wait_queue = &done_q; piocb 11861 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_flag &= ~(LPFC_IO_WAKE | LPFC_IO_WAKE_TMO); piocb 11871 drivers/scsi/lpfc/lpfc_sli.c retval = lpfc_sli_issue_iocb(phba, ring_number, piocb, piocb 11876 drivers/scsi/lpfc/lpfc_sli.c lpfc_chk_iocb_flg(phba, piocb, LPFC_IO_WAKE), piocb 11879 drivers/scsi/lpfc/lpfc_sli.c if (!(piocb->iocb_flag & LPFC_IO_WAKE)) { piocb 11887 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_flag |= LPFC_IO_WAKE_TMO; piocb 11939 drivers/scsi/lpfc/lpfc_sli.c piocb->context2 = NULL; piocb 11941 drivers/scsi/lpfc/lpfc_sli.c piocb->context_un.wait_queue = NULL; piocb 11942 drivers/scsi/lpfc/lpfc_sli.c piocb->iocb_cmpl = NULL;