Lines Matching refs:srq
12 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_chk_attr() argument
15 if (srq && srq->error) { in rxe_srq_chk_attr()
32 if (srq && srq->limit && (attr->max_wr < srq->limit)) { in rxe_srq_chk_attr()
34 attr->max_wr, srq->limit); in rxe_srq_chk_attr()
49 if (srq && (attr->srq_limit > srq->rq.queue->buf->index_mask)) { in rxe_srq_chk_attr()
52 srq->rq.queue->buf->index_mask); in rxe_srq_chk_attr()
74 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_init() argument
83 srq->ibsrq.event_handler = init->event_handler; in rxe_srq_from_init()
84 srq->ibsrq.srq_context = init->srq_context; in rxe_srq_from_init()
85 srq->limit = init->attr.srq_limit; in rxe_srq_from_init()
86 srq->srq_num = srq->pelem.index; in rxe_srq_from_init()
87 srq->rq.max_wr = init->attr.max_wr; in rxe_srq_from_init()
88 srq->rq.max_sge = init->attr.max_sge; in rxe_srq_from_init()
90 srq_wqe_size = rcv_wqe_size(srq->rq.max_sge); in rxe_srq_from_init()
92 spin_lock_init(&srq->rq.producer_lock); in rxe_srq_from_init()
93 spin_lock_init(&srq->rq.consumer_lock); in rxe_srq_from_init()
96 q = rxe_queue_init(rxe, &srq->rq.max_wr, in rxe_srq_from_init()
103 srq->rq.queue = q; in rxe_srq_from_init()
114 if (copy_to_user(&uresp->srq_num, &srq->srq_num, in rxe_srq_from_init()
124 int rxe_srq_from_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_attr() argument
129 struct rxe_queue *q = srq->rq.queue; in rxe_srq_from_attr()
140 rcv_wqe_size(srq->rq.max_sge), udata, mi, in rxe_srq_from_attr()
141 &srq->rq.producer_lock, in rxe_srq_from_attr()
142 &srq->rq.consumer_lock); in rxe_srq_from_attr()
148 srq->limit = attr->srq_limit; in rxe_srq_from_attr()
154 srq->rq.queue = NULL; in rxe_srq_from_attr()