Lines Matching refs:pbl_pool
20356 struct lpfc_pbl_pool *pbl_pool;
20366 pbl_pool = &qp->p_multixri_pool->pbl_pool;
20369 multixri_pool->stat_pbl_count = pbl_pool->count;
20464 struct lpfc_pbl_pool *pbl_pool;
20474 pbl_pool = &qp->p_multixri_pool->pbl_pool;
20478 lpfc_qp_spin_lock_irqsave(&pbl_pool->lock, iflag, qp, mv_to_pub_pool);
20483 * to pbl_pool
20496 /* Move all bufs from pvt_pool to pbl_pool */
20497 list_splice_init(&pvt_pool->list, &pbl_pool->list);
20502 pbl_pool->count += (pvt_pool->count - tmp_count);
20505 /* Step 2: move the rest from pvt_pool to pbl_pool */
20506 list_splice_init(&pvt_pool->list, &pbl_pool->list);
20507 pbl_pool->count += pvt_pool->count;
20512 spin_unlock_irqrestore(&pbl_pool->lock, iflag);
20519 * @pbl_pool: specified public free XRI pool
20523 * This routine tries to move some free common bufs from the specified pbl_pool
20528 * true - if XRIs are successfully moved from the specified pbl_pool to the
20530 * false - if the specified pbl_pool is empty or locked by someone else
20534 struct lpfc_pbl_pool *pbl_pool,
20542 ret = spin_trylock_irqsave(&pbl_pool->lock, iflag);
20544 if (pbl_pool->count) {
20549 &pbl_pool->list,
20554 pbl_pool->count--;
20561 spin_unlock_irqrestore(&pbl_pool->lock, iflag);
20564 spin_unlock_irqrestore(&pbl_pool->lock, iflag);
20587 struct lpfc_pbl_pool *pbl_pool;
20596 pbl_pool = &multixri_pool->pbl_pool;
20598 /* Check if local pbl_pool is available */
20599 ret = _lpfc_move_xri_pbl_to_pvt(phba, qp, pbl_pool, pvt_pool, count);
20618 pbl_pool = &next_multixri_pool->pbl_pool;
20622 phba, qp, pbl_pool, pvt_pool, count);
20650 * This routine get a batch of XRIs from pbl_pool if pvt_pool is less than
20673 * the IO buf is returned to pbl_pool or pvt_pool based on watermark and
20681 struct lpfc_pbl_pool *pbl_pool;
20719 pbl_pool = &qp->p_multixri_pool->pbl_pool;
20749 lpfc_qp_spin_lock_irqsave(&pbl_pool->lock, iflag,
20752 &pbl_pool->list);
20753 pbl_pool->count++;
20754 spin_unlock_irqrestore(&pbl_pool->lock, iflag);