Lines Matching full:pbl

505 			  struct qedr_pbl_info *pbl_info, struct qedr_pbl *pbl)  in qedr_free_pbl()  argument
511 if (!pbl[i].va) in qedr_free_pbl()
514 pbl[i].va, pbl[i].pa); in qedr_free_pbl()
517 kfree(pbl); in qedr_free_pbl()
552 /* Two-Layer PBLs, if we have more than one pbl we need to initialize in qedr_alloc_pbl_tbl()
581 DP_ERR(dev, "prepare pbl table: too many pages %d\n", in qedr_prepare_pbl_tbl()
586 /* calculate required pbl page size */ in qedr_prepare_pbl_tbl()
601 /* One layered PBL */ in qedr_prepare_pbl_tbl()
613 "prepare pbl table: num_pbes=%d, num_pbls=%d, pbl_size=%d\n", in qedr_prepare_pbl_tbl()
620 struct qedr_pbl *pbl, in qedr_populate_pbls() argument
631 /* If we have a two layered pbl, the first pbl points to the rest in qedr_populate_pbls()
632 * of the pbls and the first entry lays on the second pbl in the table in qedr_populate_pbls()
635 pbl_tbl = &pbl[1]; in qedr_populate_pbls()
637 pbl_tbl = pbl; in qedr_populate_pbls()
641 DP_ERR(dev, "cannot populate PBL due to a NULL PBE\n"); in qedr_populate_pbls()
660 /* If the given pbl is full storing the pbes, move to next pbl. in qedr_populate_pbls()
727 cq->latest_cqe = qed_chain_consume(&cq->pbl); in consume_cqe()
975 rc = dev->ops->common->chain_alloc(dev->cdev, &cq->pbl, in qedr_create_cq()
980 page_cnt = qed_chain_get_page_cnt(&cq->pbl); in qedr_create_cq()
981 pbl_ptr = qed_chain_get_pbl_phys(&cq->pbl); in qedr_create_cq()
982 cq->ibcq.cqe = cq->pbl.capacity; in qedr_create_cq()
1016 cq->toggle_cqe = qed_chain_get_last_elem(&cq->pbl); in qedr_create_cq()
1020 cq->cq_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_create_cq()
1045 dev->ops->common->chain_free(dev->cdev, &cq->pbl); in qedr_create_cq()
1084 dev->ops->common->chain_free(dev->cdev, &cq->pbl); in qedr_destroy_cq()
1448 dev->ops->common->chain_free(dev->cdev, &hw_srq->pbl); in qedr_free_srq_kernel_params()
1516 rc = dev->ops->common->chain_alloc(dev->cdev, &hw_srq->pbl, &params); in qedr_alloc_srq_kernel_params()
1578 struct qed_chain *pbl; in qedr_create_srq() local
1584 pbl = &hw_srq->pbl; in qedr_create_srq()
1585 page_cnt = qed_chain_get_page_cnt(pbl); in qedr_create_srq()
1586 pbl_base_addr = qed_chain_get_pbl_phys(pbl); in qedr_create_srq()
2021 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, &params); in qedr_roce_create_kernel_qp()
2025 in_params->sq_num_pages = qed_chain_get_page_cnt(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2026 in_params->sq_pbl_ptr = qed_chain_get_pbl_phys(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2032 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, &params); in qedr_roce_create_kernel_qp()
2036 in_params->rq_num_pages = qed_chain_get_page_cnt(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2037 in_params->rq_pbl_ptr = qed_chain_get_pbl_phys(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2087 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, &params); in qedr_iwarp_create_kernel_qp()
2097 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, &params); in qedr_iwarp_create_kernel_qp()
2114 dev->ops->common->chain_free(dev->cdev, &qp->sq.pbl); in qedr_cleanup_kernel()
2117 dev->ops->common->chain_free(dev->cdev, &qp->rq.pbl); in qedr_cleanup_kernel()
2352 qed_chain_reset(&qph->pbl); in qedr_reset_qp_hwq_info()
2888 struct qedr_pbl *pbl, *tmp; in free_mr_info() local
2897 list_for_each_entry_safe(pbl, tmp, &info->free_pbl_list, list_entry) { in free_mr_info()
2898 list_del(&pbl->list_entry); in free_mr_info()
2899 qedr_free_pbl(dev, &info->pbl_info, pbl); in free_mr_info()
2931 DP_DEBUG(dev, QEDR_MSG_MR, "Extra PBL is not allocated\n"); in init_mr_info()
3169 struct qedr_pbl *pbl; in handle_completed_mrs() local
3176 pbl = list_first_entry(&info->inuse_pbl_list, in handle_completed_mrs()
3178 list_move_tail(&pbl->list_entry, &info->free_pbl_list); in handle_completed_mrs()
3302 wqe = (char *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_inline_data()
3360 struct rdma_sq_sge *sge = qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_sges()
3423 fwqe2 = (struct rdma_sq_fmr_wqe_2nd *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_reg()
3489 pbl_is_full = qed_chain_get_elem_left_u32(&qp->sq.pbl) < in qedr_can_post_send()
3509 "error: WQ PBL is full. Post send on QP %p failed (this error appears only once)\n", in qedr_can_post_send()
3542 wqe = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3567 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3582 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3593 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3615 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3628 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3645 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3659 awqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3663 awqe3 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3722 qed_chain_set_prod(&qp->sq.pbl, value, wqe); in __qedr_post_send()
3815 struct qed_chain *pbl; in qedr_post_srq_recv() local
3823 pbl = &srq->hw_srq.pbl; in qedr_post_srq_recv()
3839 hdr = qed_chain_produce(pbl); in qedr_post_srq_recv()
3853 struct rdma_srq_sge *srq_sge = qed_chain_produce(pbl); in qedr_post_srq_recv()
3884 qed_chain_get_elem_left(pbl)); in qedr_post_srq_recv()
3912 if (qed_chain_get_elem_left_u32(&qp->rq.pbl) < in qedr_post_recv()
3916 qed_chain_get_elem_left_u32(&qp->rq.pbl), in qedr_post_recv()
3926 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
3949 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
4024 * algorithm determining whether we can free a pbl or not.
4084 qed_chain_consume(&qp->sq.pbl); in process_req()
4311 qed_chain_consume(&qp->rq.pbl); in process_resp_one()
4335 qed_chain_consume(&qp->rq.pbl); in process_resp_flush()
4415 old_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()
4457 new_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()