Lines Matching refs:ring_info
140 hv_get_next_write_location(struct hv_ring_buffer_info *ring_info) in hv_get_next_write_location() argument
142 u32 next = ring_info->ring_buffer->write_index; in hv_get_next_write_location()
154 hv_set_next_write_location(struct hv_ring_buffer_info *ring_info, in hv_set_next_write_location() argument
157 ring_info->ring_buffer->write_index = next_write_location; in hv_set_next_write_location()
166 hv_get_next_read_location(struct hv_ring_buffer_info *ring_info) in hv_get_next_read_location() argument
168 u32 next = ring_info->ring_buffer->read_index; in hv_get_next_read_location()
180 hv_get_next_readlocation_withoffset(struct hv_ring_buffer_info *ring_info, in hv_get_next_readlocation_withoffset() argument
183 u32 next = ring_info->ring_buffer->read_index; in hv_get_next_readlocation_withoffset()
186 next %= ring_info->ring_datasize; in hv_get_next_readlocation_withoffset()
199 hv_set_next_read_location(struct hv_ring_buffer_info *ring_info, in hv_set_next_read_location() argument
202 ring_info->ring_buffer->read_index = next_read_location; in hv_set_next_read_location()
213 hv_get_ring_buffer(struct hv_ring_buffer_info *ring_info) in hv_get_ring_buffer() argument
215 return (void *)ring_info->ring_buffer->buffer; in hv_get_ring_buffer()
226 hv_get_ring_buffersize(struct hv_ring_buffer_info *ring_info) in hv_get_ring_buffersize() argument
228 return ring_info->ring_datasize; in hv_get_ring_buffersize()
239 hv_get_ring_bufferindices(struct hv_ring_buffer_info *ring_info) in hv_get_ring_bufferindices() argument
241 return (u64)ring_info->ring_buffer->write_index << 32; in hv_get_ring_bufferindices()
253 struct hv_ring_buffer_info *ring_info, in hv_copyfrom_ringbuffer() argument
258 void *ring_buffer = hv_get_ring_buffer(ring_info); in hv_copyfrom_ringbuffer()
259 u32 ring_buffer_size = hv_get_ring_buffersize(ring_info); in hv_copyfrom_ringbuffer()
290 struct hv_ring_buffer_info *ring_info, in hv_copyto_ringbuffer() argument
295 void *ring_buffer = hv_get_ring_buffer(ring_info); in hv_copyto_ringbuffer()
296 u32 ring_buffer_size = hv_get_ring_buffersize(ring_info); in hv_copyto_ringbuffer()
320 void hv_ringbuffer_get_debuginfo(struct hv_ring_buffer_info *ring_info, in hv_ringbuffer_get_debuginfo() argument
326 if (ring_info->ring_buffer) { in hv_ringbuffer_get_debuginfo()
327 hv_get_ringbuffer_availbytes(ring_info, in hv_ringbuffer_get_debuginfo()
334 ring_info->ring_buffer->read_index; in hv_ringbuffer_get_debuginfo()
336 ring_info->ring_buffer->write_index; in hv_ringbuffer_get_debuginfo()
338 ring_info->ring_buffer->interrupt_mask; in hv_ringbuffer_get_debuginfo()
349 int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info, in hv_ringbuffer_init() argument
355 memset(ring_info, 0, sizeof(struct hv_ring_buffer_info)); in hv_ringbuffer_init()
357 ring_info->ring_buffer = (struct hv_ring_buffer *)buffer; in hv_ringbuffer_init()
358 ring_info->ring_buffer->read_index = in hv_ringbuffer_init()
359 ring_info->ring_buffer->write_index = 0; in hv_ringbuffer_init()
361 ring_info->ring_size = buflen; in hv_ringbuffer_init()
362 ring_info->ring_datasize = buflen - sizeof(struct hv_ring_buffer); in hv_ringbuffer_init()
364 spin_lock_init(&ring_info->ring_lock); in hv_ringbuffer_init()
376 void hv_ringbuffer_cleanup(struct hv_ring_buffer_info *ring_info) in hv_ringbuffer_cleanup() argument