drivers/net/wireless/ath/wil6210/trace.h
212
TP_PROTO(u8 vring, u16 index, unsigned int len, u8 frags),
drivers/net/wireless/ath/wil6210/trace.h
213
TP_ARGS(vring, index, len, frags),
drivers/net/wireless/ath/wil6210/trace.h
215
__field(u8, vring)
drivers/net/wireless/ath/wil6210/trace.h
221
__entry->vring = vring;
drivers/net/wireless/ath/wil6210/trace.h
227
__entry->vring, __entry->index, __entry->len, __entry->frags)
drivers/net/wireless/ath/wil6210/trace.h
231
TP_PROTO(u8 vring, u16 index, unsigned int len, u8 err),
drivers/net/wireless/ath/wil6210/trace.h
232
TP_ARGS(vring, index, len, err),
drivers/net/wireless/ath/wil6210/trace.h
234
__field(u8, vring)
drivers/net/wireless/ath/wil6210/trace.h
240
__entry->vring = vring;
drivers/net/wireless/ath/wil6210/trace.h
246
__entry->vring, __entry->index, __entry->len,
drivers/net/wireless/ath/wil6210/txrx.c
1051
struct wil_ring *vring = &wil->ring_rx;
drivers/net/wireless/ath/wil6210/txrx.c
1056
if (vring->va) {
drivers/net/wireless/ath/wil6210/txrx.c
1063
vring->size = 1 << order;
drivers/net/wireless/ath/wil6210/txrx.c
1064
vring->is_rx = true;
drivers/net/wireless/ath/wil6210/txrx.c
1065
rc = wil_vring_alloc(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
1069
rc = wmi_rx_chain_add(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
1073
rc = wil_rx_refill(wil, vring->size);
drivers/net/wireless/ath/wil6210/txrx.c
1079
wil_vring_free(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
1086
struct wil_ring *vring = &wil->ring_rx;
drivers/net/wireless/ath/wil6210/txrx.c
1090
if (vring->va)
drivers/net/wireless/ath/wil6210/txrx.c
1091
wil_vring_free(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
110
static int wil_vring_alloc(struct wil6210_priv *wil, struct wil_ring *vring)
drivers/net/wireless/ath/wil6210/txrx.c
113
size_t sz = vring->size * sizeof(vring->va[0]);
drivers/net/wireless/ath/wil6210/txrx.c
1164
struct wil_ring *vring = &wil->ring_tx[id];
drivers/net/wireless/ath/wil6210/txrx.c
1179
if (vring->va) {
drivers/net/wireless/ath/wil6210/txrx.c
118
BUILD_BUG_ON(sizeof(vring->va[0]) != 32);
drivers/net/wireless/ath/wil6210/txrx.c
1186
vring->is_rx = false;
drivers/net/wireless/ath/wil6210/txrx.c
1187
vring->size = size;
drivers/net/wireless/ath/wil6210/txrx.c
1188
rc = wil_vring_alloc(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
1195
cmd.vring_cfg.tx_sw_ring.ring_mem_base = cpu_to_le64(vring->pa);
drivers/net/wireless/ath/wil6210/txrx.c
120
vring->swhead = 0;
drivers/net/wireless/ath/wil6210/txrx.c
121
vring->swtail = 0;
drivers/net/wireless/ath/wil6210/txrx.c
1213
vring->hwtail = le32_to_cpu(reply.cmd.tx_vring_tail_ptr);
drivers/net/wireless/ath/wil6210/txrx.c
122
vring->ctx = kzalloc_objs(vring->ctx[0], vring->size);
drivers/net/wireless/ath/wil6210/txrx.c
1227
wil_vring_free(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
123
if (!vring->ctx) {
drivers/net/wireless/ath/wil6210/txrx.c
124
vring->va = NULL;
drivers/net/wireless/ath/wil6210/txrx.c
1267
struct wil_ring *vring = &wil->ring_tx[ring_id];
drivers/net/wireless/ath/wil6210/txrx.c
1274
if (!vring->va) {
drivers/net/wireless/ath/wil6210/txrx.c
1286
cmd.vring_cfg.tx_sw_ring.ring_mem_base = cpu_to_le64(vring->pa);
drivers/net/wireless/ath/wil6210/txrx.c
1341
struct wil_ring *vring = &wil->ring_tx[id];
drivers/net/wireless/ath/wil6210/txrx.c
1348
if (vring->va) {
drivers/net/wireless/ath/wil6210/txrx.c
1355
vring->is_rx = false;
drivers/net/wireless/ath/wil6210/txrx.c
1356
vring->size = size;
drivers/net/wireless/ath/wil6210/txrx.c
1357
rc = wil_vring_alloc(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
1364
cmd.vring_cfg.tx_sw_ring.ring_mem_base = cpu_to_le64(vring->pa);
drivers/net/wireless/ath/wil6210/txrx.c
1383
vring->hwtail = le32_to_cpu(reply.cmd.tx_vring_tail_ptr);
drivers/net/wireless/ath/wil6210/txrx.c
1394
wil_vring_free(wil, vring);
drivers/net/wireless/ath/wil6210/txrx.c
143
vring->va = dma_alloc_coherent(dev, sz, &vring->pa, GFP_KERNEL);
drivers/net/wireless/ath/wil6210/txrx.c
144
if (!vring->va) {
drivers/net/wireless/ath/wil6210/txrx.c
145
kfree(vring->ctx);
drivers/net/wireless/ath/wil6210/txrx.c
146
vring->ctx = NULL;
drivers/net/wireless/ath/wil6210/txrx.c
158
for (i = 0; i < vring->size; i++) {
drivers/net/wireless/ath/wil6210/txrx.c
160
&vring->va[i].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
165
wil_dbg_misc(wil, "vring[%d] 0x%p:%pad 0x%p\n", vring->size,
drivers/net/wireless/ath/wil6210/txrx.c
166
vring->va, &vring->pa, vring->ctx);
drivers/net/wireless/ath/wil6210/txrx.c
1726
struct wil_ring *vring, struct sk_buff *skb)
drivers/net/wireless/ath/wil6210/txrx.c
1745
u32 swhead = vring->swhead;
drivers/net/wireless/ath/wil6210/txrx.c
1746
int used, avail = wil_ring_avail_tx(vring);
drivers/net/wireless/ath/wil6210/txrx.c
1751
int vring_index = vring - wil->ring_tx;
drivers/net/wireless/ath/wil6210/txrx.c
1818
_hdr_desc = &vring->va[i].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
1832
vring->ctx[i].mapped_as = wil_mapped_as_single;
drivers/net/wireless/ath/wil6210/txrx.c
1833
hdr_ctx = &vring->ctx[i];
drivers/net/wireless/ath/wil6210/txrx.c
1861
i = (swhead + descs_used) % vring->size;
drivers/net/wireless/ath/wil6210/txrx.c
1868
vring->ctx[i].mapped_as = wil_mapped_as_page;
drivers/net/wireless/ath/wil6210/txrx.c
1875
vring->ctx[i].mapped_as = wil_mapped_as_single;
drivers/net/wireless/ath/wil6210/txrx.c
1884
_desc = &vring->va[i].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
1888
first_ctx = &vring->ctx[i];
drivers/net/wireless/ath/wil6210/txrx.c
190
static void wil_vring_free(struct wil6210_priv *wil, struct wil_ring *vring)
drivers/net/wireless/ath/wil6210/txrx.c
193
size_t sz = vring->size * sizeof(vring->va[0]);
drivers/net/wireless/ath/wil6210/txrx.c
196
if (!vring->is_rx) {
drivers/net/wireless/ath/wil6210/txrx.c
197
int vring_index = vring - wil->ring_tx;
drivers/net/wireless/ath/wil6210/txrx.c
1973
vring->ctx[i].skb = skb_get(skb);
drivers/net/wireless/ath/wil6210/txrx.c
1976
used = wil_ring_used_tx(vring);
drivers/net/wireless/ath/wil6210/txrx.c
1992
wil_ring_advance_head(vring, descs_used);
drivers/net/wireless/ath/wil6210/txrx.c
1993
wil_dbg_txrx(wil, "TSO: Tx swhead %d -> %d\n", swhead, vring->swhead);
drivers/net/wireless/ath/wil6210/txrx.c
200
vring_index, vring->size, vring->va,
drivers/net/wireless/ath/wil6210/txrx.c
2005
wil_w(wil, vring->hwtail, vring->swhead);
drivers/net/wireless/ath/wil6210/txrx.c
201
&vring->pa, vring->ctx);
drivers/net/wireless/ath/wil6210/txrx.c
2012
i = (swhead + descs_used - 1) % vring->size;
drivers/net/wireless/ath/wil6210/txrx.c
2013
d = (struct vring_tx_desc *)&vring->va[i].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
2014
_desc = &vring->va[i].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
2017
ctx = &vring->ctx[i];
drivers/net/wireless/ath/wil6210/txrx.c
204
vring->size, vring->va,
drivers/net/wireless/ath/wil6210/txrx.c
205
&vring->pa, vring->ctx);
drivers/net/wireless/ath/wil6210/txrx.c
208
while (!wil_ring_is_empty(vring)) {
drivers/net/wireless/ath/wil6210/txrx.c
213
if (!vring->is_rx) {
drivers/net/wireless/ath/wil6210/txrx.c
216
&vring->va[vring->swtail].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
218
ctx = &vring->ctx[vring->swtail];
drivers/net/wireless/ath/wil6210/txrx.c
222
vring->swtail);
drivers/net/wireless/ath/wil6210/txrx.c
223
vring->swtail = wil_ring_next_tail(vring);
drivers/net/wireless/ath/wil6210/txrx.c
230
vring->swtail = wil_ring_next_tail(vring);
drivers/net/wireless/ath/wil6210/txrx.c
234
&vring->va[vring->swhead].rx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
236
ctx = &vring->ctx[vring->swhead];
drivers/net/wireless/ath/wil6210/txrx.c
242
wil_ring_advance_head(vring, 1);
drivers/net/wireless/ath/wil6210/txrx.c
2423
struct wil_ring *vring = &wil->ring_tx[ringid];
drivers/net/wireless/ath/wil6210/txrx.c
2432
if (unlikely(!vring->va)) {
drivers/net/wireless/ath/wil6210/txrx.c
2444
used_before_complete = wil_ring_used_tx(vring);
drivers/net/wireless/ath/wil6210/txrx.c
2449
while (!wil_ring_is_empty(vring)) {
drivers/net/wireless/ath/wil6210/txrx.c
245
dma_free_coherent(dev, sz, (void *)vring->va, vring->pa);
drivers/net/wireless/ath/wil6210/txrx.c
2451
struct wil_ctx *ctx = &vring->ctx[vring->swtail];
drivers/net/wireless/ath/wil6210/txrx.c
2456
int lf = (vring->swtail + ctx->nr_frags) % vring->size;
drivers/net/wireless/ath/wil6210/txrx.c
2459
_d = &vring->va[lf].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
246
kfree(vring->ctx);
drivers/net/wireless/ath/wil6210/txrx.c
2463
new_swtail = (lf + 1) % vring->size;
drivers/net/wireless/ath/wil6210/txrx.c
2464
while (vring->swtail != new_swtail) {
drivers/net/wireless/ath/wil6210/txrx.c
2469
ctx = &vring->ctx[vring->swtail];
drivers/net/wireless/ath/wil6210/txrx.c
247
vring->pa = 0;
drivers/net/wireless/ath/wil6210/txrx.c
2471
_d = &vring->va[vring->swtail].tx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
2476
trace_wil6210_tx_done(ringid, vring->swtail, dmalen,
drivers/net/wireless/ath/wil6210/txrx.c
248
vring->va = NULL;
drivers/net/wireless/ath/wil6210/txrx.c
2480
ringid, vring->swtail, dmalen,
drivers/net/wireless/ath/wil6210/txrx.c
249
vring->ctx = NULL;
drivers/net/wireless/ath/wil6210/txrx.c
2523
vring->swtail = wil_ring_next_tail(vring);
drivers/net/wireless/ath/wil6210/txrx.c
2529
used_new = wil_ring_used_tx(vring);
drivers/net/wireless/ath/wil6210/txrx.c
2539
wil_update_net_queues(wil, vif, vring, false);
drivers/net/wireless/ath/wil6210/txrx.c
256
static int wil_vring_alloc_skb(struct wil6210_priv *wil, struct wil_ring *vring,
drivers/net/wireless/ath/wil6210/txrx.c
262
volatile struct vring_rx_desc *_d = &vring->va[i].rx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
292
vring->ctx[i].skb = skb;
drivers/net/wireless/ath/wil6210/txrx.c
440
struct wil_ring *vring)
drivers/net/wireless/ath/wil6210/txrx.c
460
if (unlikely(wil_ring_is_empty(vring)))
drivers/net/wireless/ath/wil6210/txrx.c
463
i = (int)vring->swhead;
drivers/net/wireless/ath/wil6210/txrx.c
464
_d = &vring->va[i].rx.legacy;
drivers/net/wireless/ath/wil6210/txrx.c
470
skb = vring->ctx[i].skb;
drivers/net/wireless/ath/wil6210/txrx.c
471
vring->ctx[i].skb = NULL;
drivers/net/wireless/ath/wil6210/txrx.c
472
wil_ring_advance_head(vring, 1);
drivers/net/wireless/ath/wil6210/txrx.c
71
struct wil_ring *vring = &wil->ring_tx[i];
drivers/net/wireless/ath/wil6210/txrx.c
72
int vring_index = vring - wil->ring_tx;
drivers/net/wireless/ath/wil6210/txrx.c
78
if (!vring->va || !txdata->enabled) {
drivers/net/wireless/ath/wil6210/txrx.c
86
while (!wil_ring_is_empty(vring)) {
drivers/net/wireless/ath/wil6210/txrx.c
99
if (!vring->va || !txdata->enabled)
drivers/net/wireless/ath/wil6210/wil6210.h
1258
int wmi_rx_chain_add(struct wil6210_priv *wil, struct wil_ring *vring);
drivers/net/wireless/ath/wil6210/wmi.c
2609
int wmi_rx_chain_add(struct wil6210_priv *wil, struct wil_ring *vring)
drivers/net/wireless/ath/wil6210/wmi.c
2619
.ring_mem_base = cpu_to_le64(vring->pa),
drivers/net/wireless/ath/wil6210/wmi.c
2620
.ring_size = cpu_to_le16(vring->size),
drivers/net/wireless/ath/wil6210/wmi.c
2667
vring->hwtail = le32_to_cpu(evt.evt.rx_ring_tail_ptr);
drivers/net/wireless/ath/wil6210/wmi.c
2670
le32_to_cpu(evt.evt.status), vring->hwtail);
drivers/platform/mellanox/mlxbf-tmfifo.c
1001
mlxbf_tmfifo_console_output(tm_vdev, vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
1040
struct mlxbf_tmfifo_vring *vring;
drivers/platform/mellanox/mlxbf-tmfifo.c
1045
vring = &tm_vdev->vrings[i];
drivers/platform/mellanox/mlxbf-tmfifo.c
1048
if (vring->desc)
drivers/platform/mellanox/mlxbf-tmfifo.c
1049
mlxbf_tmfifo_release_pkt(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
1050
vq = vring->vq;
drivers/platform/mellanox/mlxbf-tmfifo.c
1052
vring->vq = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
1066
struct mlxbf_tmfifo_vring *vring;
drivers/platform/mellanox/mlxbf-tmfifo.c
1080
vring = &tm_vdev->vrings[i];
drivers/platform/mellanox/mlxbf-tmfifo.c
1083
size = vring_size(vring->num, vring->align);
drivers/platform/mellanox/mlxbf-tmfifo.c
1084
memset(vring->va, 0, size);
drivers/platform/mellanox/mlxbf-tmfifo.c
1085
vq = vring_new_virtqueue(i, vring->num, vring->align, vdev,
drivers/platform/mellanox/mlxbf-tmfifo.c
1086
false, false, vring->va,
drivers/platform/mellanox/mlxbf-tmfifo.c
1095
vq->num_max = vring->num;
drivers/platform/mellanox/mlxbf-tmfifo.c
1097
vq->priv = vring;
drivers/platform/mellanox/mlxbf-tmfifo.c
1103
vring->vq = vq;
drivers/platform/mellanox/mlxbf-tmfifo.c
203
struct mlxbf_tmfifo_vring *vring[2];
drivers/platform/mellanox/mlxbf-tmfifo.c
249
struct mlxbf_tmfifo_vring *vring;
drivers/platform/mellanox/mlxbf-tmfifo.c
253
vring = &tm_vdev->vrings[i];
drivers/platform/mellanox/mlxbf-tmfifo.c
254
if (vring->va) {
drivers/platform/mellanox/mlxbf-tmfifo.c
255
size = vring_size(vring->num, vring->align);
drivers/platform/mellanox/mlxbf-tmfifo.c
257
vring->va, vring->dma);
drivers/platform/mellanox/mlxbf-tmfifo.c
258
vring->va = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
259
if (vring->vq) {
drivers/platform/mellanox/mlxbf-tmfifo.c
260
vring_del_virtqueue(vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
261
vring->vq = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
271
struct mlxbf_tmfifo_vring *vring;
drivers/platform/mellanox/mlxbf-tmfifo.c
278
vring = &tm_vdev->vrings[i];
drivers/platform/mellanox/mlxbf-tmfifo.c
279
vring->fifo = fifo;
drivers/platform/mellanox/mlxbf-tmfifo.c
280
vring->num = MLXBF_TMFIFO_VRING_SIZE;
drivers/platform/mellanox/mlxbf-tmfifo.c
281
vring->align = SMP_CACHE_BYTES;
drivers/platform/mellanox/mlxbf-tmfifo.c
282
vring->index = i;
drivers/platform/mellanox/mlxbf-tmfifo.c
283
vring->vdev_id = tm_vdev->vdev.id.device;
drivers/platform/mellanox/mlxbf-tmfifo.c
284
vring->drop_desc.len = cpu_to_virtio32(&tm_vdev->vdev,
drivers/platform/mellanox/mlxbf-tmfifo.c
288
size = vring_size(vring->num, vring->align);
drivers/platform/mellanox/mlxbf-tmfifo.c
296
vring->va = va;
drivers/platform/mellanox/mlxbf-tmfifo.c
297
vring->dma = dma;
drivers/platform/mellanox/mlxbf-tmfifo.c
328
mlxbf_tmfifo_get_next_desc(struct mlxbf_tmfifo_vring *vring)
drivers/platform/mellanox/mlxbf-tmfifo.c
330
const struct vring *vr = virtqueue_get_vring(vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
331
struct virtio_device *vdev = vring->vq->vdev;
drivers/platform/mellanox/mlxbf-tmfifo.c
334
if (vring->next_avail == virtio16_to_cpu(vdev, vr->avail->idx))
drivers/platform/mellanox/mlxbf-tmfifo.c
340
idx = vring->next_avail % vr->num;
drivers/platform/mellanox/mlxbf-tmfifo.c
345
vring->next_avail++;
drivers/platform/mellanox/mlxbf-tmfifo.c
351
static void mlxbf_tmfifo_release_desc(struct mlxbf_tmfifo_vring *vring,
drivers/platform/mellanox/mlxbf-tmfifo.c
354
const struct vring *vr = virtqueue_get_vring(vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
355
struct virtio_device *vdev = vring->vq->vdev;
drivers/platform/mellanox/mlxbf-tmfifo.c
373
static u32 mlxbf_tmfifo_get_pkt_len(struct mlxbf_tmfifo_vring *vring,
drivers/platform/mellanox/mlxbf-tmfifo.c
376
const struct vring *vr = virtqueue_get_vring(vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
377
struct virtio_device *vdev = vring->vq->vdev;
drivers/platform/mellanox/mlxbf-tmfifo.c
391
static void mlxbf_tmfifo_release_pkt(struct mlxbf_tmfifo_vring *vring)
drivers/platform/mellanox/mlxbf-tmfifo.c
396
if (vring->desc_head) {
drivers/platform/mellanox/mlxbf-tmfifo.c
397
desc_head = vring->desc_head;
drivers/platform/mellanox/mlxbf-tmfifo.c
398
len = vring->pkt_len;
drivers/platform/mellanox/mlxbf-tmfifo.c
400
desc_head = mlxbf_tmfifo_get_next_desc(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
401
len = mlxbf_tmfifo_get_pkt_len(vring, desc_head);
drivers/platform/mellanox/mlxbf-tmfifo.c
405
mlxbf_tmfifo_release_desc(vring, desc_head, len);
drivers/platform/mellanox/mlxbf-tmfifo.c
407
vring->pkt_len = 0;
drivers/platform/mellanox/mlxbf-tmfifo.c
408
vring->desc = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
409
vring->desc_head = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
412
static void mlxbf_tmfifo_init_net_desc(struct mlxbf_tmfifo_vring *vring,
drivers/platform/mellanox/mlxbf-tmfifo.c
415
struct virtio_device *vdev = vring->vq->vdev;
drivers/platform/mellanox/mlxbf-tmfifo.c
424
mlxbf_tmfifo_get_next_pkt(struct mlxbf_tmfifo_vring *vring, bool is_rx)
drivers/platform/mellanox/mlxbf-tmfifo.c
428
desc = mlxbf_tmfifo_get_next_desc(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
429
if (desc && is_rx && vring->vdev_id == VIRTIO_ID_NET)
drivers/platform/mellanox/mlxbf-tmfifo.c
430
mlxbf_tmfifo_init_net_desc(vring, desc, is_rx);
drivers/platform/mellanox/mlxbf-tmfifo.c
432
vring->desc_head = desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
433
vring->desc = desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
455
struct mlxbf_tmfifo_vring *vring,
drivers/platform/mellanox/mlxbf-tmfifo.c
458
const struct vring *vr = virtqueue_get_vring(vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
488
struct mlxbf_tmfifo_vring *vring)
drivers/platform/mellanox/mlxbf-tmfifo.c
493
desc = mlxbf_tmfifo_get_next_desc(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
496
len = mlxbf_tmfifo_get_pkt_len(vring, desc);
drivers/platform/mellanox/mlxbf-tmfifo.c
500
mlxbf_tmfifo_release_desc(vring, desc, len);
drivers/platform/mellanox/mlxbf-tmfifo.c
504
mlxbf_tmfifo_console_output_one(cons, vring, desc);
drivers/platform/mellanox/mlxbf-tmfifo.c
505
mlxbf_tmfifo_release_desc(vring, desc, len);
drivers/platform/mellanox/mlxbf-tmfifo.c
506
desc = mlxbf_tmfifo_get_next_desc(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
602
static void mlxbf_tmfifo_rxtx_word(struct mlxbf_tmfifo_vring *vring,
drivers/platform/mellanox/mlxbf-tmfifo.c
606
struct virtio_device *vdev = vring->vq->vdev;
drivers/platform/mellanox/mlxbf-tmfifo.c
607
struct mlxbf_tmfifo *fifo = vring->fifo;
drivers/platform/mellanox/mlxbf-tmfifo.c
618
if (vring->cur_len + sizeof(u64) <= len) {
drivers/platform/mellanox/mlxbf-tmfifo.c
621
if (!IS_VRING_DROP(vring))
drivers/platform/mellanox/mlxbf-tmfifo.c
622
memcpy(addr + vring->cur_len, &data,
drivers/platform/mellanox/mlxbf-tmfifo.c
625
memcpy(&data, addr + vring->cur_len,
drivers/platform/mellanox/mlxbf-tmfifo.c
628
vring->cur_len += sizeof(u64);
drivers/platform/mellanox/mlxbf-tmfifo.c
632
if (!IS_VRING_DROP(vring))
drivers/platform/mellanox/mlxbf-tmfifo.c
633
memcpy(addr + vring->cur_len, &data,
drivers/platform/mellanox/mlxbf-tmfifo.c
634
len - vring->cur_len);
drivers/platform/mellanox/mlxbf-tmfifo.c
637
memcpy(&data, addr + vring->cur_len,
drivers/platform/mellanox/mlxbf-tmfifo.c
638
len - vring->cur_len);
drivers/platform/mellanox/mlxbf-tmfifo.c
640
vring->cur_len = len;
drivers/platform/mellanox/mlxbf-tmfifo.c
655
static void mlxbf_tmfifo_rxtx_header(struct mlxbf_tmfifo_vring *vring,
drivers/platform/mellanox/mlxbf-tmfifo.c
659
struct mlxbf_tmfifo *fifo = vring->fifo;
drivers/platform/mellanox/mlxbf-tmfifo.c
694
if (vdev_id != vring->vdev_id) {
drivers/platform/mellanox/mlxbf-tmfifo.c
699
vring->desc = *desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
700
vring = &tm_dev2->vrings[MLXBF_TMFIFO_VRING_RX];
drivers/platform/mellanox/mlxbf-tmfifo.c
704
if (drop_rx && !IS_VRING_DROP(vring)) {
drivers/platform/mellanox/mlxbf-tmfifo.c
705
if (vring->desc_head)
drivers/platform/mellanox/mlxbf-tmfifo.c
706
mlxbf_tmfifo_release_pkt(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
707
*desc = &vring->drop_desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
708
vring->desc_head = *desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
709
vring->desc = *desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
712
vring->pkt_len = ntohs(hdr.len) + hdr_len;
drivers/platform/mellanox/mlxbf-tmfifo.c
715
hdr_len = (vring->vdev_id == VIRTIO_ID_NET) ?
drivers/platform/mellanox/mlxbf-tmfifo.c
717
vring->pkt_len = mlxbf_tmfifo_get_pkt_len(vring, *desc);
drivers/platform/mellanox/mlxbf-tmfifo.c
718
hdr.type = (vring->vdev_id == VIRTIO_ID_NET) ?
drivers/platform/mellanox/mlxbf-tmfifo.c
720
hdr.len = htons(vring->pkt_len - hdr_len);
drivers/platform/mellanox/mlxbf-tmfifo.c
724
vring->cur_len = hdr_len;
drivers/platform/mellanox/mlxbf-tmfifo.c
725
vring->rem_len = vring->pkt_len;
drivers/platform/mellanox/mlxbf-tmfifo.c
726
fifo->vring[is_rx] = vring;
drivers/platform/mellanox/mlxbf-tmfifo.c
734
static bool mlxbf_tmfifo_rxtx_one_desc(struct mlxbf_tmfifo_vring *vring,
drivers/platform/mellanox/mlxbf-tmfifo.c
737
const struct vring *vr = virtqueue_get_vring(vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
738
struct mlxbf_tmfifo *fifo = vring->fifo;
drivers/platform/mellanox/mlxbf-tmfifo.c
745
vdev = &fifo->vdev[vring->vdev_id]->vdev;
drivers/platform/mellanox/mlxbf-tmfifo.c
748
if (!vring->desc) {
drivers/platform/mellanox/mlxbf-tmfifo.c
749
desc = mlxbf_tmfifo_get_next_pkt(vring, is_rx);
drivers/platform/mellanox/mlxbf-tmfifo.c
753
desc = &vring->drop_desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
754
vring->desc_head = desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
755
vring->desc = desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
761
desc = vring->desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
765
if (vring->pkt_len == 0) {
drivers/platform/mellanox/mlxbf-tmfifo.c
766
mlxbf_tmfifo_rxtx_header(vring, &desc, is_rx, &vring_change);
drivers/platform/mellanox/mlxbf-tmfifo.c
777
if (len > vring->rem_len)
drivers/platform/mellanox/mlxbf-tmfifo.c
778
len = vring->rem_len;
drivers/platform/mellanox/mlxbf-tmfifo.c
781
if (vring->cur_len < len) {
drivers/platform/mellanox/mlxbf-tmfifo.c
782
mlxbf_tmfifo_rxtx_word(vring, desc, is_rx, len);
drivers/platform/mellanox/mlxbf-tmfifo.c
787
if (vring->cur_len == len) {
drivers/platform/mellanox/mlxbf-tmfifo.c
788
vring->cur_len = 0;
drivers/platform/mellanox/mlxbf-tmfifo.c
789
vring->rem_len -= len;
drivers/platform/mellanox/mlxbf-tmfifo.c
792
if (!IS_VRING_DROP(vring) && vring->rem_len > 0 &&
drivers/platform/mellanox/mlxbf-tmfifo.c
801
fifo->vring[is_rx] = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
802
if (!IS_VRING_DROP(vring)) {
drivers/platform/mellanox/mlxbf-tmfifo.c
803
mlxbf_tmfifo_release_pkt(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
805
vring->pkt_len = 0;
drivers/platform/mellanox/mlxbf-tmfifo.c
806
vring->desc_head = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
807
vring->desc = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
819
vring_interrupt(0, vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
825
vring->desc = desc;
drivers/platform/mellanox/mlxbf-tmfifo.c
830
static void mlxbf_tmfifo_check_tx_timeout(struct mlxbf_tmfifo_vring *vring)
drivers/platform/mellanox/mlxbf-tmfifo.c
835
if (vring->vdev_id != VIRTIO_ID_NET)
drivers/platform/mellanox/mlxbf-tmfifo.c
839
if (!vring->tx_timeout) {
drivers/platform/mellanox/mlxbf-tmfifo.c
841
vring->tx_timeout = jiffies +
drivers/platform/mellanox/mlxbf-tmfifo.c
844
} else if (time_before(jiffies, vring->tx_timeout)) {
drivers/platform/mellanox/mlxbf-tmfifo.c
856
vring->rem_padding = round_up(vring->rem_len, sizeof(u64));
drivers/platform/mellanox/mlxbf-tmfifo.c
857
mlxbf_tmfifo_release_pkt(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
858
vring->cur_len = 0;
drivers/platform/mellanox/mlxbf-tmfifo.c
859
vring->rem_len = 0;
drivers/platform/mellanox/mlxbf-tmfifo.c
860
vring->fifo->vring[0] = NULL;
drivers/platform/mellanox/mlxbf-tmfifo.c
869
spin_lock_irqsave(&vring->fifo->spin_lock[0], flags);
drivers/platform/mellanox/mlxbf-tmfifo.c
870
vring_interrupt(0, vring->vq);
drivers/platform/mellanox/mlxbf-tmfifo.c
871
spin_unlock_irqrestore(&vring->fifo->spin_lock[0], flags);
drivers/platform/mellanox/mlxbf-tmfifo.c
875
static void mlxbf_tmfifo_rxtx(struct mlxbf_tmfifo_vring *vring, bool is_rx)
drivers/platform/mellanox/mlxbf-tmfifo.c
877
int avail = 0, devid = vring->vdev_id;
drivers/platform/mellanox/mlxbf-tmfifo.c
881
fifo = vring->fifo;
drivers/platform/mellanox/mlxbf-tmfifo.c
888
if (fifo->vring[is_rx] && fifo->vring[is_rx] != vring)
drivers/platform/mellanox/mlxbf-tmfifo.c
909
vring->tx_timeout = 0;
drivers/platform/mellanox/mlxbf-tmfifo.c
910
while (vring->rem_padding >= sizeof(u64)) {
drivers/platform/mellanox/mlxbf-tmfifo.c
911
writeq(0, vring->fifo->tx.data);
drivers/platform/mellanox/mlxbf-tmfifo.c
912
vring->rem_padding -= sizeof(u64);
drivers/platform/mellanox/mlxbf-tmfifo.c
925
more = mlxbf_tmfifo_rxtx_one_desc(vring, is_rx, &avail);
drivers/platform/mellanox/mlxbf-tmfifo.c
930
mlxbf_tmfifo_check_tx_timeout(vring);
drivers/platform/mellanox/mlxbf-tmfifo.c
938
struct mlxbf_tmfifo_vring *vring;
drivers/platform/mellanox/mlxbf-tmfifo.c
948
vring = &tm_vdev->vrings[queue_id];
drivers/platform/mellanox/mlxbf-tmfifo.c
949
if (vring->vq)
drivers/platform/mellanox/mlxbf-tmfifo.c
950
mlxbf_tmfifo_rxtx(vring, is_rx);
drivers/platform/mellanox/mlxbf-tmfifo.c
980
struct mlxbf_tmfifo_vring *vring = vq->priv;
drivers/platform/mellanox/mlxbf-tmfifo.c
985
fifo = vring->fifo;
drivers/platform/mellanox/mlxbf-tmfifo.c
991
if (vring->index & BIT(0)) {
drivers/platform/mellanox/mlxbf-tmfifo.c
998
if (vring->vdev_id == VIRTIO_ID_CONSOLE) {
drivers/remoteproc/ingenic_rproc.c
156
u32 vring;
drivers/remoteproc/ingenic_rproc.c
158
vring = readl(vpu->aux_base + REG_AUX_MSG);
drivers/remoteproc/ingenic_rproc.c
163
return rproc_vq_interrupt(rproc, vring);
drivers/remoteproc/remoteproc_core.c
325
struct rproc_vring *rvring = &rvdev->vring[i];
drivers/remoteproc/remoteproc_core.c
340
if (rproc_check_carveout_da(rproc, mem, rsc->vring[i].da, size))
drivers/remoteproc/remoteproc_core.c
345
size, rsc->vring[i].da,
drivers/remoteproc/remoteproc_core.c
377
rsc->vring[i].notifyid = notifyid;
drivers/remoteproc/remoteproc_core.c
386
struct fw_rsc_vdev_vring *vring = &rsc->vring[i];
drivers/remoteproc/remoteproc_core.c
387
struct rproc_vring *rvring = &rvdev->vring[i];
drivers/remoteproc/remoteproc_core.c
390
i, vring->da, vring->num, vring->align);
drivers/remoteproc/remoteproc_core.c
393
if (!vring->num || !vring->align) {
drivers/remoteproc/remoteproc_core.c
395
vring->num, vring->align);
drivers/remoteproc/remoteproc_core.c
399
rvring->num = vring->num;
drivers/remoteproc/remoteproc_core.c
400
rvring->align = vring->align;
drivers/remoteproc/remoteproc_core.c
409
int idx = rvring - rvring->rvdev->vring;
drivers/remoteproc/remoteproc_core.c
427
rsc->vring[idx].da = 0;
drivers/remoteproc/remoteproc_core.c
428
rsc->vring[idx].notifyid = -1;
drivers/remoteproc/remoteproc_core.c
482
rsc_size = struct_size(rsc, vring, rsc->num_of_vrings);
drivers/remoteproc/remoteproc_core.c
498
if (rsc->num_of_vrings > ARRAY_SIZE(rvdev->vring)) {
drivers/remoteproc/remoteproc_debugfs.c
341
seq_printf(seq, " Device Address 0x%x\n", v->vring[j].da);
drivers/remoteproc/remoteproc_debugfs.c
342
seq_printf(seq, " Alignment %d\n", v->vring[j].align);
drivers/remoteproc/remoteproc_debugfs.c
343
seq_printf(seq, " Number of buffers %d\n", v->vring[j].num);
drivers/remoteproc/remoteproc_debugfs.c
344
seq_printf(seq, " Notify ID %d\n", v->vring[j].notifyid);
drivers/remoteproc/remoteproc_debugfs.c
346
v->vring[j].pa);
drivers/remoteproc/remoteproc_virtio.c
119
if (id >= ARRAY_SIZE(rvdev->vring))
drivers/remoteproc/remoteproc_virtio.c
131
rvring = &rvdev->vring[id];
drivers/remoteproc/remoteproc_virtio.c
161
rsc->vring[id].da = mem->da;
drivers/remoteproc/remoteproc_virtio.c
299
cfg = &rsc->vring[rsc->num_of_vrings];
drivers/remoteproc/remoteproc_virtio.c
317
cfg = &rsc->vring[rsc->num_of_vrings];
drivers/remoteproc/remoteproc_virtio.c
570
rproc_free_vring(&rvdev->vring[i]);
drivers/remoteproc/remoteproc_virtio.c
582
for (id = 0; id < ARRAY_SIZE(rvdev->vring); id++) {
drivers/remoteproc/remoteproc_virtio.c
583
rvring = &rvdev->vring[id];
drivers/vdpa/alibaba/eni_vdpa.c
104
int irq = eni_vdpa->vring[idx].irq;
drivers/vdpa/alibaba/eni_vdpa.c
119
if (eni_vdpa->vring[i].irq != VIRTIO_MSI_NO_VECTOR) {
drivers/vdpa/alibaba/eni_vdpa.c
121
devm_free_irq(&pdev->dev, eni_vdpa->vring[i].irq,
drivers/vdpa/alibaba/eni_vdpa.c
122
&eni_vdpa->vring[i]);
drivers/vdpa/alibaba/eni_vdpa.c
123
eni_vdpa->vring[i].irq = VIRTIO_MSI_NO_VECTOR;
drivers/vdpa/alibaba/eni_vdpa.c
141
struct eni_vring *vring = arg;
drivers/vdpa/alibaba/eni_vdpa.c
143
if (vring->cb.callback)
drivers/vdpa/alibaba/eni_vdpa.c
144
return vring->cb.callback(vring->cb.private);
drivers/vdpa/alibaba/eni_vdpa.c
178
snprintf(eni_vdpa->vring[i].msix_name, ENI_MSIX_NAME_SIZE,
drivers/vdpa/alibaba/eni_vdpa.c
183
0, eni_vdpa->vring[i].msix_name,
drivers/vdpa/alibaba/eni_vdpa.c
184
&eni_vdpa->vring[i]);
drivers/vdpa/alibaba/eni_vdpa.c
190
eni_vdpa->vring[i].irq = irq;
drivers/vdpa/alibaba/eni_vdpa.c
293
eni_vdpa->vring[qid].cb = *cb;
drivers/vdpa/alibaba/eni_vdpa.c
349
iowrite16(qid, eni_vdpa->vring[qid].notify);
drivers/vdpa/alibaba/eni_vdpa.c
41
struct eni_vring *vring;
drivers/vdpa/alibaba/eni_vdpa.c
503
eni_vdpa->vring = devm_kcalloc(&pdev->dev, eni_vdpa->queues,
drivers/vdpa/alibaba/eni_vdpa.c
504
sizeof(*eni_vdpa->vring),
drivers/vdpa/alibaba/eni_vdpa.c
506
if (!eni_vdpa->vring) {
drivers/vdpa/alibaba/eni_vdpa.c
513
eni_vdpa->vring[i].irq = VIRTIO_MSI_NO_VECTOR;
drivers/vdpa/alibaba/eni_vdpa.c
514
eni_vdpa->vring[i].notify = ldev->ioaddr + VIRTIO_PCI_QUEUE_NOTIFY;
drivers/vdpa/ifcvf/ifcvf_base.c
167
hw->vring = kzalloc(sizeof(struct vring_info) * hw->nr_vring, GFP_KERNEL);
drivers/vdpa/ifcvf/ifcvf_base.c
168
if (!hw->vring)
drivers/vdpa/ifcvf/ifcvf_base.c
174
hw->vring[i].notify_addr = hw->notify_base +
drivers/vdpa/ifcvf/ifcvf_base.c
176
hw->vring[i].notify_pa = hw->notify_base_pa +
drivers/vdpa/ifcvf/ifcvf_base.c
178
hw->vring[i].irq = -EINVAL;
drivers/vdpa/ifcvf/ifcvf_base.c
395
hw->vring[qid].cb.callback = NULL;
drivers/vdpa/ifcvf/ifcvf_base.c
396
hw->vring[qid].cb.private = NULL;
drivers/vdpa/ifcvf/ifcvf_base.c
430
vp_iowrite16(qid, hw->vring[qid].notify_addr);
drivers/vdpa/ifcvf/ifcvf_base.h
80
struct vring_info *vring;
drivers/vdpa/ifcvf/ifcvf_main.c
165
snprintf(vf->vring[i].msix_name, 256, "ifcvf[%s]-%d\n", pci_name(pdev), i);
drivers/vdpa/ifcvf/ifcvf_main.c
170
vf->vring[i].msix_name,
drivers/vdpa/ifcvf/ifcvf_main.c
171
&vf->vring[i]);
drivers/vdpa/ifcvf/ifcvf_main.c
177
vf->vring[i].irq = irq;
drivers/vdpa/ifcvf/ifcvf_main.c
198
snprintf(vf->vring[0].msix_name, 256, "ifcvf[%s]-vqs-reused-irq\n", pci_name(pdev));
drivers/vdpa/ifcvf/ifcvf_main.c
202
vf->vring[0].msix_name, vf);
drivers/vdpa/ifcvf/ifcvf_main.c
210
vf->vring[i].irq = -EINVAL;
drivers/vdpa/ifcvf/ifcvf_main.c
231
snprintf(vf->vring[0].msix_name, 256, "ifcvf[%s]-dev-irq\n", pci_name(pdev));
drivers/vdpa/ifcvf/ifcvf_main.c
235
vf->vring[0].msix_name, vf);
drivers/vdpa/ifcvf/ifcvf_main.c
243
vf->vring[i].irq = -EINVAL;
drivers/vdpa/ifcvf/ifcvf_main.c
32
struct vring_info *vring = arg;
drivers/vdpa/ifcvf/ifcvf_main.c
34
if (vring->cb.callback)
drivers/vdpa/ifcvf/ifcvf_main.c
35
return vring->cb.callback(vring->cb.private);
drivers/vdpa/ifcvf/ifcvf_main.c
43
struct vring_info *vring;
drivers/vdpa/ifcvf/ifcvf_main.c
47
vring = &vf->vring[i];
drivers/vdpa/ifcvf/ifcvf_main.c
48
if (vring->cb.callback)
drivers/vdpa/ifcvf/ifcvf_main.c
486
vf->vring[qid].cb = *cb;
drivers/vdpa/ifcvf/ifcvf_main.c
49
vring->cb.callback(vring->cb.private);
drivers/vdpa/ifcvf/ifcvf_main.c
600
return vf->vring[qid].irq;
drivers/vdpa/ifcvf/ifcvf_main.c
619
area.addr = vf->vring[idx].notify_pa;
drivers/vdpa/ifcvf/ifcvf_main.c
78
if (vf->vring[i].irq != -EINVAL) {
drivers/vdpa/ifcvf/ifcvf_main.c
79
devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]);
drivers/vdpa/ifcvf/ifcvf_main.c
80
vf->vring[i].irq = -EINVAL;
drivers/vdpa/ifcvf/ifcvf_main.c
814
vf->vring[i].irq = -EINVAL;
drivers/vdpa/ifcvf/ifcvf_main.c
851
kfree(ifcvf_mgmt_dev->vf.vring);
drivers/vdpa/ifcvf/ifcvf_main.c
862
kfree(ifcvf_mgmt_dev->vf.vring);
drivers/vdpa/mlx5/core/mlx5_vdpa.h
57
struct vringh vring;
drivers/vdpa/mlx5/core/resources.c
237
vringh_set_iotlb(&mvdev->cvq.vring, mvdev->cvq.iotlb, &mvdev->cvq.iommu_lock);
drivers/vdpa/mlx5/net/mlx5_vnet.c
2208
read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov,
drivers/vdpa/mlx5/net/mlx5_vnet.c
2300
read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)&mq, sizeof(mq));
drivers/vdpa/mlx5/net/mlx5_vnet.c
2339
read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan));
drivers/vdpa/mlx5/net/mlx5_vnet.c
2350
read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan));
drivers/vdpa/mlx5/net/mlx5_vnet.c
2393
err = vringh_getdesc_iotlb(&cvq->vring, &cvq->riov, &cvq->wiov, &cvq->head,
drivers/vdpa/mlx5/net/mlx5_vnet.c
2398
read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &ctrl, sizeof(ctrl));
drivers/vdpa/mlx5/net/mlx5_vnet.c
2420
write = vringh_iov_push_iotlb(&cvq->vring, &cvq->wiov, &status, sizeof(status));
drivers/vdpa/mlx5/net/mlx5_vnet.c
2421
vringh_complete_iotlb(&cvq->vring, cvq->head, write);
drivers/vdpa/mlx5/net/mlx5_vnet.c
2425
if (vringh_need_notify_iotlb(&cvq->vring))
drivers/vdpa/mlx5/net/mlx5_vnet.c
2426
vringh_notify(&cvq->vring);
drivers/vdpa/mlx5/net/mlx5_vnet.c
2498
cvq->vring.vring.num = num;
drivers/vdpa/mlx5/net/mlx5_vnet.c
2517
static void mlx5_cvq_notify(struct vringh *vring)
drivers/vdpa/mlx5/net/mlx5_vnet.c
2519
struct mlx5_control_vq *cvq = container_of(vring, struct mlx5_control_vq, vring);
drivers/vdpa/mlx5/net/mlx5_vnet.c
2535
cvq->vring.notify = mlx5_cvq_notify;
drivers/vdpa/mlx5/net/mlx5_vnet.c
2591
mvdev->cvq.vring.last_avail_idx = state->split.avail_index;
drivers/vdpa/mlx5/net/mlx5_vnet.c
2620
state->split.avail_index = mvdev->cvq.vring.last_avail_idx;
drivers/vdpa/mlx5/net/mlx5_vnet.c
3173
u16 idx = cvq->vring.last_avail_idx;
drivers/vdpa/mlx5/net/mlx5_vnet.c
3175
err = vringh_init_iotlb(&cvq->vring, mvdev->actual_features,
drivers/vdpa/mlx5/net/mlx5_vnet.c
3176
cvq->vring.vring.num, false,
drivers/vdpa/mlx5/net/mlx5_vnet.c
3182
cvq->vring.last_avail_idx = cvq->vring.last_used_idx = idx;
drivers/vdpa/vdpa_sim/vdpa_sim.c
105
vringh_init_iotlb_va(&vq->vring, vdpasim->features, vq->num,
drivers/vdpa/vdpa_sim/vdpa_sim.c
108
vringh_init_iotlb(&vq->vring, vdpasim->features, vq->num,
drivers/vdpa/vdpa_sim/vdpa_sim.c
112
vq->vring.last_avail_idx = last_avail_idx;
drivers/vdpa/vdpa_sim/vdpa_sim.c
123
vq->vring.last_used_idx = last_avail_idx;
drivers/vdpa/vdpa_sim/vdpa_sim.c
124
vq->vring.notify = vdpasim_vq_notify;
drivers/vdpa/vdpa_sim/vdpa_sim.c
136
vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features,
drivers/vdpa/vdpa_sim/vdpa_sim.c
139
vq->vring.notify = NULL;
drivers/vdpa/vdpa_sim/vdpa_sim.c
150
vringh_set_iotlb(&vdpasim->vqs[i].vring, &vdpasim->iommu[0],
drivers/vdpa/vdpa_sim/vdpa_sim.c
270
vringh_set_iotlb(&vdpasim->vqs[i].vring, &vdpasim->iommu[0],
drivers/vdpa/vdpa_sim/vdpa_sim.c
376
struct vringh *vrh = &vq->vring;
drivers/vdpa/vdpa_sim/vdpa_sim.c
390
struct vringh *vrh = &vq->vring;
drivers/vdpa/vdpa_sim/vdpa_sim.c
613
vringh_set_iotlb(&vdpasim->vqs[i].vring, iommu,
drivers/vdpa/vdpa_sim/vdpa_sim.c
82
static void vdpasim_vq_notify(struct vringh *vring)
drivers/vdpa/vdpa_sim/vdpa_sim.c
85
container_of(vring, struct vdpasim_virtqueue, vring);
drivers/vdpa/vdpa_sim/vdpa_sim.c
96
uint16_t last_avail_idx = vq->vring.last_avail_idx;
drivers/vdpa/vdpa_sim/vdpa_sim.h
23
struct vringh vring;
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
123
ret = vringh_getdesc_iotlb(&vq->vring, &vq->out_iov, &vq->in_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
146
bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, &hdr,
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
179
bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
202
bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
215
bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
245
bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, &range,
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
307
bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, &status, 1);
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
319
vringh_complete_iotlb(&vq->vring, vq->head, pushed);
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
349
if (vringh_need_notify_iotlb(&vq->vring) > 0)
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
350
vringh_notify(&vq->vring);
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
115
read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->in_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
144
err = vringh_getdesc_iotlb(&cvq->vring, &cvq->in_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
151
read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->in_iov, &ctrl,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
174
write = vringh_iov_push_iotlb(&cvq->vring, &cvq->out_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
176
vringh_complete_iotlb(&cvq->vring, cvq->head, write);
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
220
err = vringh_getdesc_iotlb(&txq->vring, &txq->out_iov, NULL,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
229
read = vringh_iov_pull_iotlb(&txq->vring, &txq->out_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
240
err = vringh_getdesc_iotlb(&rxq->vring, NULL, &rxq->in_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
248
write = vringh_iov_push_iotlb(&rxq->vring, &rxq->in_iov,
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
74
vringh_complete_iotlb(&vq->vring, vq->head, len);
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
80
if (vringh_need_notify_iotlb(&vq->vring) > 0)
drivers/vdpa/vdpa_sim/vdpa_sim_net.c
81
vringh_notify(&vq->vring);
drivers/vdpa/virtio_pci/vp_vdpa.c
102
int irq = vp_vdpa->vring[idx].irq;
drivers/vdpa/virtio_pci/vp_vdpa.c
117
if (vp_vdpa->vring[i].irq != VIRTIO_MSI_NO_VECTOR) {
drivers/vdpa/virtio_pci/vp_vdpa.c
119
devm_free_irq(&pdev->dev, vp_vdpa->vring[i].irq,
drivers/vdpa/virtio_pci/vp_vdpa.c
120
&vp_vdpa->vring[i]);
drivers/vdpa/virtio_pci/vp_vdpa.c
121
vp_vdpa->vring[i].irq = VIRTIO_MSI_NO_VECTOR;
drivers/vdpa/virtio_pci/vp_vdpa.c
139
struct vp_vring *vring = arg;
drivers/vdpa/virtio_pci/vp_vdpa.c
141
if (vring->cb.callback)
drivers/vdpa/virtio_pci/vp_vdpa.c
142
return vring->cb.callback(vring->cb.private);
drivers/vdpa/virtio_pci/vp_vdpa.c
167
if (vp_vdpa->vring[i].cb.callback)
drivers/vdpa/virtio_pci/vp_vdpa.c
182
if (!vp_vdpa->vring[i].cb.callback)
drivers/vdpa/virtio_pci/vp_vdpa.c
185
snprintf(vp_vdpa->vring[i].msix_name, VP_VDPA_NAME_SIZE,
drivers/vdpa/virtio_pci/vp_vdpa.c
190
0, vp_vdpa->vring[i].msix_name,
drivers/vdpa/virtio_pci/vp_vdpa.c
191
&vp_vdpa->vring[i]);
drivers/vdpa/virtio_pci/vp_vdpa.c
198
vp_vdpa->vring[i].irq = irq;
drivers/vdpa/virtio_pci/vp_vdpa.c
318
vp_vdpa->vring[qid].cb = *cb;
drivers/vdpa/virtio_pci/vp_vdpa.c
367
vp_iowrite16(qid, vp_vdpa->vring[qid].notify);
drivers/vdpa/virtio_pci/vp_vdpa.c
37
struct vp_vring *vring;
drivers/vdpa/virtio_pci/vp_vdpa.c
375
vp_iowrite32(data, vp_vdpa->vring[qid].notify);
drivers/vdpa/virtio_pci/vp_vdpa.c
459
notify.addr = vp_vdpa->vring[qid].notify_pa;
drivers/vdpa/virtio_pci/vp_vdpa.c
549
vp_vdpa->vring = devm_kcalloc(&pdev->dev, vp_vdpa->queues,
drivers/vdpa/virtio_pci/vp_vdpa.c
550
sizeof(*vp_vdpa->vring),
drivers/vdpa/virtio_pci/vp_vdpa.c
552
if (!vp_vdpa->vring) {
drivers/vdpa/virtio_pci/vp_vdpa.c
559
vp_vdpa->vring[i].irq = VIRTIO_MSI_NO_VECTOR;
drivers/vdpa/virtio_pci/vp_vdpa.c
560
vp_vdpa->vring[i].notify =
drivers/vdpa/virtio_pci/vp_vdpa.c
562
&vp_vdpa->vring[i].notify_pa);
drivers/vdpa/virtio_pci/vp_vdpa.c
563
if (!vp_vdpa->vring[i].notify) {
drivers/vhost/vringh.c
1417
if (err == vrh->vring.num)
drivers/vhost/vringh.c
250
*descs = vrh->vring.desc;
drivers/vhost/vringh.c
251
*desc_max = vrh->vring.num;
drivers/vhost/vringh.c
310
descs = vrh->vring.desc;
drivers/vhost/vringh.c
311
desc_max = vrh->vring.num;
drivers/vhost/vringh.c
366
if (count > vrh->vring.num || indirect_count > desc_max) {
drivers/vhost/vringh.c
46
err = getu16(vrh, &avail_idx, &vrh->vring.avail->idx);
drivers/vhost/vringh.c
460
used_ring = vrh->vring.used;
drivers/vhost/vringh.c
463
off = used_idx % vrh->vring.num;
drivers/vhost/vringh.c
466
if (num_used > 1 && unlikely(off + num_used >= vrh->vring.num)) {
drivers/vhost/vringh.c
467
u16 part = vrh->vring.num - off;
drivers/vhost/vringh.c
484
err = putu16(vrh, &vrh->vring.used->idx, used_idx + num_used);
drivers/vhost/vringh.c
487
&vrh->vring.used->idx);
drivers/vhost/vringh.c
49
&vrh->vring.avail->idx);
drivers/vhost/vringh.c
513
err = getu16(vrh, &flags, &vrh->vring.avail->flags);
drivers/vhost/vringh.c
516
&vrh->vring.avail->flags);
drivers/vhost/vringh.c
523
err = getu16(vrh, &used_event, &vring_used_event(&vrh->vring));
drivers/vhost/vringh.c
526
&vring_used_event(&vrh->vring));
drivers/vhost/vringh.c
54
return vrh->vring.num;
drivers/vhost/vringh.c
553
if (putu16(vrh, &vrh->vring.used->flags, 0) != 0) {
drivers/vhost/vringh.c
555
&vrh->vring.used->flags);
drivers/vhost/vringh.c
559
if (putu16(vrh, &vring_avail_event(&vrh->vring),
drivers/vhost/vringh.c
562
&vring_avail_event(&vrh->vring));
drivers/vhost/vringh.c
571
if (getu16(vrh, &avail, &vrh->vring.avail->idx) != 0) {
drivers/vhost/vringh.c
573
&vrh->vring.avail->idx);
drivers/vhost/vringh.c
589
if (putu16(vrh, &vrh->vring.used->flags,
drivers/vhost/vringh.c
59
i = *last_avail_idx & (vrh->vring.num - 1);
drivers/vhost/vringh.c
592
&vrh->vring.used->flags);
drivers/vhost/vringh.c
61
err = getu16(vrh, &head, &vrh->vring.avail->ring[i]);
drivers/vhost/vringh.c
64
*last_avail_idx, &vrh->vring.avail->ring[i]);
drivers/vhost/vringh.c
673
vrh->vring.num = num;
drivers/vhost/vringh.c
675
vrh->vring.desc = (__force struct vring_desc *)desc;
drivers/vhost/vringh.c
676
vrh->vring.avail = (__force struct vring_avail *)avail;
drivers/vhost/vringh.c
677
vrh->vring.used = (__force struct vring_used *)used;
drivers/vhost/vringh.c
68
if (head >= vrh->vring.num) {
drivers/vhost/vringh.c
70
head, vrh->vring.num);
drivers/vhost/vringh.c
711
*head = vrh->vring.num;
drivers/vhost/vringh.c
717
if (err == vrh->vring.num)
drivers/vhost/vringh.c
917
vrh->vring.num = num;
drivers/vhost/vringh.c
918
vrh->vring.desc = desc;
drivers/vhost/vringh.c
919
vrh->vring.avail = avail;
drivers/vhost/vringh.c
920
vrh->vring.used = used;
drivers/vhost/vringh.c
958
if (err == vrh->vring.num)
drivers/virtio/virtio_ring.c
1007
vq->split.vring.used->ring[last_used_idx].id);
drivers/virtio/virtio_ring.c
1009
vq->split.vring.used->ring[last_used_idx].len);
drivers/virtio/virtio_ring.c
1035
&vring_used_event(&vq->split.vring),
drivers/virtio/virtio_ring.c
1058
vring_used_event(&vq->split.vring) = 0x0;
drivers/virtio/virtio_ring.c
1060
vq->split.vring.avail->flags =
drivers/virtio/virtio_ring.c
108
struct vring vring;
drivers/virtio/virtio_ring.c
1080
vq->split.vring.avail->flags =
drivers/virtio/virtio_ring.c
1084
vring_used_event(&vq->split.vring) = cpu_to_virtio16(vq->vq.vdev,
drivers/virtio/virtio_ring.c
1104
vq->split.vring.avail->flags =
drivers/virtio/virtio_ring.c
1112
&vring_used_event(&vq->split.vring),
drivers/virtio/virtio_ring.c
1115
if (unlikely((u16)(virtio16_to_cpu(vq->vq.vdev, vq->split.vring.used->idx)
drivers/virtio/virtio_ring.c
1132
for (i = 0; i < vq->split.vring.num; i++) {
drivers/virtio/virtio_ring.c
1142
vq->split.vring.avail->idx = cpu_to_virtio16(vq->vq.vdev,
drivers/virtio/virtio_ring.c
1148
BUG_ON(vq->vq.num_free != vq->split.vring.num);
drivers/virtio/virtio_ring.c
1168
vring_split->vring.avail->flags = cpu_to_virtio16(vdev,
drivers/virtio/virtio_ring.c
1177
num = vq->split.vring.num;
drivers/virtio/virtio_ring.c
1179
vq->split.vring.avail->flags = 0;
drivers/virtio/virtio_ring.c
1180
vq->split.vring.avail->idx = 0;
drivers/virtio/virtio_ring.c
1183
vq->split.vring.avail->ring[num] = 0;
drivers/virtio/virtio_ring.c
1185
vq->split.vring.used->flags = 0;
drivers/virtio/virtio_ring.c
1186
vq->split.vring.used->idx = 0;
drivers/virtio/virtio_ring.c
1189
*(__virtio16 *)&(vq->split.vring.used->ring[num]) = 0;
drivers/virtio/virtio_ring.c
1210
u32 num = vring_split->vring.num;
drivers/virtio/virtio_ring.c
1237
vring_split->vring.desc,
drivers/virtio/virtio_ring.c
1285
vring_init(&vring_split->vring, num, queue, vring_align);
drivers/virtio/virtio_ring.c
1348
virtqueue_init(vq, vring_split->vring.num);
drivers/virtio/virtio_ring.c
1412
virtqueue_init(vq, vring_split.vring.num);
drivers/virtio/virtio_ring.c
142
} vring;
drivers/virtio/virtio_ring.c
1551
vq->packed.vring.desc[head].addr = cpu_to_le64(addr);
drivers/virtio/virtio_ring.c
1552
vq->packed.vring.desc[head].len = cpu_to_le32(total_sg *
drivers/virtio/virtio_ring.c
1554
vq->packed.vring.desc[head].id = cpu_to_le16(id);
drivers/virtio/virtio_ring.c
1570
vq->packed.vring.desc[head].flags = cpu_to_le16(VRING_DESC_F_INDIRECT |
drivers/virtio/virtio_ring.c
1578
if (n >= vq->packed.vring.num) {
drivers/virtio/virtio_ring.c
1649
BUG_ON(id == vq->packed.vring.num);
drivers/virtio/virtio_ring.c
1664
WARN_ON_ONCE(total_sg > vq->packed.vring.num && !vq->indirect);
drivers/virtio/virtio_ring.c
1666
desc = vq->packed.vring.desc;
drivers/virtio/virtio_ring.c
1678
BUG_ON(id == vq->packed.vring.num);
drivers/virtio/virtio_ring.c
1713
if ((unlikely(++i >= vq->packed.vring.num))) {
drivers/virtio/virtio_ring.c
1744
vq->packed.vring.desc[head].flags = head_flags;
drivers/virtio/virtio_ring.c
1765
if (i >= vq->packed.vring.num)
drivers/virtio/virtio_ring.c
1823
WARN_ON_ONCE(total_sg > vq->packed.vring.num && !vq->indirect);
drivers/virtio/virtio_ring.c
1825
desc = vq->packed.vring.desc;
drivers/virtio/virtio_ring.c
1871
if ((unlikely(++i >= vq->packed.vring.num))) {
drivers/virtio/virtio_ring.c
1902
vq->packed.vring.desc[head].flags = head_flags;
drivers/virtio/virtio_ring.c
1921
if (i >= vq->packed.vring.num)
drivers/virtio/virtio_ring.c
1953
snapshot.u32 = *(u32 *)vq->packed.vring.device;
drivers/virtio/virtio_ring.c
1969
event_idx -= vq->packed.vring.num;
drivers/virtio/virtio_ring.c
2042
flags = le16_to_cpu(vq->packed.vring.desc[idx].flags);
drivers/virtio/virtio_ring.c
2071
if (unlikely(last_used >= vq->packed.vring.num)) {
drivers/virtio/virtio_ring.c
2072
last_used -= vq->packed.vring.num;
drivers/virtio/virtio_ring.c
2086
&vq->packed.vring.driver->off_wrap,
drivers/virtio/virtio_ring.c
2102
unsigned int num = vq->packed.vring.num;
drivers/virtio/virtio_ring.c
2127
le16_to_cpu(vq->packed.vring.desc[last_used].id);
drivers/virtio/virtio_ring.c
2129
le32_to_cpu(vq->packed.vring.desc[last_used].len);
drivers/virtio/virtio_ring.c
2165
unsigned int num = vq->packed.vring.num;
drivers/virtio/virtio_ring.c
2189
id = le16_to_cpu(vq->packed.vring.desc[last_used].id);
drivers/virtio/virtio_ring.c
2190
*len = le32_to_cpu(vq->packed.vring.desc[last_used].len);
drivers/virtio/virtio_ring.c
2225
vq->packed.vring.driver->flags =
drivers/virtio/virtio_ring.c
2240
vq->packed.vring.driver->off_wrap =
drivers/virtio/virtio_ring.c
2253
vq->packed.vring.driver->flags =
drivers/virtio/virtio_ring.c
2275
bufs = (vq->packed.vring.num - vq->vq.num_free) * 3 / 4;
drivers/virtio/virtio_ring.c
2280
if (used_idx >= vq->packed.vring.num) {
drivers/virtio/virtio_ring.c
2281
used_idx -= vq->packed.vring.num;
drivers/virtio/virtio_ring.c
2285
vq->packed.vring.driver->off_wrap = cpu_to_le16(used_idx |
drivers/virtio/virtio_ring.c
2299
vq->packed.vring.driver->flags =
drivers/virtio/virtio_ring.c
2328
for (i = 0; i < vq->packed.vring.num; i++) {
drivers/virtio/virtio_ring.c
2341
BUG_ON(vq->vq.num_free != vq->packed.vring.num);
drivers/virtio/virtio_ring.c
2370
if (vring_packed->vring.desc)
drivers/virtio/virtio_ring.c
2372
vring_packed->vring.desc,
drivers/virtio/virtio_ring.c
2376
if (vring_packed->vring.driver)
drivers/virtio/virtio_ring.c
2378
vring_packed->vring.driver,
drivers/virtio/virtio_ring.c
2382
if (vring_packed->vring.device)
drivers/virtio/virtio_ring.c
2384
vring_packed->vring.device,
drivers/virtio/virtio_ring.c
2410
vring_packed->vring.desc = ring;
drivers/virtio/virtio_ring.c
2423
vring_packed->vring.driver = driver;
drivers/virtio/virtio_ring.c
2434
vring_packed->vring.device = device;
drivers/virtio/virtio_ring.c
2437
vring_packed->vring.num = num;
drivers/virtio/virtio_ring.c
2450
u32 num = vring_packed->vring.num;
drivers/virtio/virtio_ring.c
2484
vring_packed->vring.driver->flags =
drivers/virtio/virtio_ring.c
2507
memset(vq->packed.vring.device, 0, vq->packed.event_size_in_bytes);
drivers/virtio/virtio_ring.c
2508
memset(vq->packed.vring.driver, 0, vq->packed.event_size_in_bytes);
drivers/virtio/virtio_ring.c
2511
memset(vq->packed.vring.desc, 0, vq->packed.ring_size_in_bytes);
drivers/virtio/virtio_ring.c
2512
virtqueue_init(vq, vq->packed.vring.num);
drivers/virtio/virtio_ring.c
2568
virtqueue_init(vq, vring_packed->vring.num);
drivers/virtio/virtio_ring.c
2625
virtqueue_init(vq, vring_packed.vring.num);
drivers/virtio/virtio_ring.c
3418
vring_packed.vring.num = num;
drivers/virtio/virtio_ring.c
3419
vring_packed.vring.desc = pages;
drivers/virtio/virtio_ring.c
3426
vring_init(&vring_split.vring, num, pages, vring_align);
drivers/virtio/virtio_ring.c
3441
vq->packed.vring.desc,
drivers/virtio/virtio_ring.c
3447
vq->packed.vring.driver,
drivers/virtio/virtio_ring.c
3453
vq->packed.vring.device,
drivers/virtio/virtio_ring.c
3462
vq->split.vring.desc,
drivers/virtio/virtio_ring.c
353
static bool vring_need_unmap_buffer(const struct vring_virtqueue *vring,
drivers/virtio/virtio_ring.c
3547
return virtqueue_is_packed(vq) ? vq->packed.vring.num :
drivers/virtio/virtio_ring.c
3548
vq->split.vring.num;
drivers/virtio/virtio_ring.c
356
return vring->use_map_api && (extra->addr != DMA_MAPPING_ERROR);
drivers/virtio/virtio_ring.c
3648
((char *)vq->split.vring.avail - (char *)vq->split.vring.desc);
drivers/virtio/virtio_ring.c
3662
((char *)vq->split.vring.used - (char *)vq->split.vring.desc);
drivers/virtio/virtio_ring.c
3667
const struct vring *virtqueue_get_vring(const struct virtqueue *vq)
drivers/virtio/virtio_ring.c
3669
return &to_vvq(vq)->split.vring;
drivers/virtio/virtio_ring.c
639
WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect);
drivers/virtio/virtio_ring.c
651
desc = vq->split.vring.desc;
drivers/virtio/virtio_ring.c
721
virtqueue_add_desc_split(vq, vq->split.vring.desc,
drivers/virtio/virtio_ring.c
734
if (vq->free_head >= vq->split.vring.num)
drivers/virtio/virtio_ring.c
735
vq->free_head -= vq->split.vring.num;
drivers/virtio/virtio_ring.c
751
avail = vq->split.avail_idx_shadow & (vq->split.vring.num - 1);
drivers/virtio/virtio_ring.c
752
vq->split.vring.avail->ring[avail] = cpu_to_virtio16(vq->vq.vdev, head);
drivers/virtio/virtio_ring.c
758
vq->split.vring.avail->idx = cpu_to_virtio16(vq->vq.vdev,
drivers/virtio/virtio_ring.c
813
vring_avail_event(&vq->split.vring)),
drivers/virtio/virtio_ring.c
816
needs_kick = !(vq->split.vring.used->flags &
drivers/virtio/virtio_ring.c
870
while (vq->split.vring.desc[i].flags & nextflag) {
drivers/virtio/virtio_ring.c
901
vq->split.vring.used->idx);
drivers/virtio/virtio_ring.c
941
last_used = (vq->last_used_idx & (vq->split.vring.num - 1));
drivers/virtio/virtio_ring.c
943
vq->split.vring.used->ring[last_used].id);
drivers/virtio/virtio_ring.c
945
vq->split.vring.used->ring[last_used].len);
drivers/virtio/virtio_ring.c
947
if (unlikely(i >= vq->split.vring.num)) {
drivers/virtio/virtio_ring.c
965
&vring_used_event(&vq->split.vring),
drivers/virtio/virtio_ring.c
979
unsigned int num = vq->split.vring.num;
include/linux/remoteproc.h
311
struct fw_rsc_vdev_vring vring[];
include/linux/remoteproc.h
652
struct rproc_vring vring[RVDEV_NUM_VRINGS];
include/linux/virtio.h
123
const struct vring *virtqueue_get_vring(const struct virtqueue *vq);
include/linux/vringh.h
48
struct vring vring;
include/uapi/linux/virtio_ring.h
196
static inline void vring_init(struct vring *vr, unsigned int num, void *p,
tools/virtio/ringtest/virtio_ring_0_9.c
22
struct vring ring;
tools/virtio/vhost_net_test.c
154
.desc_user_addr = (uint64_t)(unsigned long)info->vring.desc,
tools/virtio/vhost_net_test.c
155
.avail_user_addr = (uint64_t)(unsigned long)info->vring.avail,
tools/virtio/vhost_net_test.c
156
.used_user_addr = (uint64_t)(unsigned long)info->vring.used,
tools/virtio/vhost_net_test.c
162
state.num = info->vring.num;
tools/virtio/vhost_net_test.c
184
vring_init(&info->vring, num, info->ring, 4096);
tools/virtio/vhost_net_test.c
41
struct vring vring;
tools/virtio/virtio_test.c
104
vring_init(&info->vring, num, info->ring, 4096);
tools/virtio/virtio_test.c
193
batch = (random() % vq->vring.num) + 1;
tools/virtio/virtio_test.c
236
vq_reset(vq, vq->vring.num, &dev->vdev);
tools/virtio/virtio_test.c
34
struct vring vring;
tools/virtio/virtio_test.c
75
.desc_user_addr = (uint64_t)(unsigned long)info->vring.desc,
tools/virtio/virtio_test.c
76
.avail_user_addr = (uint64_t)(unsigned long)info->vring.avail,
tools/virtio/virtio_test.c
77
.used_user_addr = (uint64_t)(unsigned long)info->vring.used,
tools/virtio/virtio_test.c
82
state.num = info->vring.num;
tools/virtio/vringh_test.c
116
err = get_user(avail_idx, &vrh->vring.avail->idx);
tools/virtio/vringh_test.c
126
i = vrh->last_avail_idx & (vrh->vring.num - 1);
tools/virtio/vringh_test.c
128
err = get_user(*head, &vrh->vring.avail->ring[i]);
tools/virtio/vringh_test.c
191
vring_init(&vrh.vring, RINGSIZE, host_map, ALIGN);
tools/virtio/vringh_test.c
193
vrh.vring.desc, vrh.vring.avail, vrh.vring.used);
tools/virtio/vringh_test.c
497
vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN);
tools/virtio/vringh_test.c
499
vrh.vring.desc, vrh.vring.avail, vrh.vring.used);
tools/virtio/vringh_test.c
655
assert(vrh.vring.used->idx % RINGSIZE != 0);
tools/virtio/vringh_test.c
670
struct vring vring;
tools/virtio/vringh_test.c
690
vring_init(&vring, RINGSIZE, __user_addr_min, ALIGN);
tools/virtio/vringh_test.c
693
assert(vring.desc[0].addr == (unsigned long)d);
tools/virtio/vringh_test.c
694
assert(vring.desc[1].addr == (unsigned long)(d+2));
tools/virtio/vringh_test.c
695
assert(vring.desc[2].addr == (unsigned long)data + 6);
tools/virtio/vringh_test.c
696
assert(vring.desc[3].addr == (unsigned long)(d+3));
tools/virtio/vringh_test.c
697
vring.desc[0].flags |= VRING_DESC_F_INDIRECT;
tools/virtio/vringh_test.c
698
vring.desc[1].flags |= VRING_DESC_F_INDIRECT;
tools/virtio/vringh_test.c
699
vring.desc[3].flags |= VRING_DESC_F_INDIRECT;