Lines Matching refs:srq

934 	struct ib_srq *srq;  in ib_create_srq()  local
939 srq = pd->device->create_srq(pd, srq_init_attr, NULL); in ib_create_srq()
941 if (!IS_ERR(srq)) { in ib_create_srq()
942 srq->device = pd->device; in ib_create_srq()
943 srq->pd = pd; in ib_create_srq()
944 srq->uobject = NULL; in ib_create_srq()
945 srq->event_handler = srq_init_attr->event_handler; in ib_create_srq()
946 srq->srq_context = srq_init_attr->srq_context; in ib_create_srq()
947 srq->srq_type = srq_init_attr->srq_type; in ib_create_srq()
948 if (ib_srq_has_cq(srq->srq_type)) { in ib_create_srq()
949 srq->ext.cq = srq_init_attr->ext.cq; in ib_create_srq()
950 atomic_inc(&srq->ext.cq->usecnt); in ib_create_srq()
952 if (srq->srq_type == IB_SRQT_XRC) { in ib_create_srq()
953 srq->ext.xrc.xrcd = srq_init_attr->ext.xrc.xrcd; in ib_create_srq()
954 atomic_inc(&srq->ext.xrc.xrcd->usecnt); in ib_create_srq()
957 atomic_set(&srq->usecnt, 0); in ib_create_srq()
960 return srq; in ib_create_srq()
964 int ib_modify_srq(struct ib_srq *srq, in ib_modify_srq() argument
968 return srq->device->modify_srq ? in ib_modify_srq()
969 srq->device->modify_srq(srq, srq_attr, srq_attr_mask, NULL) : in ib_modify_srq()
974 int ib_query_srq(struct ib_srq *srq, in ib_query_srq() argument
977 return srq->device->query_srq ? in ib_query_srq()
978 srq->device->query_srq(srq, srq_attr) : -EOPNOTSUPP; in ib_query_srq()
982 int ib_destroy_srq(struct ib_srq *srq) in ib_destroy_srq() argument
990 if (atomic_read(&srq->usecnt)) in ib_destroy_srq()
993 pd = srq->pd; in ib_destroy_srq()
994 srq_type = srq->srq_type; in ib_destroy_srq()
996 cq = srq->ext.cq; in ib_destroy_srq()
998 xrcd = srq->ext.xrc.xrcd; in ib_destroy_srq()
1000 ret = srq->device->destroy_srq(srq); in ib_destroy_srq()
1099 qp->srq = NULL; in ib_create_xrc_qp()
1122 qp_init_attr->srq || qp_init_attr->cap.max_recv_wr || in ib_create_qp()
1163 qp->srq = NULL; in ib_create_qp()
1168 qp->srq = qp_init_attr->srq; in ib_create_qp()
1169 if (qp->srq) in ib_create_qp()
1170 atomic_inc(&qp_init_attr->srq->usecnt); in ib_create_qp()
1817 struct ib_srq *srq; in ib_destroy_qp() local
1833 srq = qp->srq; in ib_destroy_qp()
1855 if (srq) in ib_destroy_qp()
1856 atomic_dec(&srq->usecnt); in ib_destroy_qp()
2620 if (!qp->srq) in ib_drain_qp()