Lines Matching refs:qp_grp

83 static int usnic_ib_fill_create_qp_resp(struct usnic_ib_qp_grp *qp_grp,  in usnic_ib_fill_create_qp_resp()  argument
96 us_ibdev = qp_grp->vf->pf; in usnic_ib_fill_create_qp_resp()
97 pdev = usnic_vnic_get_pdev(qp_grp->vf->vnic); in usnic_ib_fill_create_qp_resp()
100 qp_grp->grp_id); in usnic_ib_fill_create_qp_resp()
104 bar = usnic_vnic_get_bar(qp_grp->vf->vnic, 0); in usnic_ib_fill_create_qp_resp()
107 qp_grp->grp_id, pci_name(pdev)); in usnic_ib_fill_create_qp_resp()
111 resp.vfid = usnic_vnic_get_index(qp_grp->vf->vnic); in usnic_ib_fill_create_qp_resp()
115 chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_RQ); in usnic_ib_fill_create_qp_resp()
119 qp_grp->grp_id, in usnic_ib_fill_create_qp_resp()
129 chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_WQ); in usnic_ib_fill_create_qp_resp()
133 qp_grp->grp_id, in usnic_ib_fill_create_qp_resp()
143 chunk = usnic_ib_qp_grp_get_chunk(qp_grp, USNIC_VNIC_RES_TYPE_CQ); in usnic_ib_fill_create_qp_resp()
147 qp_grp->grp_id, in usnic_ib_fill_create_qp_resp()
157 default_flow = list_first_entry(&qp_grp->flows_lst, in usnic_ib_fill_create_qp_resp()
179 struct usnic_ib_qp_grp *qp_grp; in find_free_vf_and_create_qp_grp() local
205 qp_grp = usnic_ib_qp_grp_create(us_ibdev->ufdev, in find_free_vf_and_create_qp_grp()
225 qp_grp = usnic_ib_qp_grp_create(us_ibdev->ufdev, vf, in find_free_vf_and_create_qp_grp()
240 if (IS_ERR_OR_NULL(qp_grp)) { in find_free_vf_and_create_qp_grp()
242 return ERR_PTR(qp_grp ? PTR_ERR(qp_grp) : -ENOMEM); in find_free_vf_and_create_qp_grp()
244 return qp_grp; in find_free_vf_and_create_qp_grp()
247 static void qp_grp_destroy(struct usnic_ib_qp_grp *qp_grp) in qp_grp_destroy() argument
249 struct usnic_ib_vf *vf = qp_grp->vf; in qp_grp_destroy()
251 WARN_ON(qp_grp->state != IB_QPS_RESET); in qp_grp_destroy()
254 usnic_ib_qp_grp_destroy(qp_grp); in qp_grp_destroy()
386 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_query_qp() local
395 qp_grp = to_uqp_grp(qp); in usnic_ib_query_qp()
396 vf = qp_grp->vf; in usnic_ib_query_qp()
399 qp_attr->qp_state = qp_grp->state; in usnic_ib_query_qp()
400 qp_attr->cur_qp_state = qp_grp->state; in usnic_ib_query_qp()
402 switch (qp_grp->ibqp.qp_type) { in usnic_ib_query_qp()
407 usnic_err("Unexpected qp_type %d\n", qp_grp->ibqp.qp_type); in usnic_ib_query_qp()
464 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_create_qp() local
504 qp_grp = find_free_vf_and_create_qp_grp(us_ibdev, to_upd(pd), in usnic_ib_create_qp()
507 if (IS_ERR_OR_NULL(qp_grp)) { in usnic_ib_create_qp()
508 err = qp_grp ? PTR_ERR(qp_grp) : -ENOMEM; in usnic_ib_create_qp()
512 err = usnic_ib_fill_create_qp_resp(qp_grp, udata); in usnic_ib_create_qp()
518 qp_grp->ctx = ucontext; in usnic_ib_create_qp()
519 list_add_tail(&qp_grp->link, &ucontext->qp_grp_list); in usnic_ib_create_qp()
520 usnic_ib_log_vf(qp_grp->vf); in usnic_ib_create_qp()
522 return &qp_grp->ibqp; in usnic_ib_create_qp()
525 qp_grp_destroy(qp_grp); in usnic_ib_create_qp()
533 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_destroy_qp() local
538 qp_grp = to_uqp_grp(qp); in usnic_ib_destroy_qp()
539 vf = qp_grp->vf; in usnic_ib_destroy_qp()
541 if (usnic_ib_qp_grp_modify(qp_grp, IB_QPS_RESET, NULL)) { in usnic_ib_destroy_qp()
543 qp_grp->grp_id); in usnic_ib_destroy_qp()
546 list_del(&qp_grp->link); in usnic_ib_destroy_qp()
547 qp_grp_destroy(qp_grp); in usnic_ib_destroy_qp()
556 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_modify_qp() local
560 qp_grp = to_uqp_grp(ibqp); in usnic_ib_modify_qp()
562 mutex_lock(&qp_grp->vf->pf->usdev_lock); in usnic_ib_modify_qp()
569 status = usnic_ib_qp_grp_modify(qp_grp, attr->qp_state, NULL); in usnic_ib_modify_qp()
576 mutex_unlock(&qp_grp->vf->pf->usdev_lock); in usnic_ib_modify_qp()
666 struct usnic_ib_qp_grp *qp_grp; in usnic_ib_mmap() local
683 list_for_each_entry(qp_grp, &uctx->qp_grp_list, link) { in usnic_ib_mmap()
684 vf = qp_grp->vf; in usnic_ib_mmap()