Lines Matching refs:xri
852 * @xritag: xri used in this exchange.
940 * @xri: The xri used in the exchange.
944 * rrq = rrq for this xri and target.
947 lpfc_get_active_rrq(struct lpfc_vport *vport, uint16_t xri, uint32_t did)
958 if (rrq->vport == vport && rrq->xritag == xri &&
1009 * @xritag: the xri in the bitmap to test.
1012 * 0 = rrq not active for this xri
1013 * 1 = rrq is valid for this xri.
1033 * @xritag: xri used in this exchange.
1041 * returns 0 rrq actived for this xri
1083 "3155 Unable to allocate RRQ xri:0x%x rxid:0x%x"
1110 "2921 Can't set rrq active xri:0x%x rxid:0x%x"
1169 /* This xri has an rrq outstanding for this DID.
1170 * put it back in the list and get another xri.
2824 lpfc_nvmeio_data(phba, "NVME LS RCV: xri x%x sz %d from %06x\n",
3297 * exchange busy so sgl (xri)
3299 * the abort xri is received
3330 * sgl (xri) process.
5847 * @type: the extent type (rpi, xri, vfi, vpi).
6766 "xri:%d\n", count);
7039 * buffer sgl with non-contiguous xri, if any, it shall use embedded SGL post
7073 /* a hole in xri block, form a sgl posting block */
7149 /* don't reset xirtag due to hole in xri block */
7638 * Allocate all resources (xri,rpi,vpi,vfi) now. Subsequent
7716 /* update host els xri-sgl sizes and mappings */
7720 "1400 Failed to update xri-sgl size and "
7738 /* update host nvmet xri-sgl sizes and mappings */
7767 /* update host common xri-sgl sizes and mappings */
9685 /* word6 iocb=ctxt_tag/io_tag wqe=ctxt_tag/xri */
10475 "vpi %d rpi %d xri x%x status 0x%x parameter x%x\n",
11444 "0339 Abort xri x%x, original iotag x%x, "
13101 * lpfc_sli4_els_xri_abort_event_proc - Process els xri abort event
13105 * SLI4 els abort xri events.
13112 /* First, declare the els xri abort event has been handled */
13117 /* Now, handle all the els xri abort events */
13595 * lpfc_sli4_sp_handle_abort_xri_wcqe - Handle a xri abort event
13635 /* Set the els xri abort event flag */
16988 unsigned long xri;
16991 * Fetch the next logical xri. Because this index is logical,
16995 xri = find_next_zero_bit(phba->sli4_hba.xri_bmask,
16997 if (xri >= phba->sli4_hba.max_cfg_param.max_xri) {
17001 set_bit(xri, phba->sli4_hba.xri_bmask);
17005 return xri;
17009 * lpfc_sli4_free_xri - Release an xri for reuse.
17011 * @xri: xri to release.
17013 * This routine is invoked to release an xri to the pool of
17017 __lpfc_sli4_free_xri(struct lpfc_hba *phba, int xri)
17019 if (test_and_clear_bit(xri, phba->sli4_hba.xri_bmask)) {
17025 * lpfc_sli4_free_xri - Release an xri for reuse.
17027 * @xri: xri to release.
17029 * This routine is invoked to release an xri to the pool of
17033 lpfc_sli4_free_xri(struct lpfc_hba *phba, int xri)
17036 __lpfc_sli4_free_xri(phba, xri);
17296 * For single NVME buffer sgl with non-contiguous xri, if any, it shall use
17326 /* a hole in xri block, form a sgl posting block */
17352 /* last single sgl with non-contiguous xri */
17387 /* don't reset xirtag due to hole in xri block */
17871 * lpfc_sli4_xri_inrange - check xri is in range of xris owned by driver.
17873 * @xri: xri id in transaction.
17875 * This function validates the xri maps to the known range of XRIs allocated an
17880 uint16_t xri)
17885 if (xri == phba->sli4_hba.xri_ids[i])
17907 uint16_t oxid, rxid, xri, lxri;
17973 xri = oxid;
17975 xri = rxid;
17976 lxri = lpfc_sli4_xri_inrange(phba, xri);
17979 (xri == oxid) ? rxid : oxid, 0);
17980 /* For BA_ABTS from exchange responder, if the logical xri with
18029 "xri x%x, Data x%x\n",
20074 /* The xri and iocb resources secured,
20092 "xri 0x%x\n",
20620 /* Check if the public free xri pool is available */
20713 * just _after_ xri pools are destroyed in lpfc_offline.
20736 /* XRI goes to either public or private free xri pool
20851 * 1. If private free xri count is empty, move some XRIs from public to
20853 * 2. Get one XRI from private free xri pool.
20855 * get one free xri from expedite pool.
20884 /* Get one XRI from private free xri pool */
20892 * request, get one free xri from expedite pool.