Lines Matching refs:srq
224 struct ib_srq *srq;
229 srq = pd->device->create_srq(pd, srq_init_attr, NULL);
231 if (!IS_ERR(srq)) {
232 srq->device = pd->device;
233 srq->pd = pd;
234 srq->uobject = NULL;
235 srq->event_handler = srq_init_attr->event_handler;
236 srq->srq_context = srq_init_attr->srq_context;
238 atomic_set(&srq->usecnt, 0);
241 return srq;
245 int ib_modify_srq(struct ib_srq *srq,
249 return srq->device->modify_srq ?
250 srq->device->modify_srq(srq, srq_attr, srq_attr_mask, NULL) :
255 int ib_query_srq(struct ib_srq *srq,
258 return srq->device->query_srq ?
259 srq->device->query_srq(srq, srq_attr) : -ENOSYS;
263 int ib_destroy_srq(struct ib_srq *srq)
268 if (atomic_read(&srq->usecnt))
271 pd = srq->pd;
273 ret = srq->device->destroy_srq(srq);
295 qp->srq = qp_init_attr->srq;
303 if (qp_init_attr->srq)
304 atomic_inc(&qp_init_attr->srq->usecnt);
585 struct ib_srq *srq;
591 srq = qp->srq;
598 if (srq)
599 atomic_dec(&srq->usecnt);