pring 755 drivers/infiniband/hw/i40iw/i40iw_uk.c struct i40iw_ring *pring = NULL; pring 822 drivers/infiniband/hw/i40iw/i40iw_uk.c pring = &qp->rq_ring; pring 865 drivers/infiniband/hw/i40iw/i40iw_uk.c pring = &qp->sq_ring; pring 873 drivers/infiniband/hw/i40iw/i40iw_uk.c if (pring && (I40IW_RING_MORE_WORK(*pring))) pring 889 drivers/infiniband/hw/i40iw/i40iw_uk.c qword3 |= LS_64(pring->tail, I40IW_CQ_WQEIDX); pring 264 drivers/net/ethernet/mellanox/mlx4/en_rx.c struct mlx4_en_rx_ring **pring, pring 311 drivers/net/ethernet/mellanox/mlx4/en_rx.c *pring = ring; pring 321 drivers/net/ethernet/mellanox/mlx4/en_rx.c *pring = NULL; pring 430 drivers/net/ethernet/mellanox/mlx4/en_rx.c struct mlx4_en_rx_ring **pring, pring 434 drivers/net/ethernet/mellanox/mlx4/en_rx.c struct mlx4_en_rx_ring *ring = *pring; pring 447 drivers/net/ethernet/mellanox/mlx4/en_rx.c *pring = NULL; pring 51 drivers/net/ethernet/mellanox/mlx4/en_tx.c struct mlx4_en_tx_ring **pring, u32 size, pring 142 drivers/net/ethernet/mellanox/mlx4/en_tx.c *pring = ring; pring 157 drivers/net/ethernet/mellanox/mlx4/en_tx.c *pring = NULL; pring 162 drivers/net/ethernet/mellanox/mlx4/en_tx.c struct mlx4_en_tx_ring **pring) pring 165 drivers/net/ethernet/mellanox/mlx4/en_tx.c struct mlx4_en_tx_ring *ring = *pring; pring 179 drivers/net/ethernet/mellanox/mlx4/en_tx.c *pring = NULL; pring 712 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h struct mlx4_en_tx_ring **pring, pring 716 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h struct mlx4_en_tx_ring **pring); pring 727 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h struct mlx4_en_rx_ring **pring, pring 730 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h struct mlx4_en_rx_ring **pring, pring 662 drivers/scsi/lpfc/lpfc.h (struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 1304 drivers/scsi/lpfc/lpfc.h return phba->sli4_hba.els_wq->pring; pring 1217 drivers/scsi/lpfc/lpfc_attr.c struct lpfc_sli_ring *pring; pring 1255 drivers/scsi/lpfc/lpfc_attr.c pring = &psli->sli3_ring[i]; pring 1256 drivers/scsi/lpfc/lpfc_attr.c if (!lpfc_emptyq_wait(phba, &pring->txcmplq, pring 1262 drivers/scsi/lpfc/lpfc_attr.c pring = qp->pring; pring 1263 drivers/scsi/lpfc/lpfc_attr.c if (!pring) pring 1265 drivers/scsi/lpfc/lpfc_attr.c if (!lpfc_emptyq_wait(phba, &pring->txcmplq, pring 1266 drivers/scsi/lpfc/lpfc_attr.c &pring->ring_lock)) pring 3560 drivers/scsi/lpfc/lpfc_attr.c struct lpfc_sli_ring *pring = lpfc_phba_elsring(phba); pring 3563 drivers/scsi/lpfc/lpfc_attr.c pring ? pring->txq_max : 0); pring 3574 drivers/scsi/lpfc/lpfc_attr.c struct lpfc_sli_ring *pring = lpfc_phba_elsring(phba); pring 3577 drivers/scsi/lpfc/lpfc_attr.c pring ? pring->txcmplq_max : 0); pring 915 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_ct_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 955 drivers/scsi/lpfc/lpfc_bsg.c dmabuf = lpfc_sli_ringpostbuf_get(phba, pring, dma_addr); pring 963 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli_ringpostbuf_put(phba, pring, dmabuf); pring 1038 drivers/scsi/lpfc/lpfc_bsg.c pring, dma_addr); pring 1060 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli_ringpostbuf_put(phba, pring, pring 1081 drivers/scsi/lpfc/lpfc_bsg.c pring, pring 1089 drivers/scsi/lpfc/lpfc_bsg.c pring, pring 1708 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_sli_ring *pring; pring 1734 drivers/scsi/lpfc/lpfc_bsg.c pring = &psli->sli3_ring[LPFC_FCP_RING]; pring 1735 drivers/scsi/lpfc/lpfc_bsg.c lpfc_emptyq_wait(phba, &pring->txcmplq, &phba->hbalock); pring 1739 drivers/scsi/lpfc/lpfc_bsg.c pring = qp->pring; pring 1740 drivers/scsi/lpfc/lpfc_bsg.c if (!pring || (pring->ringno != LPFC_FCP_RING)) pring 1742 drivers/scsi/lpfc/lpfc_bsg.c if (!lpfc_emptyq_wait(phba, &pring->txcmplq, pring 1743 drivers/scsi/lpfc/lpfc_bsg.c &pring->ring_lock)) pring 2957 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_sli_ring *pring; pring 2971 drivers/scsi/lpfc/lpfc_bsg.c pring = lpfc_phba_elsring(phba); pring 2984 drivers/scsi/lpfc/lpfc_bsg.c if (!cmdiocbq || !rxbmp || !rxbpl || !rxbuffer || !pring) { pring 3047 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli_ringpostbuf_put(phba, pring, mp[0]); pring 3049 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli_ringpostbuf_put(phba, pring, mp[1]); pring 5881 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_sli_ring *pring; pring 5888 drivers/scsi/lpfc/lpfc_bsg.c pring = lpfc_phba_elsring(phba); pring 5889 drivers/scsi/lpfc/lpfc_bsg.c if (unlikely(!pring)) pring 5926 drivers/scsi/lpfc/lpfc_bsg.c list_for_each_entry_safe(check_iocb, next_iocb, &pring->txq, pring 5934 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli_issue_abort_iotag(phba, pring, cmdiocb); pring 5963 drivers/scsi/lpfc/lpfc_bsg.c list_for_each_entry_safe(check_iocb, next_iocb, &pring->txq, pring 5971 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli_issue_abort_iotag(phba, pring, cmdiocb); pring 569 drivers/scsi/lpfc/lpfc_crtn.h struct lpfc_sli_ring *pring, struct lpfc_iocbq *piocb); pring 104 drivers/scsi/lpfc/lpfc_ct.c lpfc_ct_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 116 drivers/scsi/lpfc/lpfc_ct.c if (lpfc_bsg_ct_unsol_event(phba, pring, piocbq) == 0) pring 127 drivers/scsi/lpfc/lpfc_ct.c lpfc_post_buffer(phba, pring, 2); pring 169 drivers/scsi/lpfc/lpfc_ct.c mp = lpfc_sli_ringpostbuf_get(phba, pring, pring 175 drivers/scsi/lpfc/lpfc_ct.c lpfc_post_buffer(phba, pring, i); pring 534 drivers/scsi/lpfc/lpfc_debugfs.c txcmplq_cnt = qp->io_wq->pring->txcmplq_cnt; pring 732 drivers/scsi/lpfc/lpfc_debugfs.c struct lpfc_sli_ring *pring; pring 766 drivers/scsi/lpfc/lpfc_debugfs.c pring = &psli->sli3_ring[i]; pring 773 drivers/scsi/lpfc/lpfc_debugfs.c pring->sli.sli3.numCiocb, pring 774 drivers/scsi/lpfc/lpfc_debugfs.c pring->sli.sli3.next_cmdidx, pring 775 drivers/scsi/lpfc/lpfc_debugfs.c pring->sli.sli3.local_getidx, pring 776 drivers/scsi/lpfc/lpfc_debugfs.c pring->flag, pgpp->rspPutInx, pring 777 drivers/scsi/lpfc/lpfc_debugfs.c pring->sli.sli3.numRiocb); pring 1401 drivers/scsi/lpfc/lpfc_els.c struct lpfc_sli_ring *pring; pring 1411 drivers/scsi/lpfc/lpfc_els.c pring = lpfc_phba_elsring(phba); pring 1412 drivers/scsi/lpfc/lpfc_els.c if (unlikely(!pring)) pring 1420 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(iocb, next_iocb, &pring->txcmplq, list) { pring 1426 drivers/scsi/lpfc/lpfc_els.c lpfc_sli_issue_abort_iotag(phba, pring, iocb); pring 7888 drivers/scsi/lpfc/lpfc_els.c struct lpfc_sli_ring *pring; pring 7900 drivers/scsi/lpfc/lpfc_els.c pring = lpfc_phba_elsring(phba); pring 7901 drivers/scsi/lpfc/lpfc_els.c if (unlikely(!pring)) pring 7908 drivers/scsi/lpfc/lpfc_els.c spin_lock(&pring->ring_lock); pring 7912 drivers/scsi/lpfc/lpfc_els.c spin_unlock(&pring->ring_lock); pring 7917 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { pring 7957 drivers/scsi/lpfc/lpfc_els.c spin_unlock(&pring->ring_lock); pring 7968 drivers/scsi/lpfc/lpfc_els.c lpfc_sli_issue_abort_iotag(phba, pring, piocb); pring 7972 drivers/scsi/lpfc/lpfc_els.c if (!list_empty(&pring->txcmplq)) pring 8003 drivers/scsi/lpfc/lpfc_els.c struct lpfc_sli_ring *pring; pring 8017 drivers/scsi/lpfc/lpfc_els.c pring = lpfc_phba_elsring(phba); pring 8020 drivers/scsi/lpfc/lpfc_els.c if (unlikely(!pring)) { pring 8026 drivers/scsi/lpfc/lpfc_els.c spin_lock(&pring->ring_lock); pring 8029 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { pring 8061 drivers/scsi/lpfc/lpfc_els.c spin_unlock(&pring->ring_lock); pring 8068 drivers/scsi/lpfc/lpfc_els.c lpfc_sli_issue_abort_iotag(phba, pring, piocb); pring 8078 drivers/scsi/lpfc/lpfc_els.c spin_lock(&pring->ring_lock); pring 8083 drivers/scsi/lpfc/lpfc_els.c list_for_each_entry_safe(piocb, tmp_iocb, &pring->txq, list) { pring 8115 drivers/scsi/lpfc/lpfc_els.c spin_unlock(&pring->ring_lock); pring 8317 drivers/scsi/lpfc/lpfc_els.c lpfc_els_unsol_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 8336 drivers/scsi/lpfc/lpfc_els.c lpfc_post_buffer(phba, pring, 1); pring 8771 drivers/scsi/lpfc/lpfc_els.c lpfc_els_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 8792 drivers/scsi/lpfc/lpfc_els.c lpfc_post_buffer(phba, pring, 0); pring 8820 drivers/scsi/lpfc/lpfc_els.c elsiocb->context2 = lpfc_sli_ringpostbuf_get(phba, pring, pring 8824 drivers/scsi/lpfc/lpfc_els.c lpfc_els_unsol_buffer(phba, pring, vport, elsiocb); pring 8838 drivers/scsi/lpfc/lpfc_els.c lpfc_els_unsol_buffer(phba, pring, vport, elsiocb); pring 9860 drivers/scsi/lpfc/lpfc_els.c struct lpfc_sli_ring *pring; pring 9862 drivers/scsi/lpfc/lpfc_els.c pring = lpfc_phba_elsring(phba); pring 9864 drivers/scsi/lpfc/lpfc_els.c if (unlikely(!pring)) pring 9870 drivers/scsi/lpfc/lpfc_els.c if ((lpfc_check_sli_ndlp(phba, pring, piocb, ndlp))) { pring 9951 drivers/scsi/lpfc/lpfc_els.c struct lpfc_sli_ring *pring; pring 9953 drivers/scsi/lpfc/lpfc_els.c pring = lpfc_phba_elsring(phba); pring 9973 drivers/scsi/lpfc/lpfc_els.c if (pring && !list_empty(&pring->txq)) pring 615 drivers/scsi/lpfc/lpfc_hbadisc.c struct lpfc_sli_ring *pring; pring 692 drivers/scsi/lpfc/lpfc_hbadisc.c pring = lpfc_phba_elsring(phba); pring 695 drivers/scsi/lpfc/lpfc_hbadisc.c if (pring && (status & HA_RXMASK || pring 696 drivers/scsi/lpfc/lpfc_hbadisc.c pring->flag & LPFC_DEFERRED_RING_EVENT || pring 698 drivers/scsi/lpfc/lpfc_hbadisc.c if (pring->flag & LPFC_STOP_IOCB_EVENT) { pring 699 drivers/scsi/lpfc/lpfc_hbadisc.c pring->flag |= LPFC_DEFERRED_RING_EVENT; pring 709 drivers/scsi/lpfc/lpfc_hbadisc.c pring->flag &= ~LPFC_DEFERRED_RING_EVENT; pring 710 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli_handle_slow_ring_event(phba, pring, pring 3390 drivers/scsi/lpfc/lpfc_hbadisc.c struct lpfc_sli_ring *pring; pring 3397 drivers/scsi/lpfc/lpfc_hbadisc.c pring = lpfc_phba_elsring(phba); pring 3398 drivers/scsi/lpfc/lpfc_hbadisc.c if (pring) pring 3399 drivers/scsi/lpfc/lpfc_hbadisc.c pring->flag &= ~LPFC_STOP_IOCB_EVENT; pring 4707 drivers/scsi/lpfc/lpfc_hbadisc.c struct lpfc_sli_ring *pring, pring 4717 drivers/scsi/lpfc/lpfc_hbadisc.c if (pring->ringno == LPFC_ELS_RING) { pring 4732 drivers/scsi/lpfc/lpfc_hbadisc.c } else if (pring->ringno == LPFC_FCP_RING) { pring 4747 drivers/scsi/lpfc/lpfc_hbadisc.c struct lpfc_nodelist *ndlp, struct lpfc_sli_ring *pring, pring 4752 drivers/scsi/lpfc/lpfc_hbadisc.c list_for_each_entry_safe(iocb, next_iocb, &pring->txq, list) { pring 4754 drivers/scsi/lpfc/lpfc_hbadisc.c if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) pring 4778 drivers/scsi/lpfc/lpfc_hbadisc.c struct lpfc_sli_ring *pring; pring 4783 drivers/scsi/lpfc/lpfc_hbadisc.c pring = qp->pring; pring 4784 drivers/scsi/lpfc/lpfc_hbadisc.c if (!pring) pring 4786 drivers/scsi/lpfc/lpfc_hbadisc.c spin_lock(&pring->ring_lock); pring 4787 drivers/scsi/lpfc/lpfc_hbadisc.c __lpfc_dequeue_nport_iocbs(phba, ndlp, pring, dequeue_list); pring 4788 drivers/scsi/lpfc/lpfc_hbadisc.c spin_unlock(&pring->ring_lock); pring 5700 drivers/scsi/lpfc/lpfc_hbadisc.c struct lpfc_sli_ring *pring; pring 5702 drivers/scsi/lpfc/lpfc_hbadisc.c pring = lpfc_phba_elsring(phba); pring 5703 drivers/scsi/lpfc/lpfc_hbadisc.c if (unlikely(!pring)) pring 5710 drivers/scsi/lpfc/lpfc_hbadisc.c list_for_each_entry_safe(iocb, next_iocb, &pring->txq, list) { pring 5723 drivers/scsi/lpfc/lpfc_hbadisc.c list_for_each_entry_safe(iocb, next_iocb, &pring->txcmplq, list) { pring 5730 drivers/scsi/lpfc/lpfc_hbadisc.c lpfc_sli_issue_abort_iotag(phba, pring, iocb); pring 923 drivers/scsi/lpfc/lpfc_init.c struct lpfc_sli_ring *pring; pring 932 drivers/scsi/lpfc/lpfc_init.c pring = &psli->sli3_ring[LPFC_ELS_RING]; pring 934 drivers/scsi/lpfc/lpfc_init.c list_splice_init(&pring->postbufq, &buflist); pring 946 drivers/scsi/lpfc/lpfc_init.c pring->postbufq_cnt -= count; pring 966 drivers/scsi/lpfc/lpfc_init.c struct lpfc_sli_ring *pring; pring 973 drivers/scsi/lpfc/lpfc_init.c pring = &psli->sli3_ring[i]; pring 979 drivers/scsi/lpfc/lpfc_init.c list_splice_init(&pring->txcmplq, &completions); pring 980 drivers/scsi/lpfc/lpfc_init.c pring->txcmplq_cnt = 0; pring 983 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_abort_iocb_ring(phba, pring); pring 991 drivers/scsi/lpfc/lpfc_init.c pring = qp->pring; pring 992 drivers/scsi/lpfc/lpfc_init.c if (!pring) pring 994 drivers/scsi/lpfc/lpfc_init.c spin_lock_irq(&pring->ring_lock); pring 996 drivers/scsi/lpfc/lpfc_init.c &pring->txcmplq, list) pring 998 drivers/scsi/lpfc/lpfc_init.c list_splice_init(&pring->txcmplq, &completions); pring 999 drivers/scsi/lpfc/lpfc_init.c pring->txcmplq_cnt = 0; pring 1000 drivers/scsi/lpfc/lpfc_init.c spin_unlock_irq(&pring->ring_lock); pring 1001 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_abort_iocb_ring(phba, pring); pring 2549 drivers/scsi/lpfc/lpfc_init.c lpfc_post_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, int cnt) pring 2555 drivers/scsi/lpfc/lpfc_init.c cnt += pring->missbufcnt; pring 2562 drivers/scsi/lpfc/lpfc_init.c pring->missbufcnt = cnt; pring 2575 drivers/scsi/lpfc/lpfc_init.c pring->missbufcnt = cnt; pring 2591 drivers/scsi/lpfc/lpfc_init.c pring->missbufcnt = cnt; pring 2616 drivers/scsi/lpfc/lpfc_init.c if (lpfc_sli_issue_iocb(phba, pring->ringno, iocb, 0) == pring 2627 drivers/scsi/lpfc/lpfc_init.c pring->missbufcnt = cnt; pring 2630 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_ringpostbuf_put(phba, pring, mp1); pring 2632 drivers/scsi/lpfc/lpfc_init.c lpfc_sli_ringpostbuf_put(phba, pring, mp2); pring 2634 drivers/scsi/lpfc/lpfc_init.c pring->missbufcnt = 0; pring 4905 drivers/scsi/lpfc/lpfc_init.c phba->sli4_hba.els_wq->pring->flag |= LPFC_STOP_IOCB_EVENT; pring 5210 drivers/scsi/lpfc/lpfc_init.c phba->sli4_hba.els_wq->pring->flag |= LPFC_STOP_IOCB_EVENT; pring 9242 drivers/scsi/lpfc/lpfc_init.c struct lpfc_sli_ring *pring; pring 9282 drivers/scsi/lpfc/lpfc_init.c pring = wq->pring; pring 9283 drivers/scsi/lpfc/lpfc_init.c pring->sli.sli4.wqp = (void *)wq; pring 9284 drivers/scsi/lpfc/lpfc_init.c cq->pring = pring; pring 958 drivers/scsi/lpfc/lpfc_mbox.c struct lpfc_sli_ring *pring; pring 968 drivers/scsi/lpfc/lpfc_mbox.c pring = &psli->sli3_ring[i]; pring 970 drivers/scsi/lpfc/lpfc_mbox.c pring->sli.sli3.sizeCiocb = pring 973 drivers/scsi/lpfc/lpfc_mbox.c pring->sli.sli3.sizeRiocb = pring 978 drivers/scsi/lpfc/lpfc_mbox.c if ((pring->sli.sli3.numCiocb == 0) || pring 979 drivers/scsi/lpfc/lpfc_mbox.c (pring->sli.sli3.numRiocb == 0)) { pring 986 drivers/scsi/lpfc/lpfc_mbox.c pring->sli.sli3.cmdringaddr = NULL; pring 987 drivers/scsi/lpfc/lpfc_mbox.c pring->sli.sli3.rspringaddr = NULL; pring 991 drivers/scsi/lpfc/lpfc_mbox.c pring->sli.sli3.cmdringaddr = (void *)&phba->IOCBs[iocbCnt]; pring 992 drivers/scsi/lpfc/lpfc_mbox.c pcbp->rdsc[i].cmdEntries = pring->sli.sli3.numCiocb; pring 999 drivers/scsi/lpfc/lpfc_mbox.c iocbCnt += pring->sli.sli3.numCiocb; pring 1002 drivers/scsi/lpfc/lpfc_mbox.c pring->sli.sli3.rspringaddr = (void *) &phba->IOCBs[iocbCnt]; pring 1004 drivers/scsi/lpfc/lpfc_mbox.c pcbp->rdsc[i].rspEntries = pring->sli.sli3.numRiocb; pring 1010 drivers/scsi/lpfc/lpfc_mbox.c iocbCnt += pring->sli.sli3.numRiocb; pring 1221 drivers/scsi/lpfc/lpfc_mbox.c struct lpfc_sli_ring *pring; pring 1231 drivers/scsi/lpfc/lpfc_mbox.c pring = &psli->sli3_ring[ring]; pring 1232 drivers/scsi/lpfc/lpfc_mbox.c mb->un.varCfgRing.numMask = pring->num_mask; pring 1237 drivers/scsi/lpfc/lpfc_mbox.c if (pring->prt[0].profile) { pring 1238 drivers/scsi/lpfc/lpfc_mbox.c mb->un.varCfgRing.profile = pring->prt[0].profile; pring 1243 drivers/scsi/lpfc/lpfc_mbox.c for (i = 0; i < pring->num_mask; i++) { pring 1244 drivers/scsi/lpfc/lpfc_mbox.c mb->un.varCfgRing.rrRegs[i].rval = pring->prt[i].rctl; pring 1249 drivers/scsi/lpfc/lpfc_mbox.c mb->un.varCfgRing.rrRegs[i].tval = pring->prt[i].type; pring 213 drivers/scsi/lpfc/lpfc_nportdisc.c struct lpfc_sli_ring *pring; pring 216 drivers/scsi/lpfc/lpfc_nportdisc.c pring = lpfc_phba_elsring(phba); pring 219 drivers/scsi/lpfc/lpfc_nportdisc.c if (unlikely(!pring)) pring 238 drivers/scsi/lpfc/lpfc_nportdisc.c spin_lock(&pring->ring_lock); pring 239 drivers/scsi/lpfc/lpfc_nportdisc.c list_for_each_entry_safe(iocb, next_iocb, &pring->txcmplq, list) { pring 241 drivers/scsi/lpfc/lpfc_nportdisc.c if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) pring 245 drivers/scsi/lpfc/lpfc_nportdisc.c spin_unlock(&pring->ring_lock); pring 252 drivers/scsi/lpfc/lpfc_nportdisc.c lpfc_sli_issue_abort_iotag(phba, pring, iocb); pring 261 drivers/scsi/lpfc/lpfc_nportdisc.c spin_lock(&pring->ring_lock); pring 263 drivers/scsi/lpfc/lpfc_nportdisc.c list_for_each_entry_safe(iocb, next_iocb, &pring->txq, list) { pring 265 drivers/scsi/lpfc/lpfc_nportdisc.c if (lpfc_check_sli_ndlp(phba, pring, iocb, ndlp)) { pring 272 drivers/scsi/lpfc/lpfc_nportdisc.c spin_unlock(&pring->ring_lock); pring 708 drivers/scsi/lpfc/lpfc_nvme.c struct lpfc_sli_ring *pring; pring 742 drivers/scsi/lpfc/lpfc_nvme.c pring = phba->sli4_hba.nvmels_wq->pring; pring 744 drivers/scsi/lpfc/lpfc_nvme.c spin_lock(&pring->ring_lock); pring 745 drivers/scsi/lpfc/lpfc_nvme.c list_for_each_entry_safe(wqe, next_wqe, &pring->txcmplq, list) { pring 747 drivers/scsi/lpfc/lpfc_nvme.c if (lpfc_check_sli_ndlp(phba, pring, wqe, ndlp)) { pring 752 drivers/scsi/lpfc/lpfc_nvme.c spin_unlock(&pring->ring_lock); pring 760 drivers/scsi/lpfc/lpfc_nvme.c lpfc_sli_issue_abort_iotag(phba, pring, wqe); pring 2212 drivers/scsi/lpfc/lpfc_nvme.c struct lpfc_sli_ring *pring; pring 2225 drivers/scsi/lpfc/lpfc_nvme.c pring = phba->sli4_hba.hdwq[i].io_wq->pring; pring 2226 drivers/scsi/lpfc/lpfc_nvme.c if (!pring) pring 2228 drivers/scsi/lpfc/lpfc_nvme.c if (pring->txcmplq_cnt) pring 2229 drivers/scsi/lpfc/lpfc_nvme.c pending += pring->txcmplq_cnt; pring 2679 drivers/scsi/lpfc/lpfc_nvme.c struct lpfc_sli_ring *pring; pring 2691 drivers/scsi/lpfc/lpfc_nvme.c pring = phba->sli4_hba.hdwq[i].io_wq->pring; pring 2693 drivers/scsi/lpfc/lpfc_nvme.c if (!pring) pring 2697 drivers/scsi/lpfc/lpfc_nvme.c while (!list_empty(&pring->txcmplq)) { pring 939 drivers/scsi/lpfc/lpfc_nvmet.c struct lpfc_sli_ring *pring; pring 1030 drivers/scsi/lpfc/lpfc_nvmet.c pring = wq->pring; pring 1031 drivers/scsi/lpfc/lpfc_nvmet.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 1034 drivers/scsi/lpfc/lpfc_nvmet.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 1816 drivers/scsi/lpfc/lpfc_nvmet.c struct lpfc_sli_ring *pring; pring 1823 drivers/scsi/lpfc/lpfc_nvmet.c pring = wq->pring; pring 1831 drivers/scsi/lpfc/lpfc_nvmet.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 1838 drivers/scsi/lpfc/lpfc_nvmet.c spin_unlock_irqrestore(&pring->ring_lock, pring 1848 drivers/scsi/lpfc/lpfc_nvmet.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 1850 drivers/scsi/lpfc/lpfc_nvmet.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 1855 drivers/scsi/lpfc/lpfc_nvmet.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 1863 drivers/scsi/lpfc/lpfc_nvmet.c struct lpfc_sli_ring *pring; pring 1873 drivers/scsi/lpfc/lpfc_nvmet.c pring = wq->pring; pring 1874 drivers/scsi/lpfc/lpfc_nvmet.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 1878 drivers/scsi/lpfc/lpfc_nvmet.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 1881 drivers/scsi/lpfc/lpfc_nvmet.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 1885 drivers/scsi/lpfc/lpfc_nvmet.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 1902 drivers/scsi/lpfc/lpfc_nvmet.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 1951 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_ls_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 2395 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_ls_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 2408 drivers/scsi/lpfc/lpfc_nvmet.c lpfc_nvmet_unsol_ls_buffer(phba, pring, nvmebuf); pring 517 drivers/scsi/lpfc/lpfc_scsi.c struct lpfc_sli_ring *pring = phba->sli4_hba.els_wq->pring; pring 571 drivers/scsi/lpfc/lpfc_scsi.c if (!list_empty(&pring->txq)) pring 4760 drivers/scsi/lpfc/lpfc_scsi.c pring_s4 = phba->sli4_hba.hdwq[iocb->hba_wqidx].io_wq->pring; pring 742 drivers/scsi/lpfc/lpfc_sli.c lpfc_cmd_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 744 drivers/scsi/lpfc/lpfc_sli.c return (IOCB_t *) (((char *) pring->sli.sli3.cmdringaddr) + pring 745 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.cmdidx * phba->iocb_cmd_size); pring 759 drivers/scsi/lpfc/lpfc_sli.c lpfc_resp_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 761 drivers/scsi/lpfc/lpfc_sli.c return (IOCB_t *) (((char *) pring->sli.sli3.rspringaddr) + pring 762 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.rspidx * phba->iocb_rsp_size); pring 1119 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring = NULL; pring 1123 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.nvmels_wq->pring; pring 1125 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_phba_elsring(phba); pring 1127 drivers/scsi/lpfc/lpfc_sli.c lockdep_assert_held(&pring->ring_lock); pring 1249 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 1272 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.els_wq->pring; pring 1292 drivers/scsi/lpfc/lpfc_sli.c if (!list_empty(&pring->txq)) pring 1581 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 1585 drivers/scsi/lpfc/lpfc_sli.c lockdep_assert_held(&pring->ring_lock); pring 1591 drivers/scsi/lpfc/lpfc_sli.c list_add_tail(&piocb->list, &pring->txcmplq); pring 1593 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt++; pring 1595 drivers/scsi/lpfc/lpfc_sli.c if ((unlikely(pring->ringno == LPFC_ELS_RING)) && pring 1619 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtx_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 1625 drivers/scsi/lpfc/lpfc_sli.c list_remove_head((&pring->txq), cmd_iocb, struct lpfc_iocbq, list); pring 1644 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_next_iocb_slot (struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 1646 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_pgp *pgp = &phba->port_gp[pring->ringno]; pring 1647 drivers/scsi/lpfc/lpfc_sli.c uint32_t max_cmd_idx = pring->sli.sli3.numCiocb; pring 1651 drivers/scsi/lpfc/lpfc_sli.c if ((pring->sli.sli3.next_cmdidx == pring->sli.sli3.cmdidx) && pring 1652 drivers/scsi/lpfc/lpfc_sli.c (++pring->sli.sli3.next_cmdidx >= max_cmd_idx)) pring 1653 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.next_cmdidx = 0; pring 1655 drivers/scsi/lpfc/lpfc_sli.c if (unlikely(pring->sli.sli3.local_getidx == pring 1656 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.next_cmdidx)) { pring 1658 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.local_getidx = le32_to_cpu(pgp->cmdGetInx); pring 1660 drivers/scsi/lpfc/lpfc_sli.c if (unlikely(pring->sli.sli3.local_getidx >= max_cmd_idx)) { pring 1664 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 1665 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.local_getidx, pring 1681 drivers/scsi/lpfc/lpfc_sli.c if (pring->sli.sli3.local_getidx == pring->sli.sli3.next_cmdidx) pring 1685 drivers/scsi/lpfc/lpfc_sli.c return lpfc_cmd_iocb(phba, pring); pring 1778 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_submit_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 1788 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno == LPFC_ELS_RING) { pring 1801 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_cmd++; pring 1809 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, nextiocb); pring 1817 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.cmdidx = pring->sli.sli3.next_cmdidx; pring 1818 drivers/scsi/lpfc/lpfc_sli.c writel(pring->sli.sli3.cmdidx, &phba->host_gp[pring->ringno].cmdPutInx); pring 1834 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_full_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 1836 drivers/scsi/lpfc/lpfc_sli.c int ringno = pring->ringno; pring 1838 drivers/scsi/lpfc/lpfc_sli.c pring->flag |= LPFC_CALL_RING_AVAILABLE; pring 1849 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_cmd_full++; pring 1862 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 1864 drivers/scsi/lpfc/lpfc_sli.c int ringno = pring->ringno; pring 1886 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_resume_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 1902 drivers/scsi/lpfc/lpfc_sli.c (!list_empty(&pring->txq)) && pring 1903 drivers/scsi/lpfc/lpfc_sli.c (pring->ringno != LPFC_FCP_RING || pring 1906 drivers/scsi/lpfc/lpfc_sli.c while ((iocb = lpfc_sli_next_iocb_slot(phba, pring)) && pring 1907 drivers/scsi/lpfc/lpfc_sli.c (nextiocb = lpfc_sli_ringtx_get(phba, pring))) pring 1908 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_submit_iocb(phba, pring, iocb, nextiocb); pring 1911 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_ring(phba, pring); pring 1913 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_full_ring(phba, pring); pring 2761 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring, pring 2767 drivers/scsi/lpfc/lpfc_sli.c return lpfc_sli_ring_taggedbuf_get(phba, pring, tag); pring 2787 drivers/scsi/lpfc/lpfc_sli.c lpfc_complete_unsol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 2795 drivers/scsi/lpfc/lpfc_sli.c lpfc_nvmet_unsol_ls_event(phba, pring, saveq); pring 2802 drivers/scsi/lpfc/lpfc_sli.c if (pring->prt[0].profile) { pring 2803 drivers/scsi/lpfc/lpfc_sli.c if (pring->prt[0].lpfc_sli_rcv_unsol_event) pring 2804 drivers/scsi/lpfc/lpfc_sli.c (pring->prt[0].lpfc_sli_rcv_unsol_event) (phba, pring, pring 2810 drivers/scsi/lpfc/lpfc_sli.c for (i = 0; i < pring->num_mask; i++) { pring 2811 drivers/scsi/lpfc/lpfc_sli.c if ((pring->prt[i].rctl == fch_r_ctl) && pring 2812 drivers/scsi/lpfc/lpfc_sli.c (pring->prt[i].type == fch_type)) { pring 2813 drivers/scsi/lpfc/lpfc_sli.c if (pring->prt[i].lpfc_sli_rcv_unsol_event) pring 2814 drivers/scsi/lpfc/lpfc_sli.c (pring->prt[i].lpfc_sli_rcv_unsol_event) pring 2815 drivers/scsi/lpfc/lpfc_sli.c (phba, pring, saveq); pring 2837 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_process_unsol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 2849 drivers/scsi/lpfc/lpfc_sli.c if (pring->lpfc_sli_rcv_async_status) pring 2850 drivers/scsi/lpfc/lpfc_sli.c pring->lpfc_sli_rcv_async_status(phba, pring, saveq); pring 2858 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 2866 drivers/scsi/lpfc/lpfc_sli.c dmzbuf = lpfc_sli_get_buff(phba, pring, pring 2872 drivers/scsi/lpfc/lpfc_sli.c dmzbuf = lpfc_sli_get_buff(phba, pring, pring 2878 drivers/scsi/lpfc/lpfc_sli.c dmzbuf = lpfc_sli_get_buff(phba, pring, pring 2888 drivers/scsi/lpfc/lpfc_sli.c saveq->context2 = lpfc_sli_get_buff(phba, pring, pring 2896 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 2900 drivers/scsi/lpfc/lpfc_sli.c saveq->context3 = lpfc_sli_get_buff(phba, pring, pring 2908 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 2914 drivers/scsi/lpfc/lpfc_sli.c iocbq->context2 = lpfc_sli_get_buff(phba, pring, pring 2922 drivers/scsi/lpfc/lpfc_sli.c ". tag 0x%x\n", pring->ringno, pring 2926 drivers/scsi/lpfc/lpfc_sli.c iocbq->context3 = lpfc_sli_get_buff(phba, pring, pring 2935 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 2946 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry(iocbq, &pring->iocb_continue_saveq, clist) { pring 2956 drivers/scsi/lpfc/lpfc_sli.c &pring->iocb_continue_saveq); pring 2975 drivers/scsi/lpfc/lpfc_sli.c if ((Rctl == 0) && (pring->ringno == LPFC_ELS_RING) && pring 2985 drivers/scsi/lpfc/lpfc_sli.c if (!lpfc_complete_unsol_iocb(phba, pring, saveq, Rctl, Type)) pring 2989 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, Rctl, Type); pring 3009 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring, pring 3018 drivers/scsi/lpfc/lpfc_sli.c temp_lock = &pring->ring_lock; pring 3031 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt--; pring 3060 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring, uint16_t iotag) pring 3067 drivers/scsi/lpfc/lpfc_sli.c temp_lock = &pring->ring_lock; pring 3078 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt--; pring 3111 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_process_sol_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 3118 drivers/scsi/lpfc/lpfc_sli.c cmdiocbp = lpfc_sli_iocbq_lookup(phba, pring, saveq); pring 3126 drivers/scsi/lpfc/lpfc_sli.c (pring->ringno == LPFC_ELS_RING) && pring 3136 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno == LPFC_ELS_RING) { pring 3222 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno != LPFC_ELS_RING) { pring 3231 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 3254 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_rsp_pointers_error(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 3256 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_pgp *pgp = &phba->port_gp[pring->ringno]; pring 3264 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, le32_to_cpu(pgp->rspPutInx), pring 3265 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb); pring 3348 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring, uint32_t mask) pring 3350 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_pgp *pgp = &phba->port_gp[pring->ringno]; pring 3363 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_event++; pring 3369 drivers/scsi/lpfc/lpfc_sli.c portRspMax = pring->sli.sli3.numRiocb; pring 3372 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_rsp_pointers_error(phba, pring); pring 3383 drivers/scsi/lpfc/lpfc_sli.c while (pring->sli.sli3.rspidx != portRspPut) { pring 3389 drivers/scsi/lpfc/lpfc_sli.c entry = lpfc_resp_iocb(phba, pring); pring 3392 drivers/scsi/lpfc/lpfc_sli.c if (++pring->sli.sli3.rspidx >= portRspMax) pring 3393 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.rspidx = 0; pring 3402 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_rsp++; pring 3422 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 3450 drivers/scsi/lpfc/lpfc_sli.c cmdiocbq = lpfc_sli_iocbq_lookup(phba, pring, pring 3466 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_process_unsol_iocb(phba, pring, &rspiocbq); pring 3497 drivers/scsi/lpfc/lpfc_sli.c writel(pring->sli.sli3.rspidx, pring 3498 drivers/scsi/lpfc/lpfc_sli.c &phba->host_gp[pring->ringno].rspGetInx); pring 3500 drivers/scsi/lpfc/lpfc_sli.c if (pring->sli.sli3.rspidx == portRspPut) pring 3505 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_rsp_full++; pring 3506 drivers/scsi/lpfc/lpfc_sli.c status = ((CA_R0ATT | CA_R0RE_RSP) << (pring->ringno * 4)); pring 3510 drivers/scsi/lpfc/lpfc_sli.c if ((mask & HA_R0CE_RSP) && (pring->flag & LPFC_CALL_RING_AVAILABLE)) { pring 3511 drivers/scsi/lpfc/lpfc_sli.c pring->flag &= ~LPFC_CALL_RING_AVAILABLE; pring 3512 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_cmd_empty++; pring 3515 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.local_getidx = le32_to_cpu(pgp->cmdGetInx); pring 3516 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_resume_iocb(phba, pring); pring 3518 drivers/scsi/lpfc/lpfc_sli.c if ((pring->lpfc_sli_cmd_available)) pring 3519 drivers/scsi/lpfc/lpfc_sli.c (pring->lpfc_sli_cmd_available) (phba, pring); pring 3547 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_sp_handle_rspiocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 3562 drivers/scsi/lpfc/lpfc_sli.c list_add_tail(&rspiocbp->list, &(pring->iocb_continueq)); pring 3563 drivers/scsi/lpfc/lpfc_sli.c pring->iocb_continueq_cnt++; pring 3573 drivers/scsi/lpfc/lpfc_sli.c saveq = list_get_first(&pring->iocb_continueq, pring 3576 drivers/scsi/lpfc/lpfc_sli.c list_del_init(&pring->iocb_continueq); pring 3577 drivers/scsi/lpfc/lpfc_sli.c pring->iocb_continueq_cnt = 0; pring 3579 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_rsp++; pring 3602 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, pring 3632 drivers/scsi/lpfc/lpfc_sli.c rc = lpfc_sli_process_sol_iocb(phba, pring, saveq); pring 3638 drivers/scsi/lpfc/lpfc_sli.c rc = lpfc_sli_process_unsol_iocb(phba, pring, saveq); pring 3648 drivers/scsi/lpfc/lpfc_sli.c cmdiocbp = lpfc_sli_iocbq_lookup(phba, pring, pring 3715 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring, uint32_t mask) pring 3717 drivers/scsi/lpfc/lpfc_sli.c phba->lpfc_sli_handle_slow_ring_event(phba, pring, mask); pring 3733 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring, uint32_t mask) pring 3743 drivers/scsi/lpfc/lpfc_sli.c pgp = &phba->port_gp[pring->ringno]; pring 3745 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_event++; pring 3751 drivers/scsi/lpfc/lpfc_sli.c portRspMax = pring->sli.sli3.numRiocb; pring 3761 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, portRspPut, portRspMax); pring 3773 drivers/scsi/lpfc/lpfc_sli.c while (pring->sli.sli3.rspidx != portRspPut) { pring 3787 drivers/scsi/lpfc/lpfc_sli.c entry = lpfc_resp_iocb(phba, pring); pring 3801 drivers/scsi/lpfc/lpfc_sli.c if (++pring->sli.sli3.rspidx >= portRspMax) pring 3802 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.rspidx = 0; pring 3804 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno == LPFC_ELS_RING) { pring 3812 drivers/scsi/lpfc/lpfc_sli.c writel(pring->sli.sli3.rspidx, pring 3813 drivers/scsi/lpfc/lpfc_sli.c &phba->host_gp[pring->ringno].rspGetInx); pring 3817 drivers/scsi/lpfc/lpfc_sli.c rspiocbp = lpfc_sli_sp_handle_rspiocb(phba, pring, rspiocbp); pring 3825 drivers/scsi/lpfc/lpfc_sli.c if (pring->sli.sli3.rspidx == portRspPut) { pring 3832 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_rsp_full++; pring 3834 drivers/scsi/lpfc/lpfc_sli.c status = ((CA_R0ATT | CA_R0RE_RSP) << (pring->ringno * 4)); pring 3838 drivers/scsi/lpfc/lpfc_sli.c if ((mask & HA_R0CE_RSP) && (pring->flag & LPFC_CALL_RING_AVAILABLE)) { pring 3839 drivers/scsi/lpfc/lpfc_sli.c pring->flag &= ~LPFC_CALL_RING_AVAILABLE; pring 3840 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_cmd_empty++; pring 3843 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.local_getidx = le32_to_cpu(pgp->cmdGetInx); pring 3844 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_resume_iocb(phba, pring); pring 3846 drivers/scsi/lpfc/lpfc_sli.c if ((pring->lpfc_sli_cmd_available)) pring 3847 drivers/scsi/lpfc/lpfc_sli.c (pring->lpfc_sli_cmd_available) (phba, pring); pring 3869 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring, uint32_t mask) pring 3895 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_sp_handle_rspiocb(phba, pring, pring 3927 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iocb_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring) pring 3932 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno == LPFC_ELS_RING) { pring 3940 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irq(&pring->ring_lock); pring 3941 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txq, &completions); pring 3942 drivers/scsi/lpfc/lpfc_sli.c pring->txq_cnt = 0; pring 3943 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irq(&pring->ring_lock); pring 3947 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry_safe(iocb, next_iocb, &pring->txcmplq, list) pring 3948 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_abort_iotag(phba, pring, iocb); pring 3952 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txq, &completions); pring 3953 drivers/scsi/lpfc/lpfc_sli.c pring->txq_cnt = 0; pring 3956 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry_safe(iocb, next_iocb, &pring->txcmplq, list) pring 3957 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_abort_iotag(phba, pring, iocb); pring 3980 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 3986 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.hdwq[i].io_wq->pring; pring 3987 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iocb_ring(phba, pring); pring 3990 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[LPFC_FCP_RING]; pring 3991 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iocb_ring(phba, pring); pring 4011 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 4028 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.hdwq[i].io_wq->pring; pring 4030 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irq(&pring->ring_lock); pring 4032 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txq, &txq); pring 4034 drivers/scsi/lpfc/lpfc_sli.c &pring->txcmplq, list) pring 4037 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txcmplq, &txcmplq); pring 4038 drivers/scsi/lpfc/lpfc_sli.c pring->txq_cnt = 0; pring 4039 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt = 0; pring 4040 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irq(&pring->ring_lock); pring 4052 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[LPFC_FCP_RING]; pring 4056 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txq, &txq); pring 4058 drivers/scsi/lpfc/lpfc_sli.c &pring->txcmplq, list) pring 4061 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txcmplq, &txcmplq); pring 4062 drivers/scsi/lpfc/lpfc_sli.c pring->txq_cnt = 0; pring 4063 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt = 0; pring 4412 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 4454 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[i]; pring 4455 drivers/scsi/lpfc/lpfc_sli.c pring->flag = 0; pring 4456 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.rspidx = 0; pring 4457 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.next_cmdidx = 0; pring 4458 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.local_getidx = 0; pring 4459 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.cmdidx = 0; pring 4460 drivers/scsi/lpfc/lpfc_sli.c pring->missbufcnt = 0; pring 8982 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_ringtx_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 8987 drivers/scsi/lpfc/lpfc_sli.c list_add_tail(&piocb->list, &pring->txq); pring 9008 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_next_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 9015 drivers/scsi/lpfc/lpfc_sli.c nextiocb = lpfc_sli_ringtx_get(phba, pring); pring 9052 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring = &phba->sli.sli3_ring[ring_number]; pring 9086 drivers/scsi/lpfc/lpfc_sli.c if (unlikely(pring->flag & LPFC_STOP_IOCB_EVENT)) pring 9126 drivers/scsi/lpfc/lpfc_sli.c } else if (unlikely(pring->ringno == LPFC_FCP_RING && pring 9131 drivers/scsi/lpfc/lpfc_sli.c while ((iocb = lpfc_sli_next_iocb_slot(phba, pring)) && pring 9132 drivers/scsi/lpfc/lpfc_sli.c (nextiocb = lpfc_sli_next_iocb(phba, pring, &piocb))) pring 9133 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_submit_iocb(phba, pring, iocb, nextiocb); pring 9136 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_ring(phba, pring); pring 9138 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_update_full_ring(phba, pring); pring 9146 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_cmd_delay++; pring 9151 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_ringtx_put(phba, pring, piocb); pring 9887 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 9898 drivers/scsi/lpfc/lpfc_sli.c pring = wq->pring; pring 9904 drivers/scsi/lpfc/lpfc_sli.c lockdep_assert_held(&pring->ring_lock); pring 9911 drivers/scsi/lpfc/lpfc_sli.c if (!list_empty(&pring->txq)) { pring 9914 drivers/scsi/lpfc/lpfc_sli.c pring, piocb); pring 9924 drivers/scsi/lpfc/lpfc_sli.c pring, pring 9957 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, piocb); pring 10039 drivers/scsi/lpfc/lpfc_sli.c return phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq->pring; pring 10044 drivers/scsi/lpfc/lpfc_sli.c return phba->sli4_hba.els_wq->pring; pring 10065 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10073 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_sli4_calc_ring(phba, piocb); pring 10074 drivers/scsi/lpfc/lpfc_sli.c if (unlikely(pring == NULL)) pring 10077 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 10079 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 10106 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10113 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[LPFC_FCP_RING]; pring 10114 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb -= SLI2_IOCB_CMD_R1XTRA_ENTRIES; pring 10115 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb -= SLI2_IOCB_RSP_R1XTRA_ENTRIES; pring 10116 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb -= SLI2_IOCB_CMD_R3XTRA_ENTRIES; pring 10117 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb -= SLI2_IOCB_RSP_R3XTRA_ENTRIES; pring 10120 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[LPFC_EXTRA_RING]; pring 10122 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb += SLI2_IOCB_CMD_R1XTRA_ENTRIES; pring 10123 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb += SLI2_IOCB_RSP_R1XTRA_ENTRIES; pring 10124 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb += SLI2_IOCB_CMD_R3XTRA_ENTRIES; pring 10125 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb += SLI2_IOCB_RSP_R3XTRA_ENTRIES; pring 10128 drivers/scsi/lpfc/lpfc_sli.c pring->iotag_max = 4096; pring 10129 drivers/scsi/lpfc/lpfc_sli.c pring->num_mask = 1; pring 10130 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].profile = 0; /* Mask 0 */ pring 10131 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].rctl = phba->cfg_multi_ring_rctl; pring 10132 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].type = phba->cfg_multi_ring_type; pring 10133 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].lpfc_sli_rcv_unsol_event = NULL; pring 10245 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring * pring, struct lpfc_iocbq * iocbq) pring 10293 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, icmd->un.asyncstat.evt_code, pring 10318 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10320 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.els_wq->pring; pring 10321 drivers/scsi/lpfc/lpfc_sli.c pring->num_mask = LPFC_MAX_RING_MASK; pring 10322 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].profile = 0; /* Mask 0 */ pring 10323 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].rctl = FC_RCTL_ELS_REQ; pring 10324 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].type = FC_TYPE_ELS; pring 10325 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].lpfc_sli_rcv_unsol_event = pring 10327 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].profile = 0; /* Mask 1 */ pring 10328 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].rctl = FC_RCTL_ELS_REP; pring 10329 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].type = FC_TYPE_ELS; pring 10330 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].lpfc_sli_rcv_unsol_event = pring 10332 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].profile = 0; /* Mask 2 */ pring 10334 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].rctl = FC_RCTL_DD_UNSOL_CTL; pring 10336 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].type = FC_TYPE_CT; pring 10337 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].lpfc_sli_rcv_unsol_event = pring 10339 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].profile = 0; /* Mask 3 */ pring 10341 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].rctl = FC_RCTL_DD_SOL_CTL; pring 10343 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].type = FC_TYPE_CT; pring 10344 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].lpfc_sli_rcv_unsol_event = pring 10365 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10375 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[i]; pring 10379 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb = SLI2_IOCB_CMD_R0_ENTRIES; pring 10380 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb = SLI2_IOCB_RSP_R0_ENTRIES; pring 10381 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb += pring 10383 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb += pring 10385 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb += pring 10387 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb += pring 10389 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ? pring 10392 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ? pring 10395 drivers/scsi/lpfc/lpfc_sli.c pring->iotag_ctr = 0; pring 10396 drivers/scsi/lpfc/lpfc_sli.c pring->iotag_max = pring 10398 drivers/scsi/lpfc/lpfc_sli.c pring->fast_iotag = pring->iotag_max; pring 10399 drivers/scsi/lpfc/lpfc_sli.c pring->num_mask = 0; pring 10403 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb = SLI2_IOCB_CMD_R1_ENTRIES; pring 10404 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb = SLI2_IOCB_RSP_R1_ENTRIES; pring 10405 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ? pring 10408 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ? pring 10411 drivers/scsi/lpfc/lpfc_sli.c pring->iotag_max = phba->cfg_hba_queue_depth; pring 10412 drivers/scsi/lpfc/lpfc_sli.c pring->num_mask = 0; pring 10416 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numCiocb = SLI2_IOCB_CMD_R2_ENTRIES; pring 10417 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.numRiocb = SLI2_IOCB_RSP_R2_ENTRIES; pring 10418 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.sizeCiocb = (phba->sli_rev == 3) ? pring 10421 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.sizeRiocb = (phba->sli_rev == 3) ? pring 10424 drivers/scsi/lpfc/lpfc_sli.c pring->fast_iotag = 0; pring 10425 drivers/scsi/lpfc/lpfc_sli.c pring->iotag_ctr = 0; pring 10426 drivers/scsi/lpfc/lpfc_sli.c pring->iotag_max = 4096; pring 10427 drivers/scsi/lpfc/lpfc_sli.c pring->lpfc_sli_rcv_async_status = pring 10429 drivers/scsi/lpfc/lpfc_sli.c pring->num_mask = LPFC_MAX_RING_MASK; pring 10430 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].profile = 0; /* Mask 0 */ pring 10431 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].rctl = FC_RCTL_ELS_REQ; pring 10432 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].type = FC_TYPE_ELS; pring 10433 drivers/scsi/lpfc/lpfc_sli.c pring->prt[0].lpfc_sli_rcv_unsol_event = pring 10435 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].profile = 0; /* Mask 1 */ pring 10436 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].rctl = FC_RCTL_ELS_REP; pring 10437 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].type = FC_TYPE_ELS; pring 10438 drivers/scsi/lpfc/lpfc_sli.c pring->prt[1].lpfc_sli_rcv_unsol_event = pring 10440 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].profile = 0; /* Mask 2 */ pring 10442 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].rctl = FC_RCTL_DD_UNSOL_CTL; pring 10444 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].type = FC_TYPE_CT; pring 10445 drivers/scsi/lpfc/lpfc_sli.c pring->prt[2].lpfc_sli_rcv_unsol_event = pring 10447 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].profile = 0; /* Mask 3 */ pring 10449 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].rctl = FC_RCTL_DD_SOL_CTL; pring 10451 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].type = FC_TYPE_CT; pring 10452 drivers/scsi/lpfc/lpfc_sli.c pring->prt[3].lpfc_sli_rcv_unsol_event = pring 10456 drivers/scsi/lpfc/lpfc_sli.c totiocbsize += (pring->sli.sli3.numCiocb * pring 10457 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.sizeCiocb) + pring 10458 drivers/scsi/lpfc/lpfc_sli.c (pring->sli.sli3.numRiocb * pring->sli.sli3.sizeRiocb); pring 10488 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10497 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.hdwq[i].io_wq->pring; pring 10498 drivers/scsi/lpfc/lpfc_sli.c pring->flag = 0; pring 10499 drivers/scsi/lpfc/lpfc_sli.c pring->ringno = LPFC_FCP_RING; pring 10500 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt = 0; pring 10501 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txq); pring 10502 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txcmplq); pring 10503 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->iocb_continueq); pring 10504 drivers/scsi/lpfc/lpfc_sli.c spin_lock_init(&pring->ring_lock); pring 10506 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.els_wq->pring; pring 10507 drivers/scsi/lpfc/lpfc_sli.c pring->flag = 0; pring 10508 drivers/scsi/lpfc/lpfc_sli.c pring->ringno = LPFC_ELS_RING; pring 10509 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt = 0; pring 10510 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txq); pring 10511 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txcmplq); pring 10512 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->iocb_continueq); pring 10513 drivers/scsi/lpfc/lpfc_sli.c spin_lock_init(&pring->ring_lock); pring 10516 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.nvmels_wq->pring; pring 10517 drivers/scsi/lpfc/lpfc_sli.c pring->flag = 0; pring 10518 drivers/scsi/lpfc/lpfc_sli.c pring->ringno = LPFC_ELS_RING; pring 10519 drivers/scsi/lpfc/lpfc_sli.c pring->txcmplq_cnt = 0; pring 10520 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txq); pring 10521 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txcmplq); pring 10522 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->iocb_continueq); pring 10523 drivers/scsi/lpfc/lpfc_sli.c spin_lock_init(&pring->ring_lock); pring 10544 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10553 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[i]; pring 10554 drivers/scsi/lpfc/lpfc_sli.c pring->ringno = i; pring 10555 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.next_cmdidx = 0; pring 10556 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.local_getidx = 0; pring 10557 drivers/scsi/lpfc/lpfc_sli.c pring->sli.sli3.cmdidx = 0; pring 10558 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->iocb_continueq); pring 10559 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->iocb_continue_saveq); pring 10560 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->postbufq); pring 10561 drivers/scsi/lpfc/lpfc_sli.c pring->flag = 0; pring 10562 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txq); pring 10563 drivers/scsi/lpfc/lpfc_sli.c INIT_LIST_HEAD(&pring->txcmplq); pring 10564 drivers/scsi/lpfc/lpfc_sli.c spin_lock_init(&pring->ring_lock); pring 10646 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10663 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[i]; pring 10664 drivers/scsi/lpfc/lpfc_sli.c prev_pring_flag = pring->flag; pring 10666 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno == LPFC_ELS_RING) { pring 10667 drivers/scsi/lpfc/lpfc_sli.c pring->flag |= LPFC_DEFERRED_RING_EVENT; pring 10672 drivers/scsi/lpfc/lpfc_sli.c &pring->txq, list) { pring 10678 drivers/scsi/lpfc/lpfc_sli.c &pring->txcmplq, list) { pring 10681 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_abort_iotag(phba, pring, iocb); pring 10683 drivers/scsi/lpfc/lpfc_sli.c pring->flag = prev_pring_flag; pring 10687 drivers/scsi/lpfc/lpfc_sli.c pring = qp->pring; pring 10688 drivers/scsi/lpfc/lpfc_sli.c if (!pring) pring 10690 drivers/scsi/lpfc/lpfc_sli.c if (pring == phba->sli4_hba.els_wq->pring) { pring 10691 drivers/scsi/lpfc/lpfc_sli.c pring->flag |= LPFC_DEFERRED_RING_EVENT; pring 10695 drivers/scsi/lpfc/lpfc_sli.c prev_pring_flag = pring->flag; pring 10696 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irq(&pring->ring_lock); pring 10698 drivers/scsi/lpfc/lpfc_sli.c &pring->txq, list) { pring 10703 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irq(&pring->ring_lock); pring 10705 drivers/scsi/lpfc/lpfc_sli.c &pring->txcmplq, list) { pring 10708 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_abort_iotag(phba, pring, iocb); pring 10710 drivers/scsi/lpfc/lpfc_sli.c pring->flag = prev_pring_flag; pring 10742 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 10765 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[i]; pring 10767 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno == LPFC_ELS_RING) { pring 10768 drivers/scsi/lpfc/lpfc_sli.c pring->flag |= LPFC_DEFERRED_RING_EVENT; pring 10772 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txq, &completions); pring 10776 drivers/scsi/lpfc/lpfc_sli.c pring = qp->pring; pring 10777 drivers/scsi/lpfc/lpfc_sli.c if (!pring) pring 10779 drivers/scsi/lpfc/lpfc_sli.c spin_lock(&pring->ring_lock); pring 10780 drivers/scsi/lpfc/lpfc_sli.c list_splice_init(&pring->txq, &completions); pring 10781 drivers/scsi/lpfc/lpfc_sli.c spin_unlock(&pring->ring_lock); pring 10782 drivers/scsi/lpfc/lpfc_sli.c if (pring == phba->sli4_hba.els_wq->pring) { pring 10783 drivers/scsi/lpfc/lpfc_sli.c pring->flag |= LPFC_DEFERRED_RING_EVENT; pring 10889 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringpostbuf_put(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 10895 drivers/scsi/lpfc/lpfc_sli.c list_add_tail(&mp->list, &pring->postbufq); pring 10896 drivers/scsi/lpfc/lpfc_sli.c pring->postbufq_cnt++; pring 10942 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ring_taggedbuf_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 10946 drivers/scsi/lpfc/lpfc_sli.c struct list_head *slp = &pring->postbufq; pring 10950 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry_safe(mp, next_mp, &pring->postbufq, list) { pring 10953 drivers/scsi/lpfc/lpfc_sli.c pring->postbufq_cnt--; pring 10963 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, (unsigned long) tag, pring 10964 drivers/scsi/lpfc/lpfc_sli.c slp->next, slp->prev, pring->postbufq_cnt); pring 10986 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringpostbuf_get(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 10990 drivers/scsi/lpfc/lpfc_sli.c struct list_head *slp = &pring->postbufq; pring 10994 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry_safe(mp, next_mp, &pring->postbufq, list) { pring 10997 drivers/scsi/lpfc/lpfc_sli.c pring->postbufq_cnt--; pring 11007 drivers/scsi/lpfc/lpfc_sli.c pring->ringno, (unsigned long long)phys, pring 11008 drivers/scsi/lpfc/lpfc_sli.c slp->next, slp->prev, pring->postbufq_cnt); pring 11117 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iotag_issue(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 11159 drivers/scsi/lpfc/lpfc_sli.c if (pring->ringno == LPFC_ELS_RING) { pring 11190 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_sli4_calc_ring(phba, abtsiocbp); pring 11191 drivers/scsi/lpfc/lpfc_sli.c if (unlikely(pring == NULL)) pring 11194 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 11195 drivers/scsi/lpfc/lpfc_sli.c retval = __lpfc_sli_issue_iocb(phba, pring->ringno, pring 11197 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 11199 drivers/scsi/lpfc/lpfc_sli.c retval = __lpfc_sli_issue_iocb(phba, pring->ringno, pring 11228 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_issue_abort_iotag(struct lpfc_hba *phba, struct lpfc_sli_ring *pring, pring 11248 drivers/scsi/lpfc/lpfc_sli.c if (!pring) { pring 11261 drivers/scsi/lpfc/lpfc_sli.c (pring->ringno == LPFC_ELS_RING)) { pring 11270 drivers/scsi/lpfc/lpfc_sli.c retval = lpfc_sli_abort_iotag_issue(phba, pring, cmdiocb); pring 11291 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 11297 drivers/scsi/lpfc/lpfc_sli.c pring = &psli->sli3_ring[i]; pring 11298 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iocb_ring(phba, pring); pring 11303 drivers/scsi/lpfc/lpfc_sli.c pring = qp->pring; pring 11304 drivers/scsi/lpfc/lpfc_sli.c if (!pring) pring 11306 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iocb_ring(phba, pring); pring 11464 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_iocb(struct lpfc_vport *vport, struct lpfc_sli_ring *pring, pring 11535 drivers/scsi/lpfc/lpfc_sli.c ret_val = lpfc_sli_issue_iocb(phba, pring->ringno, pring 11570 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_abort_taskmgmt(struct lpfc_vport *vport, struct lpfc_sli_ring *pring, pring 11610 drivers/scsi/lpfc/lpfc_sli.c phba->sli4_hba.hdwq[iocbq->hba_wqidx].io_wq->pring; pring 11681 drivers/scsi/lpfc/lpfc_sli.c ret_val = __lpfc_sli_issue_iocb(phba, pring->ringno, pring 11840 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 11845 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_sli4_calc_ring(phba, piocb); pring 11847 drivers/scsi/lpfc/lpfc_sli.c pring = &phba->sli.sli3_ring[ring_number]; pring 11912 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry(iocb, &pring->txq, list) { pring 11915 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry(iocb, &pring->txcmplq, list) { pring 12643 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 12688 drivers/scsi/lpfc/lpfc_sli.c pring = &phba->sli.sli3_ring[LPFC_FCP_RING]; pring 12690 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_handle_fast_ring_event(phba, pring, status); pring 12985 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 12990 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_phba_elsring(phba); pring 12991 drivers/scsi/lpfc/lpfc_sli.c if (unlikely(!pring)) pring 12995 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_event++; pring 12997 drivers/scsi/lpfc/lpfc_sli.c cmdiocbq = lpfc_sli_iocbq_lookup_by_tag(phba, pring, pring 13009 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 13011 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, cmdiocbq); pring 13012 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 13238 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring = cq->pring; pring 13257 drivers/scsi/lpfc/lpfc_sli.c if (!list_empty(&pring->txq)) pring 13259 drivers/scsi/lpfc/lpfc_sli.c if (!list_empty(&pring->txcmplq)) pring 13752 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring = cq->pring; pring 13778 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 13779 drivers/scsi/lpfc/lpfc_sli.c pring->stats.iocb_event++; pring 13780 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 13781 drivers/scsi/lpfc/lpfc_sli.c cmdiocbq = lpfc_sli_iocbq_lookup_by_tag(phba, pring, pring 15714 drivers/scsi/lpfc/lpfc_sli.c wq->pring = kzalloc(sizeof(struct lpfc_sli_ring), GFP_KERNEL); pring 15715 drivers/scsi/lpfc/lpfc_sli.c if (wq->pring == NULL) { pring 16429 drivers/scsi/lpfc/lpfc_sli.c kfree(wq->pring); pring 16430 drivers/scsi/lpfc/lpfc_sli.c wq->pring = NULL; pring 17891 drivers/scsi/lpfc/lpfc_sli.c phba->sli4_hba.els_wq->pring, pring 19600 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 19614 drivers/scsi/lpfc/lpfc_sli.c pring = wq->pring; pring 19619 drivers/scsi/lpfc/lpfc_sli.c pring = lpfc_phba_elsring(phba); pring 19622 drivers/scsi/lpfc/lpfc_sli.c if (unlikely(!pring) || list_empty(&pring->txq)) pring 19625 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 19626 drivers/scsi/lpfc/lpfc_sli.c list_for_each_entry(piocbq, &pring->txq, list) { pring 19630 drivers/scsi/lpfc/lpfc_sli.c if (txq_cnt > pring->txq_max) pring 19631 drivers/scsi/lpfc/lpfc_sli.c pring->txq_max = txq_cnt; pring 19633 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19635 drivers/scsi/lpfc/lpfc_sli.c while (!list_empty(&pring->txq)) { pring 19636 drivers/scsi/lpfc/lpfc_sli.c spin_lock_irqsave(&pring->ring_lock, iflags); pring 19638 drivers/scsi/lpfc/lpfc_sli.c piocbq = lpfc_sli_ringtx_get(phba, pring); pring 19640 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19648 drivers/scsi/lpfc/lpfc_sli.c __lpfc_sli_ringtx_put(phba, pring, piocbq); pring 19649 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19666 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, piocbq); pring 19677 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19826 drivers/scsi/lpfc/lpfc_sli.c struct lpfc_sli_ring *pring; pring 19832 drivers/scsi/lpfc/lpfc_sli.c pring = phba->sli4_hba.nvmels_wq->pring; pring 19833 drivers/scsi/lpfc/lpfc_sli.c lpfc_qp_spin_lock_irqsave(&pring->ring_lock, iflags, pring 19837 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19843 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19850 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19854 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, pwqe); pring 19855 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19865 drivers/scsi/lpfc/lpfc_sli.c pring = wq->pring; pring 19869 drivers/scsi/lpfc/lpfc_sli.c lpfc_qp_spin_lock_irqsave(&pring->ring_lock, iflags, pring 19873 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19876 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, pwqe); pring 19877 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19887 drivers/scsi/lpfc/lpfc_sli.c pring = wq->pring; pring 19899 drivers/scsi/lpfc/lpfc_sli.c lpfc_qp_spin_lock_irqsave(&pring->ring_lock, iflags, pring 19903 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19906 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_ringtxcmpl_put(phba, pring, pwqe); pring 19907 drivers/scsi/lpfc/lpfc_sli.c spin_unlock_irqrestore(&pring->ring_lock, iflags); pring 19946 drivers/scsi/lpfc/lpfc_sli.c txcmplq_cnt = qp->io_wq->pring->txcmplq_cnt; pring 20016 drivers/scsi/lpfc/lpfc_sli.c txcmplq_cnt = qp->io_wq->pring->txcmplq_cnt; pring 20300 drivers/scsi/lpfc/lpfc_sli.c txcmplq_cnt = qp->io_wq->pring->txcmplq_cnt; pring 202 drivers/scsi/lpfc/lpfc_sli4.h struct lpfc_sli_ring *pring; /* ptr to io ring associated with q */