Lines Matching refs:rq
61 if ((unsigned) wr->num_sge > srq->rq.max_sge) { in ipath_post_srq_receive()
67 spin_lock_irqsave(&srq->rq.lock, flags); in ipath_post_srq_receive()
68 wq = srq->rq.wq; in ipath_post_srq_receive()
70 if (next >= srq->rq.size) in ipath_post_srq_receive()
73 spin_unlock_irqrestore(&srq->rq.lock, flags); in ipath_post_srq_receive()
79 wqe = get_rwqe_ptr(&srq->rq, wq->head); in ipath_post_srq_receive()
87 spin_unlock_irqrestore(&srq->rq.lock, flags); in ipath_post_srq_receive()
135 srq->rq.size = srq_init_attr->attr.max_wr + 1; in ipath_create_srq()
136 srq->rq.max_sge = srq_init_attr->attr.max_sge; in ipath_create_srq()
137 sz = sizeof(struct ib_sge) * srq->rq.max_sge + in ipath_create_srq()
139 srq->rq.wq = vmalloc_user(sizeof(struct ipath_rwq) + srq->rq.size * sz); in ipath_create_srq()
140 if (!srq->rq.wq) { in ipath_create_srq()
151 u32 s = sizeof(struct ipath_rwq) + srq->rq.size * sz; in ipath_create_srq()
156 srq->rq.wq); in ipath_create_srq()
174 spin_lock_init(&srq->rq.lock); in ipath_create_srq()
175 srq->rq.wq->head = 0; in ipath_create_srq()
176 srq->rq.wq->tail = 0; in ipath_create_srq()
201 vfree(srq->rq.wq); in ipath_create_srq()
237 srq->rq.max_sge * sizeof(struct ib_sge); in ipath_modify_srq()
262 spin_lock_irq(&srq->rq.lock); in ipath_modify_srq()
267 owq = srq->rq.wq; in ipath_modify_srq()
269 if (head >= srq->rq.size) in ipath_modify_srq()
272 if (tail >= srq->rq.size) in ipath_modify_srq()
276 n += srq->rq.size - tail; in ipath_modify_srq()
289 wqe = get_rwqe_ptr(&srq->rq, tail); in ipath_modify_srq()
296 if (++tail >= srq->rq.size) in ipath_modify_srq()
299 srq->rq.wq = wq; in ipath_modify_srq()
300 srq->rq.size = size; in ipath_modify_srq()
305 spin_unlock_irq(&srq->rq.lock); in ipath_modify_srq()
334 spin_lock_irq(&srq->rq.lock); in ipath_modify_srq()
335 if (attr->srq_limit >= srq->rq.size) in ipath_modify_srq()
339 spin_unlock_irq(&srq->rq.lock); in ipath_modify_srq()
344 spin_unlock_irq(&srq->rq.lock); in ipath_modify_srq()
355 attr->max_wr = srq->rq.size - 1; in ipath_query_srq()
356 attr->max_sge = srq->rq.max_sge; in ipath_query_srq()
376 vfree(srq->rq.wq); in ipath_destroy_srq()