Lines Matching refs:vring

37 /* Returns vring->num if empty, -ve on error. */
46 err = getu16(vrh, &avail_idx, &vrh->vring.avail->idx);
49 &vrh->vring.avail->idx);
54 return vrh->vring.num;
59 i = *last_avail_idx & (vrh->vring.num - 1);
61 err = getu16(vrh, &head, &vrh->vring.avail->ring[i]);
64 *last_avail_idx, &vrh->vring.avail->ring[i]);
68 if (head >= vrh->vring.num) {
70 head, vrh->vring.num);
251 *descs = vrh->vring.desc;
252 *desc_max = vrh->vring.num;
310 /* We start traversing vring's descriptor table. */
311 descs = vrh->vring.desc;
312 desc_max = vrh->vring.num;
367 if (count > vrh->vring.num || indirect_count > desc_max) {
461 used_ring = vrh->vring.used;
464 off = used_idx % vrh->vring.num;
467 if (num_used > 1 && unlikely(off + num_used >= vrh->vring.num)) {
468 u16 part = vrh->vring.num - off;
485 err = putu16(vrh, &vrh->vring.used->idx, used_idx + num_used);
488 &vrh->vring.used->idx);
514 err = getu16(vrh, &flags, &vrh->vring.avail->flags);
517 &vrh->vring.avail->flags);
524 err = getu16(vrh, &used_event, &vring_used_event(&vrh->vring));
527 &vring_used_event(&vrh->vring));
554 if (putu16(vrh, &vrh->vring.used->flags, 0) != 0) {
556 &vrh->vring.used->flags);
560 if (putu16(vrh, &vring_avail_event(&vrh->vring),
563 &vring_avail_event(&vrh->vring));
572 if (getu16(vrh, &avail, &vrh->vring.avail->idx) != 0) {
574 &vrh->vring.avail->idx);
590 if (putu16(vrh, &vrh->vring.used->flags,
593 &vrh->vring.used->flags);
644 * vringh_init_user - initialize a vringh for a userspace vring.
674 vrh->vring.num = num;
675 /* vring expects kernel addresses, but only used via accessors. */
676 vrh->vring.desc = (__force struct vring_desc *)desc;
677 vrh->vring.avail = (__force struct vring_avail *)avail;
678 vrh->vring.used = (__force struct vring_used *)used;
685 * @vrh: the userspace vring.
695 * *head will be vrh->vring.num. You may be able to ignore an invalid
712 *head = vrh->vring.num;
718 if (err == vrh->vring.num)
785 * @vrh: the vring.
801 * @vrh: the vring.
820 * @vrh: the vring.
838 * @vrh: the vring.
841 * now more buffers available in the vring.
851 * @vrh: the vring.
864 * @vrh: the vring we've called vringh_complete_user() on.
919 * vringh_init_kern - initialize a vringh for a kernelspace vring.
948 vrh->vring.num = num;
949 vrh->vring.desc = desc;
950 vrh->vring.avail = avail;
951 vrh->vring.used = used;
958 * @vrh: the kernelspace vring.
968 * *head will be vrh->vring.num. You may be able to ignore an invalid
989 if (err == vrh->vring.num)
1033 * @vrh: the vring.
1049 * @vrh: the vring.
1069 * @vrh: the vring.
1072 * now more buffers available in the vring.
1082 * @vrh: the vring.
1095 * @vrh: the vring we've called vringh_complete_kern() on.
1447 * @vrh: the vring
1448 * @iotlb: iotlb associated with this vring
1462 * @vrh: the kernelspace vring.
1472 * *head will be vrh->vring.num. You may be able to ignore an invalid
1493 if (err == vrh->vring.num)
1508 * @vrh: the vring.
1525 * @vrh: the vring.
1542 * @vrh: the vring.
1559 * @vrh: the vring.
1579 * @vrh: the vring.
1582 * now more buffers available in the vring.
1592 * @vrh: the vring.
1605 * @vrh: the vring we've called vringh_complete_iotlb() on.