Lines Matching refs:ring_info
145 hv_get_next_write_location(struct hv_ring_buffer_info *ring_info) in hv_get_next_write_location() argument
147 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()
162 hv_get_next_read_location(struct hv_ring_buffer_info *ring_info) in hv_get_next_read_location() argument
164 u32 next = ring_info->ring_buffer->read_index; in hv_get_next_read_location()
174 hv_get_next_readlocation_withoffset(struct hv_ring_buffer_info *ring_info, in hv_get_next_readlocation_withoffset() argument
177 u32 next = ring_info->ring_buffer->read_index; in hv_get_next_readlocation_withoffset()
180 next %= ring_info->ring_datasize; in hv_get_next_readlocation_withoffset()
187 hv_set_next_read_location(struct hv_ring_buffer_info *ring_info, in hv_set_next_read_location() argument
190 ring_info->ring_buffer->read_index = next_read_location; in hv_set_next_read_location()
196 hv_get_ring_buffer(struct hv_ring_buffer_info *ring_info) in hv_get_ring_buffer() argument
198 return (void *)ring_info->ring_buffer->buffer; in hv_get_ring_buffer()
204 hv_get_ring_buffersize(struct hv_ring_buffer_info *ring_info) in hv_get_ring_buffersize() argument
206 return ring_info->ring_datasize; in hv_get_ring_buffersize()
211 hv_get_ring_bufferindices(struct hv_ring_buffer_info *ring_info) in hv_get_ring_bufferindices() argument
213 return (u64)ring_info->ring_buffer->write_index << 32; in hv_get_ring_bufferindices()
221 struct hv_ring_buffer_info *ring_info, in hv_copyfrom_ringbuffer() argument
226 void *ring_buffer = hv_get_ring_buffer(ring_info); in hv_copyfrom_ringbuffer()
227 u32 ring_buffer_size = hv_get_ring_buffersize(ring_info); in hv_copyfrom_ringbuffer()
254 struct hv_ring_buffer_info *ring_info, in hv_copyto_ringbuffer() argument
259 void *ring_buffer = hv_get_ring_buffer(ring_info); in hv_copyto_ringbuffer()
260 u32 ring_buffer_size = hv_get_ring_buffersize(ring_info); in hv_copyto_ringbuffer()
278 void hv_ringbuffer_get_debuginfo(struct hv_ring_buffer_info *ring_info, in hv_ringbuffer_get_debuginfo() argument
284 if (ring_info->ring_buffer) { in hv_ringbuffer_get_debuginfo()
285 hv_get_ringbuffer_availbytes(ring_info, in hv_ringbuffer_get_debuginfo()
292 ring_info->ring_buffer->read_index; in hv_ringbuffer_get_debuginfo()
294 ring_info->ring_buffer->write_index; in hv_ringbuffer_get_debuginfo()
296 ring_info->ring_buffer->interrupt_mask; in hv_ringbuffer_get_debuginfo()
301 int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info, in hv_ringbuffer_init() argument
307 memset(ring_info, 0, sizeof(struct hv_ring_buffer_info)); in hv_ringbuffer_init()
309 ring_info->ring_buffer = (struct hv_ring_buffer *)buffer; in hv_ringbuffer_init()
310 ring_info->ring_buffer->read_index = in hv_ringbuffer_init()
311 ring_info->ring_buffer->write_index = 0; in hv_ringbuffer_init()
314 ring_info->ring_buffer->feature_bits.value = 1; in hv_ringbuffer_init()
316 ring_info->ring_size = buflen; in hv_ringbuffer_init()
317 ring_info->ring_datasize = buflen - sizeof(struct hv_ring_buffer); in hv_ringbuffer_init()
319 spin_lock_init(&ring_info->ring_lock); in hv_ringbuffer_init()
325 void hv_ringbuffer_cleanup(struct hv_ring_buffer_info *ring_info) in hv_ringbuffer_cleanup() argument