Lines Matching defs:tail
76 u32 tail;
84 tail = RDMA_READ_UAPI_ATOMIC(u_wc->tail);
89 tail = k_wc->tail;
103 if (unlikely(next == tail || cq->cq_full)) {
225 * Allocate the completion queue entries and head/tail pointers.
361 RDMA_READ_UAPI_ATOMIC(cq->queue->tail))
364 if (cq->kqueue->head != cq->kqueue->tail)
383 u32 head, tail, n;
422 * Make sure head and tail are sane since they
428 tail = RDMA_READ_UAPI_ATOMIC(old_u_wc->tail);
432 tail = old_k_wc->tail;
437 if (tail > (u32)cq->ibcq.cqe)
438 tail = (u32)cq->ibcq.cqe;
439 if (head < tail)
440 n = cq->ibcq.cqe + 1 + head - tail;
442 n = head - tail;
447 for (n = 0; tail != head; n++) {
449 u_wc->uqueue[n] = old_u_wc->uqueue[tail];
451 k_wc->kqueue[n] = old_k_wc->kqueue[tail];
452 if (tail == (u32)cq->ibcq.cqe)
453 tail = 0;
455 tail++;
460 RDMA_WRITE_UAPI_ATOMIC(u_wc->tail, 0);
464 k_wc->tail = 0;
524 u32 tail;
533 tail = wc->tail;
534 if (tail > (u32)cq->ibcq.cqe)
535 tail = (u32)cq->ibcq.cqe;
537 if (tail == wc->head)
540 trace_rvt_cq_poll(cq, &wc->kqueue[tail], npolled);
541 *entry = wc->kqueue[tail];
542 if (tail >= cq->ibcq.cqe)
543 tail = 0;
545 tail++;
547 wc->tail = tail;