Lines Matching defs:xrip

2544 	XRIobj_t *xrip;
2557 xrip = sbp->xrip;
2558 sge = xrip->SGList.virt;
2671 XRIobj_t *xrip;
2683 xrip = sbp->xrip;
2708 sge = xrip->SGList.virt;
2985 if (!(sbp->xrip)) {
3025 sbp->xrip->flag |= EMLXS_XRI_PENDING_IO;
3852 XRIobj_t *xrip;
3886 xrip = emlxs_sli4_alloc_xri(port, cmd_sbp, rpip,
3889 if (!xrip) {
3899 xrip->XRI, xrip->iotag, cmd_sbp, pkt->pkt_cmd_fhdr.rx_id);
3901 cmd_sbp->xrip = xrip;
3921 wqe->RequestTag = xrip->iotag;
3963 xrip = emlxs_sli4_register_xri(port, cmd_sbp,
3966 if (!xrip) {
3976 cmd_sbp->iotag = xrip->iotag;
3991 sge = xrip->SGList.virt;
4012 wqe->XRITag = xrip->XRI;
4024 wqe->RequestTag = xrip->iotag;
4025 wqe->OXId = (uint16_t)xrip->rx_id;
4028 if (xrip->flag & EMLXS_XRI_BUSY) {
4076 xrip = cmd_sbp->xrip;
4077 if (!xrip) {
4087 xrip->XRI, ndlp->nlp_DID) == NULL) {
4095 cmd_sbp->iotag = xrip->iotag;
4130 wqe->XRITag = xrip->XRI;
4143 wqe->RequestTag = xrip->iotag;
4147 if (xrip->flag & EMLXS_XRI_BUSY) {
4176 XRIobj_t *xrip;
4213 xrip = emlxs_sli4_alloc_xri(port, sbp, rpip,
4216 if (!xrip) {
4228 xrip->XRI, xrip->iotag, xrip->rx_id, rpip->RPI);
4235 emlxs_sli4_free_xri(port, sbp, xrip, 1);
4245 "FCP: SGLaddr virt %p phys %p size %d", xrip->SGList.virt,
4246 xrip->SGList.phys, pkt->pkt_datalen);
4247 emlxs_data_dump(port, "FCP: SGL", (uint32_t *)xrip->SGList.virt, 20, 0);
4255 xrip->SGList.virt) -
4259 EMLXS_MPDATA_SYNC(xrip->SGList.dma_handle, offset,
4260 xrip->SGList.size, DDI_DMA_SYNC_FORDEV);
4289 wqe->XRITag = xrip->XRI;
4336 XRIobj_t *xrip;
4387 sbp->xrip = 0;
4388 xrip = emlxs_sli4_register_xri(port, sbp,
4391 if (!xrip) {
4401 rpip = xrip->rpip;
4418 xrip->XRI, xrip->iotag, xrip->rx_id, rpip->RPI);
4434 wqe->OXId = xrip->rx_id;
4439 sge = xrip->SGList.virt;
4469 xrip = emlxs_sli4_alloc_xri(port, sbp, rpip,
4472 if (!xrip) {
4482 xrip->XRI, xrip->iotag, rpip->RPI);
4504 sge = xrip->SGList.virt;
4520 sge = xrip->SGList.virt;
4527 xrip->SGList.virt, xrip->SGList.phys);
4531 emlxs_data_dump(port, "ELS: SGL", (uint32_t *)xrip->SGList.virt,
4611 sbp->fct_cmd->cmd_oxid = xrip->XRI;
4618 reserved_rpip = emlxs_rpi_reserve_notify(port, did, xrip);
4639 xrip->SGList.virt) -
4643 EMLXS_MPDATA_SYNC(xrip->SGList.dma_handle, offset,
4644 xrip->SGList.size, DDI_DMA_SYNC_FORDEV);
4661 wqe->XRITag = xrip->XRI;
4662 wqe->RequestTag = xrip->iotag;
4681 XRIobj_t *xrip;
4706 sbp->xrip = 0;
4707 xrip = emlxs_sli4_register_xri(port, sbp,
4710 if (!xrip) {
4720 rpip = xrip->rpip;
4737 xrip->XRI, xrip->iotag, xrip->rx_id, rpip->RPI);
4777 wqe->OXId = xrip->rx_id;
4798 xrip = emlxs_sli4_alloc_xri(port, sbp, rpip,
4801 if (!xrip) {
4811 xrip->XRI, xrip->iotag, xrip->rx_id, rpip->RPI);
4817 emlxs_sli4_free_xri(port, sbp, xrip, 1);
4835 "CT: SGLaddr virt %p phys %p", xrip->SGList.virt,
4836 xrip->SGList.phys);
4837 emlxs_data_dump(port, "CT: SGL", (uint32_t *)xrip->SGList.virt,
4849 sbp->fct_cmd->cmd_oxid = xrip->XRI;
4862 xrip->SGList.virt) -
4866 EMLXS_MPDATA_SYNC(xrip->SGList.dma_handle, offset,
4867 xrip->SGList.size, DDI_DMA_SYNC_FORDEV);
4871 wqe->XRITag = xrip->XRI;
4889 wqe->RequestTag = xrip->iotag;
5565 emlxs_sli4_free_xri(port, sbp, sbp->xrip, 1);
5674 if (!(sbp->xrip)) {
5678 "CQ ENTRY: NULL sbp xrip %p. iotag=%d. Dropping...",
5697 sbp->xrip->flag &= ~EMLXS_XRI_PENDING_IO;
5698 sbp->xrip->flag |= EMLXS_XRI_BUSY;
5702 sbp->xrip->XRI);
5707 emlxs_sli4_free_xri(port, sbp, sbp->xrip, 0);
5941 XRIobj_t *xrip;
6428 xrip = emlxs_sli4_alloc_xri(port, sbp, rpip,
6431 if (!xrip) {
6438 wqe->XRITag = xrip->XRI;
6440 wqe->RequestTag = xrip->iotag;
6494 xrip = emlxs_sli4_reserve_xri(port, rpip,
6497 if (!xrip) {
6517 iocb->ULPCONTEXT = xrip->XRI;
6565 xrip = emlxs_sli4_reserve_xri(port, rpip,
6568 if (!xrip) {
6585 iocb->ULPCONTEXT = xrip->XRI;
6599 /* pass xrip to FCT in the iocbq */
6600 iocbq->sbp = xrip;
6651 xrip = emlxs_sli4_reserve_xri(port, rpip,
6654 if (!xrip) {
6677 iocb->ULPCONTEXT = xrip->XRI;
6745 XRIobj_t *xrip;
6749 xrip = emlxs_sli4_find_xri(port, cqe->XRI);
6750 if (xrip == NULL) {
6762 if (!(xrip->flag & EMLXS_XRI_BUSY)) {
6765 xrip->XRI, xrip->flag);
6772 emlxs_sli4_free_xri(port, 0, xrip, 0);
7292 XRIobj_t *xrip;
7599 xrip = hba->sli.sli4.XRIp;
7603 xrip->XRI = emlxs_sli4_index_to_xri(hba, i);
7607 if (xrip->XRI == 0) {
7608 xrip++;
7612 xrip->iotag = iotag++;
7613 xrip->sge_count =
7616 /* Add xrip to end of free list */
7617 xrip->_b = hba->sli.sli4.XRIfree_b;
7618 hba->sli.sli4.XRIfree_b->_f = xrip;
7619 xrip->_f = (XRIobj_t *)&hba->sli.sli4.XRIfree_f;
7620 hba->sli.sli4.XRIfree_b = xrip;
7623 /* Allocate SGL for this xrip */
7624 buf_info = &xrip->SGList;
7637 xrip++;
7723 XRIobj_t *xrip;
7728 xrip = hba->sli.sli4.XRIfree_f;
7730 if (xrip == (XRIobj_t *)&hba->sli.sli4.XRIfree_f) {
7740 iotag = xrip->iotag;
7756 xrip->state = XRI_STATE_ALLOCATED;
7757 xrip->type = type;
7758 xrip->flag = EMLXS_XRI_RESERVED;
7759 xrip->sbp = NULL;
7761 xrip->rpip = rpip;
7762 xrip->rx_id = rx_id;
7766 (xrip->_b)->_f = xrip->_f;
7767 (xrip->_f)->_b = xrip->_b;
7768 xrip->_f = NULL;
7769 xrip->_b = NULL;
7773 xrip->_b = hba->sli.sli4.XRIinuse_b;
7774 hba->sli.sli4.XRIinuse_b->_f = xrip;
7775 xrip->_f = (XRIobj_t *)&hba->sli.sli4.XRIinuse_f;
7776 hba->sli.sli4.XRIinuse_b = xrip;
7780 return (xrip);
7789 XRIobj_t *xrip;
7795 xrip = emlxs_sli4_find_xri(port, xri);
7797 if (!xrip || xrip->state == XRI_STATE_FREE) {
7808 if (xrip->type == EMLXS_XRI_UNSOL_CT_TYPE) {
7809 (void) emlxs_flush_ct_event(port, xrip->rx_id);
7812 if (!(xrip->flag & EMLXS_XRI_RESERVED)) {
7819 xrip->XRI, xrip->type);
7823 if (xrip->iotag &&
7824 (hba->fc_table[xrip->iotag] != NULL) &&
7825 (hba->fc_table[xrip->iotag] != STALE_PACKET)) {
7828 xrip->XRI, hba->fc_table[xrip->iotag], xrip->type);
7830 hba->fc_table[xrip->iotag] = NULL;
7836 xrip->XRI, xrip->type);
7838 xrip->state = XRI_STATE_FREE;
7839 xrip->type = 0;
7841 if (xrip->rpip) {
7842 xrip->rpip->xri_count--;
7843 xrip->rpip = NULL;
7846 if (xrip->reserved_rpip) {
7847 xrip->reserved_rpip->xri_count--;
7848 xrip->reserved_rpip = NULL;
7852 (xrip->_b)->_f = xrip->_f;
7853 (xrip->_f)->_b = xrip->_b;
7854 xrip->_f = NULL;
7855 xrip->_b = NULL;
7859 xrip->_b = hba->sli.sli4.XRIfree_b;
7860 hba->sli.sli4.XRIfree_b->_f = xrip;
7861 xrip->_f = (XRIobj_t *)&hba->sli.sli4.XRIfree_f;
7862 hba->sli.sli4.XRIfree_b = xrip;
7880 XRIobj_t *xrip;
7886 xrip = sbp->xrip;
7887 if (!xrip) {
7888 xrip = emlxs_sli4_find_xri(port, xri);
7890 if (!xrip) {
7899 if ((xrip->state == XRI_STATE_FREE) ||
7900 !(xrip->flag & EMLXS_XRI_RESERVED)) {
7903 "sli4_register_xri:%d Invalid XRI. xrip=%p "
7905 xrip->XRI, xrip, xrip->state, xrip->flag);
7911 iotag = xrip->iotag;
7920 xrip->XRI, iotag, hba->fc_table[iotag]);
7930 sbp->xrip = xrip;
7932 xrip->flag &= ~EMLXS_XRI_RESERVED;
7933 xrip->sbp = sbp;
7937 if (xrip->rpip && (xrip->rpip->RPI == FABRIC_RPI)) {
7943 xrip->rpip->xri_count--;
7944 xrip->rpip = rpip;
7951 return (xrip);
7962 XRIobj_t *xrip;
7967 xrip = hba->sli.sli4.XRIfree_f;
7969 if (xrip == (XRIobj_t *)&hba->sli.sli4.XRIfree_f) {
7976 iotag = xrip->iotag;
7996 sbp->xrip = xrip;
7998 xrip->state = XRI_STATE_ALLOCATED;
7999 xrip->type = type;
8000 xrip->flag = 0;
8001 xrip->sbp = sbp;
8003 xrip->rpip = rpip;
8007 (xrip->_b)->_f = xrip->_f;
8008 (xrip->_f)->_b = xrip->_b;
8009 xrip->_f = NULL;
8010 xrip->_b = NULL;
8014 xrip->_b = hba->sli.sli4.XRIinuse_b;
8015 hba->sli.sli4.XRIinuse_b->_f = xrip;
8016 xrip->_f = (XRIobj_t *)&hba->sli.sli4.XRIinuse_f;
8017 hba->sli.sli4.XRIinuse_b = xrip;
8022 return (xrip);
8032 XRIobj_t *xrip;
8034 xrip = (XRIobj_t *)hba->sli.sli4.XRIinuse_f;
8035 while (xrip != (XRIobj_t *)&hba->sli.sli4.XRIinuse_f) {
8036 if ((xrip->state >= XRI_STATE_ALLOCATED) &&
8037 (xrip->XRI == xri)) {
8038 return (xrip);
8040 xrip = xrip->_f;
8054 emlxs_sli4_free_xri(emlxs_port_t *port, emlxs_buf_t *sbp, XRIobj_t *xrip,
8063 if (xrip) {
8064 if (xrip->state == XRI_STATE_FREE) {
8070 xrip->XRI, xrip->type);
8074 if (xrip->type == EMLXS_XRI_UNSOL_CT_TYPE) {
8075 (void) emlxs_flush_ct_event(port, xrip->rx_id);
8078 if (xrip->iotag &&
8079 (hba->fc_table[xrip->iotag] != NULL) &&
8080 (hba->fc_table[xrip->iotag] != STALE_PACKET)) {
8081 hba->fc_table[xrip->iotag] = NULL;
8085 xrip->state = XRI_STATE_FREE;
8086 xrip->type = 0;
8087 xrip->flag = 0;
8089 if (xrip->rpip) {
8090 xrip->rpip->xri_count--;
8091 xrip->rpip = NULL;
8094 if (xrip->reserved_rpip) {
8095 xrip->reserved_rpip->xri_count--;
8096 xrip->reserved_rpip = NULL;
8100 (xrip->_b)->_f = xrip->_f;
8101 (xrip->_f)->_b = xrip->_b;
8102 xrip->_f = NULL;
8103 xrip->_b = NULL;
8107 xrip->_b = hba->sli.sli4.XRIfree_b;
8108 hba->sli.sli4.XRIfree_b->_f = xrip;
8109 xrip->_f = (XRIobj_t *)&hba->sli.sli4.XRIfree_f;
8110 hba->sli.sli4.XRIfree_b = xrip;
8123 sbp, sbp->pkt_flags, ((xrip)? xrip->XRI:0));
8127 if (xrip && (xrip->iotag != sbp->iotag)) {
8130 sbp->iotag, xrip->iotag);
8138 if (sbp->xrip) {
8140 sbp->xrip->flag |= EMLXS_XRI_RESERVED;
8146 if (xrip) {
8147 sbp->xrip = 0;
8181 XRIobj_t *xrip;
8214 xrip = hba->sli.sli4.XRIp;
8220 if (xrip->XRI == 0) {
8222 xrip++;
8244 post_sgl->params.request.xri_start = xrip->XRI;
8254 PADDR_LO(xrip->SGList.phys);
8257 PADDR_HI(xrip->SGList.phys);
8260 xrip++;