Lines Matching refs:qp_grp

42 static int usnic_ib_fill_create_qp_resp(struct usnic_ib_qp_grp *qp_grp,  in usnic_ib_fill_create_qp_resp()  argument
55 us_ibdev = qp_grp->vf->pf; in usnic_ib_fill_create_qp_resp()
56 pdev = usnic_vnic_get_pdev(qp_grp->vf->vnic); in usnic_ib_fill_create_qp_resp()
59 qp_grp->grp_id); in usnic_ib_fill_create_qp_resp()
63 bar = usnic_vnic_get_bar(qp_grp->vf->vnic, 0); in usnic_ib_fill_create_qp_resp()
66 qp_grp->grp_id, pci_name(pdev)); in usnic_ib_fill_create_qp_resp()
70 resp.vfid = usnic_vnic_get_index(qp_grp->vf->vnic); in usnic_ib_fill_create_qp_resp()
74 chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_RQ); in usnic_ib_fill_create_qp_resp()
78 qp_grp->grp_id, in usnic_ib_fill_create_qp_resp()
88 chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_WQ); in usnic_ib_fill_create_qp_resp()
92 qp_grp->grp_id, in usnic_ib_fill_create_qp_resp()
102 chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_CQ); in usnic_ib_fill_create_qp_resp()
106 qp_grp->grp_id, in usnic_ib_fill_create_qp_resp()
116 default_flow = list_first_entry(&qp_grp->flows_lst, in usnic_ib_fill_create_qp_resp()
137 struct usnic_ib_qp_grp *qp_grp; in find_free_vf_and_create_qp_grp() local
190 qp_grp = usnic_ib_qp_grp_create(us_ibdev->ufdev, vf, pd, res_spec, in find_free_vf_and_create_qp_grp()
193 if (IS_ERR_OR_NULL(qp_grp)) { in find_free_vf_and_create_qp_grp()
195 return ERR_PTR(qp_grp ? PTR_ERR(qp_grp) : -ENOMEM); in find_free_vf_and_create_qp_grp()
198 return qp_grp; in find_free_vf_and_create_qp_grp()
201 static void qp_grp_destroy(struct usnic_ib_qp_grp *qp_grp) in qp_grp_destroy() argument
203 struct usnic_ib_vf *vf = qp_grp->vf; in qp_grp_destroy()
205 WARN_ON(qp_grp->state != IB_QPS_RESET); in qp_grp_destroy()
208 usnic_ib_qp_grp_destroy(qp_grp); in qp_grp_destroy()
355 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_query_qp() local
364 qp_grp = to_uqp_grp(qp); in usnic_ib_query_qp()
365 vf = qp_grp->vf; in usnic_ib_query_qp()
368 qp_attr->qp_state = qp_grp->state; in usnic_ib_query_qp()
369 qp_attr->cur_qp_state = qp_grp->state; in usnic_ib_query_qp()
371 switch (qp_grp->ibqp.qp_type) { in usnic_ib_query_qp()
376 usnic_err("Unexpected qp_type %d\n", qp_grp->ibqp.qp_type); in usnic_ib_query_qp()
457 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_create_qp() local
497 qp_grp = find_free_vf_and_create_qp_grp(us_ibdev, to_upd(pd), in usnic_ib_create_qp()
500 if (IS_ERR_OR_NULL(qp_grp)) { in usnic_ib_create_qp()
501 err = qp_grp ? PTR_ERR(qp_grp) : -ENOMEM; in usnic_ib_create_qp()
505 err = usnic_ib_fill_create_qp_resp(qp_grp, udata); in usnic_ib_create_qp()
511 qp_grp->ctx = ucontext; in usnic_ib_create_qp()
512 list_add_tail(&qp_grp->link, &ucontext->qp_grp_list); in usnic_ib_create_qp()
513 usnic_ib_log_vf(qp_grp->vf); in usnic_ib_create_qp()
515 return &qp_grp->ibqp; in usnic_ib_create_qp()
518 qp_grp_destroy(qp_grp); in usnic_ib_create_qp()
526 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_destroy_qp() local
531 qp_grp = to_uqp_grp(qp); in usnic_ib_destroy_qp()
532 vf = qp_grp->vf; in usnic_ib_destroy_qp()
534 if (usnic_ib_qp_grp_modify(qp_grp, IB_QPS_RESET, NULL)) { in usnic_ib_destroy_qp()
536 qp_grp->grp_id); in usnic_ib_destroy_qp()
539 list_del(&qp_grp->link); in usnic_ib_destroy_qp()
540 qp_grp_destroy(qp_grp); in usnic_ib_destroy_qp()
549 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_modify_qp() local
553 qp_grp = to_uqp_grp(ibqp); in usnic_ib_modify_qp()
556 mutex_lock(&qp_grp->vf->pf->usdev_lock); in usnic_ib_modify_qp()
558 status = usnic_ib_qp_grp_modify(qp_grp, IB_QPS_INIT, NULL); in usnic_ib_modify_qp()
560 status = usnic_ib_qp_grp_modify(qp_grp, IB_QPS_RTR, NULL); in usnic_ib_modify_qp()
562 status = usnic_ib_qp_grp_modify(qp_grp, IB_QPS_RTS, NULL); in usnic_ib_modify_qp()
569 mutex_unlock(&qp_grp->vf->pf->usdev_lock); in usnic_ib_modify_qp()
672 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_mmap() local
689 list_for_each_entry(qp_grp, &uctx->qp_grp_list, link) { in usnic_ib_mmap()
690 vf = qp_grp->vf; in usnic_ib_mmap()