Lines Matching refs:srq

77 	struct qlnxr_srq *srq,
82 qlnxr_alloc_srq_kernel_params(struct qlnxr_srq *srq,
88 struct qlnxr_srq *srq,
92 qlnxr_free_srq_user_params(struct qlnxr_srq *srq);
95 qlnxr_free_srq_kernel_params(struct qlnxr_srq *srq);
174 struct qlnxr_srq *srq = get_qlnxr_srq(ibsrq); in qlnxr_create_srq() local
184 srq->dev = dev; in qlnxr_create_srq()
185 hw_srq = &srq->hw_srq; in qlnxr_create_srq()
186 spin_lock_init(&srq->lock); in qlnxr_create_srq()
201 ret = qlnxr_init_srq_user_params(&ctx->ibucontext, srq, &ureq, 0, 0); in qlnxr_create_srq()
205 page_cnt = srq->usrq.pbl_info.num_pbes; in qlnxr_create_srq()
206 pbl_base_addr = srq->usrq.pbl_tbl->pa; in qlnxr_create_srq()
211 page_size = srq->usrq.umem->page_size; in qlnxr_create_srq()
214 ret = qlnxr_alloc_srq_kernel_params(srq, dev, init_attr); in qlnxr_create_srq()
235 srq->srq_id = out_params.srq_id; in qlnxr_create_srq()
238 ret = qlnxr_copy_srq_uresp(dev, srq, udata); in qlnxr_create_srq()
243 QL_DPRINT12(ha, "created srq with srq_id = 0x%0x\n", srq->srq_id); in qlnxr_create_srq()
247 destroy_in_params.srq_id = srq->srq_id; in qlnxr_create_srq()
252 qlnxr_free_srq_user_params(srq); in qlnxr_create_srq()
254 qlnxr_free_srq_kernel_params(srq); in qlnxr_create_srq()
264 struct qlnxr_srq *srq; in qlnxr_destroy_srq() local
268 srq = get_qlnxr_srq(ibsrq); in qlnxr_destroy_srq()
269 dev = srq->dev; in qlnxr_destroy_srq()
273 in_params.srq_id = srq->srq_id; in qlnxr_destroy_srq()
278 qlnxr_free_srq_user_params(srq); in qlnxr_destroy_srq()
280 qlnxr_free_srq_kernel_params(srq); in qlnxr_destroy_srq()
282 QL_DPRINT12(ha, "destroyed srq_id=0x%0x\n", srq->srq_id); in qlnxr_destroy_srq()
290 struct qlnxr_srq *srq; in qlnxr_modify_srq() local
295 srq = get_qlnxr_srq(ibsrq); in qlnxr_modify_srq()
296 dev = srq->dev; in qlnxr_modify_srq()
302 " specified for %p\n", attr_mask, srq); in qlnxr_modify_srq()
307 if (attr->srq_limit >= srq->hw_srq.max_wr) { in qlnxr_modify_srq()
310 attr->srq_limit, srq->hw_srq.max_wr); in qlnxr_modify_srq()
314 in_params.srq_id = srq->srq_id; in qlnxr_modify_srq()
321 QL_DPRINT12(ha, "modified srq with srq_id = 0x%0x\n", srq->srq_id); in qlnxr_modify_srq()
329 struct qlnxr_srq *srq; in qlnxr_query_srq() local
332 srq = get_qlnxr_srq(ibsrq); in qlnxr_query_srq()
333 dev = srq->dev; in qlnxr_query_srq()
387 struct qlnxr_srq *srq; in qlnxr_post_srq_recv() local
395 srq = get_qlnxr_srq(ibsrq); in qlnxr_post_srq_recv()
396 dev = srq->dev; in qlnxr_post_srq_recv()
398 hw_srq = &srq->hw_srq; in qlnxr_post_srq_recv()
401 spin_lock_irqsave(&srq->lock, flags); in qlnxr_post_srq_recv()
403 pbl = &srq->hw_srq.pbl; in qlnxr_post_srq_recv()
409 wr->num_sge > srq->hw_srq.max_sges) { in qlnxr_post_srq_recv()
413 wr->num_sge, srq->hw_srq.max_sges); in qlnxr_post_srq_recv()
452 *(srq->hw_srq.virt_prod_pair_addr) = hw_srq->sge_prod; in qlnxr_post_srq_recv()
454 *((u8 *)srq->hw_srq.virt_prod_pair_addr + offset) = in qlnxr_post_srq_recv()
464 spin_unlock_irqrestore(&srq->lock, flags); in qlnxr_post_srq_recv()
2025 if (attrs->qp_type == IB_QPT_GSI && attrs->srq) { in qlnxr_check_qp_attrs()
2036 if (!attrs->srq && (attrs->cap.max_recv_wr > qattr->max_wqe)) { in qlnxr_check_qp_attrs()
2094 struct qlnxr_srq *srq, in qlnxr_copy_srq_uresp() argument
2107 uresp.srq_id = srq->srq_id; in qlnxr_copy_srq_uresp()
2125 QL_DPRINT12(ha, "enter qp->srq = %p\n", qp->srq); in qlnxr_copy_rq_uresp()
2127 if (qp->srq) in qlnxr_copy_rq_uresp()
2226 if (!attrs->srq) { in qlnxr_set_common_qp_params()
2232 qp->srq = get_qlnxr_srq(attrs->srq); in qlnxr_set_common_qp_params()
2239 qp->state, qp->signaled, ((attrs->srq) ? 1 : 0)); in qlnxr_set_common_qp_params()
2284 qlnxr_free_srq_user_params(struct qlnxr_srq *srq) in qlnxr_free_srq_user_params() argument
2286 struct qlnxr_dev *dev = srq->dev; in qlnxr_free_srq_user_params()
2293 qlnxr_free_pbl(srq->dev, &srq->usrq.pbl_info, srq->usrq.pbl_tbl); in qlnxr_free_srq_user_params()
2294 ib_umem_release(srq->usrq.umem); in qlnxr_free_srq_user_params()
2295 ib_umem_release(srq->prod_umem); in qlnxr_free_srq_user_params()
2302 qlnxr_free_srq_kernel_params(struct qlnxr_srq *srq) in qlnxr_free_srq_kernel_params() argument
2304 struct qlnxr_srq_hwq_info *hw_srq = &srq->hw_srq; in qlnxr_free_srq_kernel_params()
2305 struct qlnxr_dev *dev = srq->dev; in qlnxr_free_srq_kernel_params()
2326 struct qlnxr_srq *srq, in qlnxr_init_srq_user_params() argument
2332 struct qlnxr_dev *dev = srq->dev; in qlnxr_init_srq_user_params()
2339 rc = qlnxr_init_user_queue(ib_ctx, srq->dev, &srq->usrq, ureq->srq_addr, in qlnxr_init_srq_user_params()
2344 srq->prod_umem = ib_umem_get(ib_ctx, ureq->prod_pair_addr, in qlnxr_init_srq_user_params()
2347 if (IS_ERR(srq->prod_umem)) { in qlnxr_init_srq_user_params()
2348 qlnxr_free_pbl(srq->dev, &srq->usrq.pbl_info, srq->usrq.pbl_tbl); in qlnxr_init_srq_user_params()
2349 ib_umem_release(srq->usrq.umem); in qlnxr_init_srq_user_params()
2352 PTR_ERR(srq->prod_umem)); in qlnxr_init_srq_user_params()
2354 return PTR_ERR(srq->prod_umem); in qlnxr_init_srq_user_params()
2357 sg = srq->prod_umem->sg_head.sgl; in qlnxr_init_srq_user_params()
2358 srq->hw_srq.phy_prod_pair_addr = sg_dma_address(sg); in qlnxr_init_srq_user_params()
2365 qlnxr_alloc_srq_kernel_params(struct qlnxr_srq *srq, in qlnxr_alloc_srq_kernel_params() argument
2369 struct qlnxr_srq_hwq_info *hw_srq = &srq->hw_srq; in qlnxr_alloc_srq_kernel_params()
2450 if (qp->srq) { in qlnxr_init_common_qp_in_params()
2452 params->srq_id = qp->srq->srq_id; in qlnxr_init_common_qp_in_params()
2548 if (qp->srq) { in qlnxr_iwarp_populate_user_qp()
2549 QL_DPRINT11(ha, "qp->srq = %p\n", qp->srq); in qlnxr_iwarp_populate_user_qp()
2603 if (!qp->srq) { in qlnxr_create_user_qp()
2622 if (!qp->srq) { in qlnxr_create_user_qp()
2673 QL_DPRINT12(ha, "enter qp = %p qp->srq %p\n", qp, qp->srq); in qlnxr_set_roce_db_info()
2679 if (!qp->srq) { in qlnxr_set_roce_db_info()
2698 QL_DPRINT12(ha, "enter qp = %p qp->srq %p\n", qp, qp->srq); in qlnxr_set_iwarp_db_info()
2704 if (!qp->srq) { in qlnxr_set_iwarp_db_info()
2762 if (!qp->srq) { in qlnxr_roce_create_kernel_qp()
2904 if (!qp->srq) { in qlnxr_iwarp_create_kernel_qp()
2992 if (!qp->srq) { in qlnxr_create_kernel_qp()
3016 if (qp->srq) { in qlnxr_create_kernel_qp()
3018 in_params.srq_id = qp->srq->srq_id; in qlnxr_create_kernel_qp()
3240 if (!(qp->srq)) in qlnxr_update_qp_state()
3253 if (qp->srq) in qlnxr_update_qp_state()
4640 if (qp->srq) { in qlnxr_post_recv()
4643 qp->srq); in qlnxr_post_recv()
5015 struct qlnxr_srq *srq = qp->srq; in process_resp_one_srq() local
5038 srq->hw_srq.wr_cons_cnt++; in process_resp_one_srq()