Lines Matching refs:head
19 #define CIRC_CNT(head, tail, size) (((head) - (tail)) & (size - 1)) argument
20 #define CIRC_SPACE(head, tail, size) CIRC_CNT((tail), (head) + 1, (size)) argument
140 jr->head = 0; in jr_sw_cleanup()
187 int head = jr->head; in jr_enqueue() local
207 jr->info[head].desc_phys_addr = desc_phys_addr; in jr_enqueue()
208 jr->info[head].callback = (void *)callback; in jr_enqueue()
209 jr->info[head].arg = arg; in jr_enqueue()
210 jr->info[head].op_done = 0; in jr_enqueue()
212 unsigned long start = (unsigned long)&jr->info[head] & in jr_enqueue()
214 unsigned long end = ALIGN((unsigned long)&jr->info[head] + in jr_enqueue()
224 addr_lo = (uint32_t *)(&jr->input_ring[head]); in jr_enqueue()
225 addr_hi = (uint32_t *)(&jr->input_ring[head]) + 1; in jr_enqueue()
227 addr_hi = (uint32_t *)(&jr->input_ring[head]); in jr_enqueue()
228 addr_lo = (uint32_t *)(&jr->input_ring[head]) + 1; in jr_enqueue()
236 sec_out32(&jr->input_ring[head], desc_phys_addr); in jr_enqueue()
239 start = (unsigned long)&jr->input_ring[head] & ~(ARCH_DMA_MINALIGN - 1); in jr_enqueue()
240 end = ALIGN((unsigned long)&jr->input_ring[head] + in jr_enqueue()
244 jr->head = (head + 1) & (jr->size - 1); in jr_enqueue()
262 int head = jr->head; in jr_dequeue() local
273 while (sec_in32(®s->orsf) && CIRC_CNT(jr->head, jr->tail, in jr_dequeue()
303 for (i = 0; CIRC_CNT(head, tail + i, jr->size) >= 1; i++) { in jr_dequeue()