Lines Matching refs:tail
25 #define CIRC_CNT(head, tail, size) (((head) - (tail)) & (size - 1)) argument
26 #define CIRC_SPACE(head, tail, size) CIRC_CNT((tail), (head) + 1, (size)) argument
147 jr->tail = 0; in jr_sw_cleanup()
269 int tail = jr->tail; in jr_dequeue() local
279 while (sec_in32(®s->orsf) && CIRC_CNT(jr->head, jr->tail, in jr_dequeue()
291 addr_lo = (uint32_t *)(&jr->output_ring[jr->tail].desc); in jr_dequeue()
292 addr_hi = (uint32_t *)(&jr->output_ring[jr->tail].desc) + 1; in jr_dequeue()
294 addr_hi = (uint32_t *)(&jr->output_ring[jr->tail].desc); in jr_dequeue()
295 addr_lo = (uint32_t *)(&jr->output_ring[jr->tail].desc) + 1; in jr_dequeue()
303 addr = (uint32_t *)&jr->output_ring[jr->tail].desc; in jr_dequeue()
307 uint32_t status = sec_in32(&jr->output_ring[jr->tail].status); in jr_dequeue()
309 for (i = 0; CIRC_CNT(head, tail + i, jr->size) >= 1; i++) { in jr_dequeue()
310 idx = (tail + i) & (jr->size - 1); in jr_dequeue()
329 if (idx == tail) in jr_dequeue()
331 tail = (tail + 1) & (jr->size - 1); in jr_dequeue()
332 } while (jr->info[tail].op_done); in jr_dequeue()
334 jr->tail = tail; in jr_dequeue()