Lines Matching refs:pvt_pool

21512 	struct lpfc_pvt_pool *pvt_pool;
21522 pvt_pool = &qp->p_multixri_pool->pvt_pool;
21527 multixri_pool->stat_pvt_count = pvt_pool->count;
21601 multixri_pool->pvt_pool.high_watermark = new_watermark;
21614 * This routine is called from hearbeat timer when pvt_pool is idle.
21622 struct lpfc_pvt_pool *pvt_pool;
21632 pvt_pool = &qp->p_multixri_pool->pvt_pool;
21636 lpfc_qp_spin_lock(&pvt_pool->lock, qp, mv_from_pvt_pool);
21638 if (pvt_pool->count > pvt_pool->low_watermark) {
21639 /* Step 1: move (all - low_watermark) from pvt_pool
21643 /* Move low watermark of bufs from pvt_pool to tmp_list */
21646 &pvt_pool->list, list) {
21649 if (tmp_count >= pvt_pool->low_watermark)
21653 /* Move all bufs from pvt_pool to pbl_pool */
21654 list_splice_init(&pvt_pool->list, &pbl_pool->list);
21656 /* Move all bufs from tmp_list to pvt_pool */
21657 list_splice(&tmp_list, &pvt_pool->list);
21659 pbl_pool->count += (pvt_pool->count - tmp_count);
21660 pvt_pool->count = tmp_count;
21662 /* Step 2: move the rest from pvt_pool to pbl_pool */
21663 list_splice_init(&pvt_pool->list, &pbl_pool->list);
21664 pbl_pool->count += pvt_pool->count;
21665 pvt_pool->count = 0;
21668 spin_unlock(&pvt_pool->lock);
21677 * @pvt_pool: specified private free XRI pool
21681 * to the specified pvt_pool. It might move less than count XRIs if there's not
21686 * specified pvt_pool
21692 struct lpfc_pvt_pool *pvt_pool, u32 count)
21703 lpfc_qp_spin_lock(&pvt_pool->lock, qp, mv_to_pvt_pool);
21709 &pvt_pool->list);
21710 pvt_pool->count++;
21717 spin_unlock(&pvt_pool->lock);
21743 struct lpfc_pvt_pool *pvt_pool;
21752 pvt_pool = &multixri_pool->pvt_pool;
21756 ret = _lpfc_move_xri_pbl_to_pvt(phba, qp, pbl_pool, pvt_pool, count);
21779 phba, qp, pbl_pool, pvt_pool, count);
21803 * lpfc_keep_pvt_pool_above_lowwm - Keep pvt_pool above low watermark
21807 * This routine get a batch of XRIs from pbl_pool if pvt_pool is less than
21813 struct lpfc_pvt_pool *pvt_pool;
21816 pvt_pool = &multixri_pool->pvt_pool;
21818 if (pvt_pool->count < pvt_pool->low_watermark)
21830 * the IO buf is returned to pbl_pool or pvt_pool based on watermark and
21839 struct lpfc_pvt_pool *pvt_pool;
21876 pvt_pool = &qp->p_multixri_pool->pvt_pool;
21882 xri_owned = pvt_pool->count + txcmplq_cnt + abts_io_bufs;
21895 if ((pvt_pool->count < pvt_pool->low_watermark) ||
21897 pvt_pool->count < pvt_pool->high_watermark)) {
21898 lpfc_qp_spin_lock_irqsave(&pvt_pool->lock, iflag,
21901 &pvt_pool->list);
21902 pvt_pool->count++;
21903 spin_unlock_irqrestore(&pvt_pool->lock, iflag);
21927 * @pvt_pool: pointer to private pool data structure.
21939 struct lpfc_pvt_pool *pvt_pool,
21946 lpfc_qp_spin_lock_irqsave(&pvt_pool->lock, iflag, qp, alloc_pvt_pool);
21948 &pvt_pool->list, list) {
21953 pvt_pool->count--;
21954 spin_unlock_irqrestore(&pvt_pool->lock, iflag);
21957 spin_unlock_irqrestore(&pvt_pool->lock, iflag);
22010 * 3. If we fail to get one from pvt_pool and this is an expedite request,
22027 struct lpfc_pvt_pool *pvt_pool;
22045 pvt_pool = &multixri_pool->pvt_pool;
22046 if (!pvt_pool) {
22049 "5558 NULL pvt_pool for hwqid x%x\n", hwqid);
22054 /* If pvt_pool is empty, move some XRIs from public to private pool */
22055 if (pvt_pool->count == 0)
22059 lpfc_ncmd = lpfc_get_io_buf_from_private_pool(phba, qp, pvt_pool, ndlp);
22065 /* If we fail to get one from pvt_pool and this is an expedite