Lines Matching defs:last_used_idx

194 	u16 last_used_idx;
425 vq->last_used_idx = 0 | (1 << VRING_PACKED_EVENT_F_WRAP_CTR);
427 vq->last_used_idx = 0;
819 return vq->last_used_idx != virtio16_to_cpu(vq->vq.vdev,
848 last_used = (vq->last_used_idx & (vq->split.vring.num - 1));
866 vq->last_used_idx++;
873 cpu_to_virtio16(_vq->vdev, vq->last_used_idx));
908 u16 last_used_idx;
925 last_used_idx = vq->last_used_idx);
927 return last_used_idx;
930 static bool virtqueue_poll_split(struct virtqueue *_vq, unsigned int last_used_idx)
934 return (u16)last_used_idx != virtio16_to_cpu(_vq->vdev,
958 bufs = (u16)(vq->split.avail_idx_shadow - vq->last_used_idx) * 3 / 4;
962 cpu_to_virtio16(_vq->vdev, vq->last_used_idx + bufs));
965 - vq->last_used_idx) > bufs)) {
1213 static bool packed_used_wrap_counter(u16 last_used_idx)
1215 return !!(last_used_idx & (1 << VRING_PACKED_EVENT_F_WRAP_CTR));
1218 static u16 packed_last_used(u16 last_used_idx)
1220 return last_used_idx & ~(-(1 << VRING_PACKED_EVENT_F_WRAP_CTR));
1664 u16 last_used_idx;
1667 last_used_idx = READ_ONCE(vq->last_used_idx);
1668 last_used = packed_last_used(last_used_idx);
1669 used_wrap_counter = packed_used_wrap_counter(last_used_idx);
1678 u16 last_used, id, last_used_idx;
1698 last_used_idx = READ_ONCE(vq->last_used_idx);
1699 used_wrap_counter = packed_used_wrap_counter(last_used_idx);
1700 last_used = packed_last_used(last_used_idx);
1724 WRITE_ONCE(vq->last_used_idx, last_used);
1734 cpu_to_le16(vq->last_used_idx));
1774 cpu_to_le16(vq->last_used_idx);
1791 return vq->last_used_idx;
1809 u16 used_idx, wrap_counter, last_used_idx;
1822 last_used_idx = READ_ONCE(vq->last_used_idx);
1823 wrap_counter = packed_used_wrap_counter(last_used_idx);
1825 used_idx = packed_last_used(last_used_idx) + bufs;
1855 last_used_idx = READ_ONCE(vq->last_used_idx);
1856 wrap_counter = packed_used_wrap_counter(last_used_idx);
1857 used_idx = packed_last_used(last_used_idx);
2477 * @last_used_idx: virtqueue state (from call to virtqueue_enable_cb_prepare).
2483 bool virtqueue_poll(struct virtqueue *_vq, unsigned int last_used_idx)
2491 return vq->packed_ring ? virtqueue_poll_packed(_vq, last_used_idx) :
2492 virtqueue_poll_split(_vq, last_used_idx);
2509 unsigned int last_used_idx = virtqueue_enable_cb_prepare(_vq);
2511 return !virtqueue_poll(_vq, last_used_idx);