Lines Matching refs:srq

38 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq,  in rxe_srq_chk_attr()  argument
41 if (srq && srq->error) { in rxe_srq_chk_attr()
58 if (srq && srq->limit && (attr->max_wr < srq->limit)) { in rxe_srq_chk_attr()
60 attr->max_wr, srq->limit); in rxe_srq_chk_attr()
75 if (srq && (attr->srq_limit > srq->rq.queue->buf->index_mask)) { in rxe_srq_chk_attr()
78 srq->rq.queue->buf->index_mask); in rxe_srq_chk_attr()
100 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_init() argument
109 srq->ibsrq.event_handler = init->event_handler; in rxe_srq_from_init()
110 srq->ibsrq.srq_context = init->srq_context; in rxe_srq_from_init()
111 srq->limit = init->attr.srq_limit; in rxe_srq_from_init()
112 srq->srq_num = srq->pelem.index; in rxe_srq_from_init()
113 srq->rq.max_wr = init->attr.max_wr; in rxe_srq_from_init()
114 srq->rq.max_sge = init->attr.max_sge; in rxe_srq_from_init()
116 srq_wqe_size = rcv_wqe_size(srq->rq.max_sge); in rxe_srq_from_init()
118 spin_lock_init(&srq->rq.producer_lock); in rxe_srq_from_init()
119 spin_lock_init(&srq->rq.consumer_lock); in rxe_srq_from_init()
121 q = rxe_queue_init(rxe, &srq->rq.max_wr, in rxe_srq_from_init()
128 srq->rq.queue = q; in rxe_srq_from_init()
136 if (copy_to_user(&uresp->srq_num, &srq->srq_num, in rxe_srq_from_init()
144 int rxe_srq_from_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_attr() argument
149 struct rxe_queue *q = srq->rq.queue; in rxe_srq_from_attr()
160 rcv_wqe_size(srq->rq.max_sge), in rxe_srq_from_attr()
161 srq->rq.queue->ip ? in rxe_srq_from_attr()
162 srq->rq.queue->ip->context : in rxe_srq_from_attr()
164 mi, &srq->rq.producer_lock, in rxe_srq_from_attr()
165 &srq->rq.consumer_lock); in rxe_srq_from_attr()
171 srq->limit = attr->srq_limit; in rxe_srq_from_attr()
177 srq->rq.queue = NULL; in rxe_srq_from_attr()