• Home
  • Raw
  • Download

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()
1449 dev->ops->common->chain_free(dev->cdev, &hw_srq->pbl); in qedr_free_srq_kernel_params()
1517 rc = dev->ops->common->chain_alloc(dev->cdev, &hw_srq->pbl, &params); in qedr_alloc_srq_kernel_params()
1579 struct qed_chain *pbl; in qedr_create_srq() local
1585 pbl = &hw_srq->pbl; in qedr_create_srq()
1586 page_cnt = qed_chain_get_page_cnt(pbl); in qedr_create_srq()
1587 pbl_base_addr = qed_chain_get_pbl_phys(pbl); in qedr_create_srq()
2022 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, &params); in qedr_roce_create_kernel_qp()
2026 in_params->sq_num_pages = qed_chain_get_page_cnt(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2027 in_params->sq_pbl_ptr = qed_chain_get_pbl_phys(&qp->sq.pbl); in qedr_roce_create_kernel_qp()
2033 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, &params); in qedr_roce_create_kernel_qp()
2037 in_params->rq_num_pages = qed_chain_get_page_cnt(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2038 in_params->rq_pbl_ptr = qed_chain_get_pbl_phys(&qp->rq.pbl); in qedr_roce_create_kernel_qp()
2088 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->sq.pbl, &params); in qedr_iwarp_create_kernel_qp()
2098 rc = dev->ops->common->chain_alloc(dev->cdev, &qp->rq.pbl, &params); in qedr_iwarp_create_kernel_qp()
2115 dev->ops->common->chain_free(dev->cdev, &qp->sq.pbl); in qedr_cleanup_kernel()
2118 dev->ops->common->chain_free(dev->cdev, &qp->rq.pbl); in qedr_cleanup_kernel()
2353 qed_chain_reset(&qph->pbl); in qedr_reset_qp_hwq_info()
2889 struct qedr_pbl *pbl, *tmp; in free_mr_info() local
2898 list_for_each_entry_safe(pbl, tmp, &info->free_pbl_list, list_entry) { in free_mr_info()
2899 list_del(&pbl->list_entry); in free_mr_info()
2900 qedr_free_pbl(dev, &info->pbl_info, pbl); in free_mr_info()
2932 DP_DEBUG(dev, QEDR_MSG_MR, "Extra PBL is not allocated\n"); in init_mr_info()
3170 struct qedr_pbl *pbl; in handle_completed_mrs() local
3177 pbl = list_first_entry(&info->inuse_pbl_list, in handle_completed_mrs()
3179 list_move_tail(&pbl->list_entry, &info->free_pbl_list); in handle_completed_mrs()
3303 wqe = (char *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_inline_data()
3361 struct rdma_sq_sge *sge = qed_chain_produce(&qp->sq.pbl); in qedr_prepare_sq_sges()
3424 fwqe2 = (struct rdma_sq_fmr_wqe_2nd *)qed_chain_produce(&qp->sq.pbl); in qedr_prepare_reg()
3490 pbl_is_full = qed_chain_get_elem_left_u32(&qp->sq.pbl) < in qedr_can_post_send()
3510 "error: WQ PBL is full. Post send on QP %p failed (this error appears only once)\n", in qedr_can_post_send()
3543 wqe = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3568 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3583 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3594 swqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3616 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3629 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3646 rwqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3660 awqe2 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3664 awqe3 = qed_chain_produce(&qp->sq.pbl); in __qedr_post_send()
3723 qed_chain_set_prod(&qp->sq.pbl, value, wqe); in __qedr_post_send()
3816 struct qed_chain *pbl; in qedr_post_srq_recv() local
3824 pbl = &srq->hw_srq.pbl; in qedr_post_srq_recv()
3840 hdr = qed_chain_produce(pbl); in qedr_post_srq_recv()
3854 struct rdma_srq_sge *srq_sge = qed_chain_produce(pbl); in qedr_post_srq_recv()
3885 qed_chain_get_elem_left(pbl)); in qedr_post_srq_recv()
3913 if (qed_chain_get_elem_left_u32(&qp->rq.pbl) < in qedr_post_recv()
3917 qed_chain_get_elem_left_u32(&qp->rq.pbl), in qedr_post_recv()
3927 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
3950 qed_chain_produce(&qp->rq.pbl); in qedr_post_recv()
4025 * algorithm determining whether we can free a pbl or not.
4085 qed_chain_consume(&qp->sq.pbl); in process_req()
4312 qed_chain_consume(&qp->rq.pbl); in process_resp_one()
4336 qed_chain_consume(&qp->rq.pbl); in process_resp_flush()
4416 old_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()
4458 new_cons = qed_chain_get_cons_idx_u32(&cq->pbl); in qedr_poll_cq()