Lines Matching defs:last_used_idx
114 u16 last_used_idx;
674 return vq->last_used_idx != virtio16_to_cpu(vq->vq.vdev,
703 last_used = (vq->last_used_idx & (vq->split.vring.num - 1));
721 vq->last_used_idx++;
728 cpu_to_virtio16(_vq->vdev, vq->last_used_idx));
752 u16 last_used_idx;
769 last_used_idx = vq->last_used_idx);
771 return last_used_idx;
774 static bool virtqueue_poll_split(struct virtqueue *_vq, unsigned last_used_idx)
778 return (u16)last_used_idx != virtio16_to_cpu(_vq->vdev,
802 bufs = (u16)(vq->split.avail_idx_shadow - vq->last_used_idx) * 3 / 4;
806 cpu_to_virtio16(_vq->vdev, vq->last_used_idx + bufs));
809 - vq->last_used_idx) > bufs)) {
1352 return is_used_desc_packed(vq, vq->last_used_idx,
1380 last_used = vq->last_used_idx;
1397 vq->last_used_idx += vq->packed.desc_state[id].num;
1398 if (unlikely(vq->last_used_idx >= vq->packed.vring.num)) {
1399 vq->last_used_idx -= vq->packed.vring.num;
1411 cpu_to_le16(vq->last_used_idx |
1445 cpu_to_le16(vq->last_used_idx |
1464 return vq->last_used_idx | ((u16)vq->packed.used_wrap_counter <<
1498 used_idx = vq->last_used_idx + bufs;
1529 vq->last_used_idx,
1617 vq->last_used_idx = 0;
1965 * @last_used_idx: virtqueue state (from call to virtqueue_enable_cb_prepare).
1971 bool virtqueue_poll(struct virtqueue *_vq, unsigned last_used_idx)
1979 return vq->packed_ring ? virtqueue_poll_packed(_vq, last_used_idx) :
1980 virtqueue_poll_split(_vq, last_used_idx);
1997 unsigned last_used_idx = virtqueue_enable_cb_prepare(_vq);
1999 return !virtqueue_poll(_vq, last_used_idx);
2097 vq->last_used_idx = 0;