Lines Matching refs:last_used_idx
81 u16 last_used_idx; member
458 return vq->last_used_idx != virtio16_to_cpu(vq->vq.vdev, vq->vring.used->idx); in more_used()
500 last_used = (vq->last_used_idx & (vq->vring.num - 1)); in virtqueue_get_buf()
516 vq->last_used_idx++; in virtqueue_get_buf()
521 vring_used_event(&vq->vring) = cpu_to_virtio16(_vq->vdev, vq->last_used_idx); in virtqueue_get_buf()
570 u16 last_used_idx; in virtqueue_enable_cb_prepare() local
583 vring_used_event(&vq->vring) = cpu_to_virtio16(_vq->vdev, last_used_idx = vq->last_used_idx); in virtqueue_enable_cb_prepare()
585 return last_used_idx; in virtqueue_enable_cb_prepare()
598 bool virtqueue_poll(struct virtqueue *_vq, unsigned last_used_idx) in virtqueue_poll() argument
603 return (u16)last_used_idx != virtio16_to_cpu(_vq->vdev, vq->vring.used->idx); in virtqueue_poll()
620 unsigned last_used_idx = virtqueue_enable_cb_prepare(_vq); in virtqueue_enable_cb() local
621 return !virtqueue_poll(_vq, last_used_idx); in virtqueue_enable_cb()
655 bufs = (u16)(vq->avail_idx_shadow - vq->last_used_idx) * 3 / 4; in virtqueue_enable_cb_delayed()
656 vring_used_event(&vq->vring) = cpu_to_virtio16(_vq->vdev, vq->last_used_idx + bufs); in virtqueue_enable_cb_delayed()
658 if (unlikely((u16)(virtio16_to_cpu(_vq->vdev, vq->vring.used->idx) - vq->last_used_idx) > bufs)) { in virtqueue_enable_cb_delayed()
755 vq->last_used_idx = 0; in vring_new_virtqueue()