Lines Matching refs:rq
61 if ((unsigned) wr->num_sge > srq->rq.max_sge) {
67 spin_lock_irqsave(&srq->rq.lock, flags);
68 wq = srq->rq.wq;
70 if (next >= srq->rq.size)
73 spin_unlock_irqrestore(&srq->rq.lock, flags);
79 wqe = get_rwqe_ptr(&srq->rq, wq->head);
87 spin_unlock_irqrestore(&srq->rq.lock, flags);
132 srq->rq.size = srq_init_attr->attr.max_wr + 1;
133 srq->rq.max_sge = srq_init_attr->attr.max_sge;
134 sz = sizeof(struct ib_sge) * srq->rq.max_sge +
136 srq->rq.wq = vmalloc_user(sizeof(struct qib_rwq) + srq->rq.size * sz);
137 if (!srq->rq.wq) {
148 u32 s = sizeof(struct qib_rwq) + srq->rq.size * sz;
152 srq->rq.wq);
170 spin_lock_init(&srq->rq.lock);
171 srq->rq.wq->head = 0;
172 srq->rq.wq->tail = 0;
197 vfree(srq->rq.wq);
233 srq->rq.max_sge * sizeof(struct ib_sge);
258 spin_lock_irq(&srq->rq.lock);
263 owq = srq->rq.wq;
266 if (head >= srq->rq.size || tail >= srq->rq.size) {
272 n += srq->rq.size - tail;
285 wqe = get_rwqe_ptr(&srq->rq, tail);
292 if (++tail >= srq->rq.size)
295 srq->rq.wq = wq;
296 srq->rq.size = size;
301 spin_unlock_irq(&srq->rq.lock);
334 spin_lock_irq(&srq->rq.lock);
335 if (attr->srq_limit >= srq->rq.size)
339 spin_unlock_irq(&srq->rq.lock);
344 spin_unlock_irq(&srq->rq.lock);
355 attr->max_wr = srq->rq.size - 1;
356 attr->max_sge = srq->rq.max_sge;
376 vfree(srq->rq.wq);