Lines Matching refs:head
52 u32 head;
58 * Note that the head pointer might be writable by user processes.
62 head = wc->head;
63 if (head >= (unsigned) cq->ibcq.cqe) {
64 head = cq->ibcq.cqe;
67 next = head + 1;
81 wc->uqueue[head].wr_id = entry->wr_id;
82 wc->uqueue[head].status = entry->status;
83 wc->uqueue[head].opcode = entry->opcode;
84 wc->uqueue[head].vendor_err = entry->vendor_err;
85 wc->uqueue[head].byte_len = entry->byte_len;
86 wc->uqueue[head].ex.imm_data =
88 wc->uqueue[head].qp_num = entry->qp->qp_num;
89 wc->uqueue[head].src_qp = entry->src_qp;
90 wc->uqueue[head].wc_flags = entry->wc_flags;
91 wc->uqueue[head].pkey_index = entry->pkey_index;
92 wc->uqueue[head].slid = entry->slid;
93 wc->uqueue[head].sl = entry->sl;
94 wc->uqueue[head].dlid_path_bits = entry->dlid_path_bits;
95 wc->uqueue[head].port_num = entry->port_num;
96 /* Make sure entry is written before the head index. */
99 wc->kqueue[head] = *entry;
100 wc->head = next;
149 if (tail == wc->head)
230 * Allocate the completion queue entries and head/tail pointers.
295 wc->head = 0;
364 cq->queue->head != cq->queue->tail)
383 u32 head, tail, n;
417 * Make sure head and tail are sane since they
421 head = old_wc->head;
422 if (head > (u32) cq->ibcq.cqe)
423 head = (u32) cq->ibcq.cqe;
427 if (head < tail)
428 n = cq->ibcq.cqe + 1 + head - tail;
430 n = head - tail;
435 for (n = 0; tail != head; n++) {
446 wc->head = n;