Lines Matching refs:pread
40 rbuf->pread = 0; in dvb_ringbuffer_init()
61 return (rbuf->pread == smp_load_acquire(&rbuf->pwrite)); in dvb_ringbuffer_empty()
75 free = READ_ONCE(rbuf->pread) - rbuf->pwrite; in dvb_ringbuffer_free()
91 avail = smp_load_acquire(&rbuf->pwrite) - rbuf->pread; in dvb_ringbuffer_avail()
107 smp_store_release(&rbuf->pread, smp_load_acquire(&rbuf->pwrite)); in dvb_ringbuffer_flush()
117 smp_store_release(&rbuf->pread, 0); in dvb_ringbuffer_reset()
139 split = (rbuf->pread + len > rbuf->size) ? rbuf->size - rbuf->pread : 0; in dvb_ringbuffer_read_user()
141 if (copy_to_user(buf, rbuf->data+rbuf->pread, split)) in dvb_ringbuffer_read_user()
149 smp_store_release(&rbuf->pread, 0); in dvb_ringbuffer_read_user()
151 if (copy_to_user(buf, rbuf->data+rbuf->pread, todo)) in dvb_ringbuffer_read_user()
155 smp_store_release(&rbuf->pread, (rbuf->pread + todo) % rbuf->size); in dvb_ringbuffer_read_user()
165 split = (rbuf->pread + len > rbuf->size) ? rbuf->size - rbuf->pread : 0; in dvb_ringbuffer_read()
167 memcpy(buf, rbuf->data+rbuf->pread, split); in dvb_ringbuffer_read()
174 smp_store_release(&rbuf->pread, 0); in dvb_ringbuffer_read()
176 memcpy(buf, rbuf->data+rbuf->pread, todo); in dvb_ringbuffer_read()
179 smp_store_release(&rbuf->pread, (rbuf->pread + todo) % rbuf->size); in dvb_ringbuffer_read()
337 idx = rbuf->pread; in dvb_ringbuffer_pkt_next()
344 consumed = (idx - rbuf->pread); in dvb_ringbuffer_pkt_next()