Lines Matching refs:read
170 int read __ring_aligned; /* READ index in a circular ring */
187 static INLINE void bcm_ring_cons_done(bcm_ring_t *ring, int read);
213 ring->read = 0; in bcm_ring_init()
227 to->read = from->read; in bcm_ring_copy()
240 return (ring->read == ring->write); in bcm_ring_is_empty()
268 return (next_write == ring->read); in __bcm_ring_full()
352 bcm_ring_cons_done(bcm_ring_t *ring, int read) in bcm_ring_cons_done() argument
355 ring->read = read; in bcm_ring_cons_done()
374 *pend_read = (ring->read + 1) % ring_size; in bcm_ring_cons_pend()
376 rtn = ring->read; in bcm_ring_cons_pend()
395 cons_read = ring->read; in bcm_ring_cons()
396 ring->read = (ring->read + 1) % ring_size; /* read is committed */ in bcm_ring_cons()
411 peer->read = self->read; /* flush read update to peer producer */ in bcm_ring_sync_read()
438 if (ring->write >= ring->read) { in bcm_ring_prod_avail()
439 prod_avail = (ring_size - (ring->write - ring->read) - 1); in bcm_ring_prod_avail()
441 prod_avail = (ring->read - (ring->write + 1)); in bcm_ring_prod_avail()
457 if (ring->read == ring->write) { in bcm_ring_cons_avail()
459 } else if (ring->read > ring->write) { in bcm_ring_cons_avail()
460 cons_avail = ((ring_size - ring->read) + ring->write); in bcm_ring_cons_avail()
462 cons_avail = ring->write - ring->read; in bcm_ring_cons_avail()
475 ring->read = ring->write; in bcm_ring_cons_all()