Lines Matching defs:wrd
1645 vmbus_ring_put(struct vmbus_ring_data *wrd, uint8_t *data, uint32_t datalen)
1647 int left = MIN(datalen, wrd->rd_dsize - wrd->rd_prod);
1649 memcpy(&wrd->rd_ring->br_data[wrd->rd_prod], data, left);
1650 memcpy(&wrd->rd_ring->br_data[0], data + left, datalen - left);
1651 wrd->rd_prod += datalen;
1652 if (wrd->rd_prod >= wrd->rd_dsize)
1653 wrd->rd_prod -= wrd->rd_dsize;
1702 vmbus_ring_write(struct vmbus_ring_data *wrd, struct iovec *iov, int iov_cnt,
1712 KASSERT(datalen <= wrd->rd_dsize);
1714 vmbus_ring_avail(wrd, &avail, NULL);
1720 oprod = wrd->rd_prod;
1725 vmbus_ring_put(wrd, iov[i].iov_base, iov[i].iov_len);
1728 vmbus_ring_put(wrd, (uint8_t *)&indices, sizeof(indices));
1733 wrd->rd_ring->br_windex = wrd->rd_prod;
1745 if (wrd->rd_ring->br_imask == 0 &&
1746 wrd->rd_ring->br_rindex == oprod)