Lines Matching full:pbl
507 struct qedr_pbl_info *pbl_info, struct qedr_pbl *pbl) in qedr_free_pbl() argument
513 if (!pbl[i].va) in qedr_free_pbl()
516 pbl[i].va, pbl[i].pa); in qedr_free_pbl()
519 kfree(pbl); in qedr_free_pbl()
554 /* Two-Layer PBLs, if we have more than one pbl we need to initialize in qedr_alloc_pbl_tbl()
583 DP_ERR(dev, "prepare pbl table: too many pages %d\n", in qedr_prepare_pbl_tbl()
588 /* calculate required pbl page size */ in qedr_prepare_pbl_tbl()
603 /* One layered PBL */ in qedr_prepare_pbl_tbl()
615 "prepare pbl table: num_pbes=%d, num_pbls=%d, pbl_size=%d\n", in qedr_prepare_pbl_tbl()
622 struct qedr_pbl *pbl, in qedr_populate_pbls() argument
633 /* If we have a two layered pbl, the first pbl points to the rest in qedr_populate_pbls()
634 * of the pbls and the first entry lays on the second pbl in the table in qedr_populate_pbls()
637 pbl_tbl = &pbl[1]; in qedr_populate_pbls()
639 pbl_tbl = pbl; in qedr_populate_pbls()
643 DP_ERR(dev, "cannot populate PBL due to a NULL PBE\n"); in qedr_populate_pbls()
662 /* If the given pbl is full storing the pbes, move to next pbl. in qedr_populate_pbls()
729 cq->latest_cqe = qed_chain_consume(&cq->pbl); in consume_cqe()
980 rc = dev->ops->common->chain_alloc(dev->cdev, &cq->pbl, in qedr_create_cq()
985 page_cnt = qed_chain_get_page_cnt(&cq->pbl); in qedr_create_cq()
986 pbl_ptr = qed_chain_get_pbl_phys(&cq->pbl); in qedr_create_cq()
987 cq->ibcq.cqe = cq->pbl.capacity; in qedr_create_cq()
1021 cq->toggle_cqe = qed_chain_get_last_elem(&cq->pbl); in qedr_create_cq()
1025 cq->cq_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_create_cq()
1050 dev->ops->common->chain_free(dev->cdev, &cq->pbl); in qedr_create_cq()
1079 dev->ops->common->chain_free(dev->cdev, &cq->pbl); in qedr_destroy_cq()
1335 qed_chain_reset(&qph->pbl); in qedr_reset_qp_hwq_info()
1459 dev->ops->common->chain_free(dev->cdev, &hw_srq->pbl); in qedr_free_srq_kernel_params()
1527 rc = dev->ops->common->chain_alloc(dev->cdev, &hw_srq->pbl, ¶ms); in qedr_alloc_srq_kernel_params()
1593 struct qed_chain *pbl; in qedr_create_srq() local
1599 pbl = &hw_srq->pbl; in qedr_create_srq()
1600 page_cnt = qed_chain_get_page_cnt(pbl); in qedr_create_srq()
1601 pbl_base_addr = qed_chain_get_pbl_phys(pbl); in qedr_create_srq()
2038 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, ¶ms); in qedr_roce_create_kernel_qp()
2042 in_params->sq_num_pages = qed_chain_get_page_cnt(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2043 in_params->sq_pbl_ptr = qed_chain_get_pbl_phys(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2049 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, ¶ms); in qedr_roce_create_kernel_qp()
2053 in_params->rq_num_pages = qed_chain_get_page_cnt(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2054 in_params->rq_pbl_ptr = qed_chain_get_pbl_phys(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2104 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, ¶ms); in qedr_iwarp_create_kernel_qp()
2114 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, ¶ms); in qedr_iwarp_create_kernel_qp()
2131 dev->ops->common->chain_free(dev->cdev, &qp->sq.pbl); in qedr_cleanup_kernel()
2134 dev->ops->common->chain_free(dev->cdev, &qp->rq.pbl); in qedr_cleanup_kernel()
2887 struct qedr_pbl *pbl, *tmp; in free_mr_info() local
2896 list_for_each_entry_safe(pbl, tmp, &info->free_pbl_list, list_entry) { in free_mr_info()
2897 list_del(&pbl->list_entry); in free_mr_info()
2898 qedr_free_pbl(dev, &info->pbl_info, pbl); in free_mr_info()
2930 DP_DEBUG(dev, QEDR_MSG_MR, "Extra PBL is not allocated\n"); in init_mr_info()
3178 struct qedr_pbl *pbl; in handle_completed_mrs() local
3185 pbl = list_first_entry(&info->inuse_pbl_list, in handle_completed_mrs()
3187 list_move_tail(&pbl->list_entry, &info->free_pbl_list); in handle_completed_mrs()
3315 wqe = (char *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_inline_data()
3373 struct rdma_sq_sge *sge = qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_sges()
3436 fwqe2 = (struct rdma_sq_fmr_wqe_2nd *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_reg()
3502 pbl_is_full = qed_chain_get_elem_left_u32(&qp->sq.pbl) < in qedr_can_post_send()
3522 "error: WQ PBL is full. Post send on QP %p failed (this error appears only once)\n", in qedr_can_post_send()
3555 wqe = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3580 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3595 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3606 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3628 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3641 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3658 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3672 awqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3676 awqe3 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3735 qed_chain_set_prod(&qp->sq.pbl, value, wqe); in __qedr_post_send()
3828 struct qed_chain *pbl; in qedr_post_srq_recv() local
3836 pbl = &srq->hw_srq.pbl; in qedr_post_srq_recv()
3852 hdr = qed_chain_produce(pbl); in qedr_post_srq_recv()
3866 struct rdma_srq_sge *srq_sge = qed_chain_produce(pbl); in qedr_post_srq_recv()
3897 qed_chain_get_elem_left(pbl)); in qedr_post_srq_recv()
3919 if (qed_chain_get_elem_left_u32(&qp->rq.pbl) < in qedr_post_recv()
3923 qed_chain_get_elem_left_u32(&qp->rq.pbl), in qedr_post_recv()
3933 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
3956 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
4031 * algorithm determining whether we can free a pbl or not.
4091 qed_chain_consume(&qp->sq.pbl); in process_req()
4318 qed_chain_consume(&qp->rq.pbl); in process_resp_one()
4342 qed_chain_consume(&qp->rq.pbl); in process_resp_flush()
4422 old_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()
4464 new_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()