Lines Matching refs:read
138 int read __ring_aligned; /* READ index in a circular ring */
155 static INLINE void bcm_ring_cons_done(bcm_ring_t *ring, int read);
181 ring->read = 0; in bcm_ring_init()
195 to->read = from->read; in bcm_ring_copy()
208 return (ring->read == ring->write); in bcm_ring_is_empty()
236 return (next_write == ring->read); in __bcm_ring_full()
320 bcm_ring_cons_done(bcm_ring_t *ring, int read) in bcm_ring_cons_done() argument
323 ring->read = read; in bcm_ring_cons_done()
342 *pend_read = (ring->read + 1) % ring_size; in bcm_ring_cons_pend()
344 rtn = ring->read; in bcm_ring_cons_pend()
363 cons_read = ring->read; in bcm_ring_cons()
364 ring->read = (ring->read + 1) % ring_size; /* read is committed */ in bcm_ring_cons()
379 peer->read = self->read; /* flush read update to peer producer */ in bcm_ring_sync_read()
406 if (ring->write >= ring->read) { in bcm_ring_prod_avail()
407 prod_avail = (ring_size - (ring->write - ring->read) - 1); in bcm_ring_prod_avail()
409 prod_avail = (ring->read - (ring->write + 1)); in bcm_ring_prod_avail()
425 if (ring->read == ring->write) { in bcm_ring_cons_avail()
427 } else if (ring->read > ring->write) { in bcm_ring_cons_avail()
428 cons_avail = ((ring_size - ring->read) + ring->write); in bcm_ring_cons_avail()
430 cons_avail = ring->write - ring->read; in bcm_ring_cons_avail()
443 ring->read = ring->write; in bcm_ring_cons_all()