Lines Matching refs:rbi

54 	struct hv_ring_buffer_info *rbi = &channel->outbound;
57 if (READ_ONCE(rbi->ring_buffer->interrupt_mask))
66 if (old_write == READ_ONCE(rbi->ring_buffer->read_index)) {
133 hv_get_ringbuffer_availbytes(const struct hv_ring_buffer_info *rbi,
139 read_loc = READ_ONCE(rbi->ring_buffer->read_index);
140 write_loc = READ_ONCE(rbi->ring_buffer->write_index);
141 dsize = rbi->ring_datasize;
438 static u32 hv_pkt_iter_avail(const struct hv_ring_buffer_info *rbi)
440 u32 priv_read_loc = rbi->priv_read_index;
450 write_loc = virt_load_acquire(&rbi->ring_buffer->write_index);
455 return (rbi->ring_datasize - priv_read_loc) + write_loc;
465 struct hv_ring_buffer_info *rbi = &channel->inbound;
471 bytes_avail = hv_pkt_iter_avail(rbi);
474 bytes_avail = min(rbi->pkt_buffer_size, bytes_avail);
476 desc = (struct vmpacket_descriptor *)(hv_get_ring_buffer(rbi) + rbi->priv_read_index);
487 * rbi->pkt_buffer_size
500 desc_copy = (struct vmpacket_descriptor *)rbi->pkt_buffer;
525 struct hv_ring_buffer_info *rbi = &channel->inbound;
527 u32 dsize = rbi->ring_datasize;
531 rbi->priv_read_index += packetlen + VMBUS_PKT_TRAILER;
532 if (rbi->priv_read_index >= dsize)
533 rbi->priv_read_index -= dsize;
541 static u32 hv_pkt_iter_bytes_read(const struct hv_ring_buffer_info *rbi,
544 if (rbi->priv_read_index >= start_read_index)
545 return rbi->priv_read_index - start_read_index;
547 return rbi->ring_datasize - start_read_index +
548 rbi->priv_read_index;
573 struct hv_ring_buffer_info *rbi = &channel->inbound;
582 start_read_index = rbi->ring_buffer->read_index;
583 rbi->ring_buffer->read_index = rbi->priv_read_index;
590 if (!rbi->ring_buffer->feature_bits.feat_pending_send_sz)
609 pending_sz = READ_ONCE(rbi->ring_buffer->pending_send_sz);
618 curr_write_sz = hv_get_bytes_to_write(rbi);
619 bytes_read = hv_pkt_iter_bytes_read(rbi, start_read_index);