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()
981 rc = dev->ops->common->chain_alloc(dev->cdev, &cq->pbl, in qedr_create_cq()
986 page_cnt = qed_chain_get_page_cnt(&cq->pbl); in qedr_create_cq()
987 pbl_ptr = qed_chain_get_pbl_phys(&cq->pbl); in qedr_create_cq()
988 cq->ibcq.cqe = cq->pbl.capacity; in qedr_create_cq()
1022 cq->toggle_cqe = qed_chain_get_last_elem(&cq->pbl); in qedr_create_cq()
1026 cq->cq_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_create_cq()
1051 dev->ops->common->chain_free(dev->cdev, &cq->pbl); in qedr_create_cq()
1080 dev->ops->common->chain_free(dev->cdev, &cq->pbl); in qedr_destroy_cq()
1336 qed_chain_reset(&qph->pbl); in qedr_reset_qp_hwq_info()
1460 dev->ops->common->chain_free(dev->cdev, &hw_srq->pbl); in qedr_free_srq_kernel_params()
1528 rc = dev->ops->common->chain_alloc(dev->cdev, &hw_srq->pbl, &params); in qedr_alloc_srq_kernel_params()
1594 struct qed_chain *pbl; in qedr_create_srq() local
1600 pbl = &hw_srq->pbl; in qedr_create_srq()
1601 page_cnt = qed_chain_get_page_cnt(pbl); in qedr_create_srq()
1602 pbl_base_addr = qed_chain_get_pbl_phys(pbl); in qedr_create_srq()
2048 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, &params); in qedr_roce_create_kernel_qp()
2052 in_params->sq_num_pages = qed_chain_get_page_cnt(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2053 in_params->sq_pbl_ptr = qed_chain_get_pbl_phys(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2059 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, &params); in qedr_roce_create_kernel_qp()
2063 in_params->rq_num_pages = qed_chain_get_page_cnt(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2064 in_params->rq_pbl_ptr = qed_chain_get_pbl_phys(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2114 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, &params); in qedr_iwarp_create_kernel_qp()
2124 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, &params); in qedr_iwarp_create_kernel_qp()
2141 dev->ops->common->chain_free(dev->cdev, &qp->sq.pbl); in qedr_cleanup_kernel()
2144 dev->ops->common->chain_free(dev->cdev, &qp->rq.pbl); in qedr_cleanup_kernel()
2897 struct qedr_pbl *pbl, *tmp; in free_mr_info() local
2906 list_for_each_entry_safe(pbl, tmp, &info->free_pbl_list, list_entry) { in free_mr_info()
2907 list_del(&pbl->list_entry); in free_mr_info()
2908 qedr_free_pbl(dev, &info->pbl_info, pbl); in free_mr_info()
2940 DP_DEBUG(dev, QEDR_MSG_MR, "Extra PBL is not allocated\n"); in init_mr_info()
3188 struct qedr_pbl *pbl; in handle_completed_mrs() local
3195 pbl = list_first_entry(&info->inuse_pbl_list, in handle_completed_mrs()
3197 list_move_tail(&pbl->list_entry, &info->free_pbl_list); in handle_completed_mrs()
3325 wqe = (char *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_inline_data()
3383 struct rdma_sq_sge *sge = qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_sges()
3446 fwqe2 = (struct rdma_sq_fmr_wqe_2nd *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_reg()
3512 pbl_is_full = qed_chain_get_elem_left_u32(&qp->sq.pbl) < in qedr_can_post_send()
3532 "error: WQ PBL is full. Post send on QP %p failed (this error appears only once)\n", in qedr_can_post_send()
3565 wqe = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3590 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3605 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3616 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3638 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3651 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3668 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3682 awqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3686 awqe3 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3745 qed_chain_set_prod(&qp->sq.pbl, value, wqe); in __qedr_post_send()
3838 struct qed_chain *pbl; in qedr_post_srq_recv() local
3846 pbl = &srq->hw_srq.pbl; in qedr_post_srq_recv()
3862 hdr = qed_chain_produce(pbl); in qedr_post_srq_recv()
3876 struct rdma_srq_sge *srq_sge = qed_chain_produce(pbl); in qedr_post_srq_recv()
3907 qed_chain_get_elem_left(pbl)); in qedr_post_srq_recv()
3929 if (qed_chain_get_elem_left_u32(&qp->rq.pbl) < in qedr_post_recv()
3933 qed_chain_get_elem_left_u32(&qp->rq.pbl), in qedr_post_recv()
3943 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
3966 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
4041 * algorithm determining whether we can free a pbl or not.
4101 qed_chain_consume(&qp->sq.pbl); in process_req()
4328 qed_chain_consume(&qp->rq.pbl); in process_resp_one()
4352 qed_chain_consume(&qp->rq.pbl); in process_resp_flush()
4432 old_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()
4474 new_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()