Lines Matching refs:write
137 int write __ring_aligned; /* WRITE index in a circular ring */
150 static INLINE void bcm_ring_prod_done(bcm_ring_t *ring, int write);
180 ring->write = 0; in bcm_ring_init()
194 to->write = from->write; in bcm_ring_copy()
208 return (ring->read == ring->write); in bcm_ring_is_empty()
223 return ((ring->write + 1) % ring_size); in __bcm_ring_next_write()
263 bcm_ring_prod_done(bcm_ring_t *ring, int write) in bcm_ring_prod_done() argument
266 ring->write = write; in bcm_ring_prod_done()
287 rtn = ring->write; in bcm_ring_prod_pend()
308 prod_write = ring->write; in bcm_ring_prod()
392 peer->write = self->write; /* flush write update to peer consumer */ in bcm_ring_sync_write()
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()