Lines Matching refs:srq
266 static void put_srq_read(struct ib_srq *srq) in put_srq_read() argument
268 put_uobj_read(srq->uobject); in put_srq_read()
1595 struct ib_srq *srq = NULL; in ib_uverbs_create_qp() local
1632 srq = idr_read_srq(cmd.srq_handle, file->ucontext); in ib_uverbs_create_qp()
1633 if (!srq || srq->srq_type != IB_SRQT_BASIC) { in ib_uverbs_create_qp()
1663 attr.srq = srq; in ib_uverbs_create_qp()
1695 qp->srq = attr.srq; in ib_uverbs_create_qp()
1704 if (attr.srq) in ib_uverbs_create_qp()
1705 atomic_inc(&attr.srq->usecnt); in ib_uverbs_create_qp()
1742 if (srq) in ib_uverbs_create_qp()
1743 put_srq_read(srq); in ib_uverbs_create_qp()
1770 if (srq) in ib_uverbs_create_qp()
1771 put_srq_read(srq); in ib_uverbs_create_qp()
2447 struct ib_srq *srq; in ib_uverbs_post_srq_recv() local
2459 srq = idr_read_srq(cmd.srq_handle, file->ucontext); in ib_uverbs_post_srq_recv()
2460 if (!srq) in ib_uverbs_post_srq_recv()
2464 ret = srq->device->post_srq_recv(srq, wr, &bad_wr); in ib_uverbs_post_srq_recv()
2466 put_srq_read(srq); in ib_uverbs_post_srq_recv()
2953 struct ib_srq *srq; in __uverbs_create_xsrq() local
2998 srq = pd->device->create_srq(pd, &attr, udata); in __uverbs_create_xsrq()
2999 if (IS_ERR(srq)) { in __uverbs_create_xsrq()
3000 ret = PTR_ERR(srq); in __uverbs_create_xsrq()
3004 srq->device = pd->device; in __uverbs_create_xsrq()
3005 srq->pd = pd; in __uverbs_create_xsrq()
3006 srq->srq_type = cmd->srq_type; in __uverbs_create_xsrq()
3007 srq->uobject = &obj->uevent.uobject; in __uverbs_create_xsrq()
3008 srq->event_handler = attr.event_handler; in __uverbs_create_xsrq()
3009 srq->srq_context = attr.srq_context; in __uverbs_create_xsrq()
3012 srq->ext.xrc.cq = attr.ext.xrc.cq; in __uverbs_create_xsrq()
3013 srq->ext.xrc.xrcd = attr.ext.xrc.xrcd; in __uverbs_create_xsrq()
3019 atomic_set(&srq->usecnt, 0); in __uverbs_create_xsrq()
3021 obj->uevent.uobject.object = srq; in __uverbs_create_xsrq()
3031 resp.srqn = srq->ext.xrc.srq_num; in __uverbs_create_xsrq()
3059 ib_destroy_srq(srq); in __uverbs_create_xsrq()
3145 struct ib_srq *srq; in ib_uverbs_modify_srq() local
3155 srq = idr_read_srq(cmd.srq_handle, file->ucontext); in ib_uverbs_modify_srq()
3156 if (!srq) in ib_uverbs_modify_srq()
3162 ret = srq->device->modify_srq(srq, &attr, cmd.attr_mask, &udata); in ib_uverbs_modify_srq()
3164 put_srq_read(srq); in ib_uverbs_modify_srq()
3176 struct ib_srq *srq; in ib_uverbs_query_srq() local
3185 srq = idr_read_srq(cmd.srq_handle, file->ucontext); in ib_uverbs_query_srq()
3186 if (!srq) in ib_uverbs_query_srq()
3189 ret = ib_query_srq(srq, &attr); in ib_uverbs_query_srq()
3191 put_srq_read(srq); in ib_uverbs_query_srq()
3216 struct ib_srq *srq; in ib_uverbs_destroy_srq() local
3228 srq = uobj->object; in ib_uverbs_destroy_srq()
3230 srq_type = srq->srq_type; in ib_uverbs_destroy_srq()
3232 ret = ib_destroy_srq(srq); in ib_uverbs_destroy_srq()