Lines Matching refs:last_used_idx
81 u16 last_used_idx; member
451 return vq->last_used_idx != virtio16_to_cpu(vq->vq.vdev, vq->vring.used->idx); in more_used()
493 last_used = (vq->last_used_idx & (vq->vring.num - 1)); in virtqueue_get_buf()
509 vq->last_used_idx++; in virtqueue_get_buf()
514 vring_used_event(&vq->vring) = cpu_to_virtio16(_vq->vdev, vq->last_used_idx); in virtqueue_get_buf()
559 u16 last_used_idx; in virtqueue_enable_cb_prepare() local
569 vring_used_event(&vq->vring) = cpu_to_virtio16(_vq->vdev, last_used_idx = vq->last_used_idx); in virtqueue_enable_cb_prepare()
571 return last_used_idx; in virtqueue_enable_cb_prepare()
584 bool virtqueue_poll(struct virtqueue *_vq, unsigned last_used_idx) in virtqueue_poll() argument
589 return (u16)last_used_idx != virtio16_to_cpu(_vq->vdev, vq->vring.used->idx); in virtqueue_poll()
606 unsigned last_used_idx = virtqueue_enable_cb_prepare(_vq); in virtqueue_enable_cb() local
607 return !virtqueue_poll(_vq, last_used_idx); in virtqueue_enable_cb()
638 bufs = (u16)(virtio16_to_cpu(_vq->vdev, vq->vring.avail->idx) - vq->last_used_idx) * 3 / 4; in virtqueue_enable_cb_delayed()
639 vring_used_event(&vq->vring) = cpu_to_virtio16(_vq->vdev, vq->last_used_idx + bufs); in virtqueue_enable_cb_delayed()
641 if (unlikely((u16)(virtio16_to_cpu(_vq->vdev, vq->vring.used->idx) - vq->last_used_idx) > bufs)) { in virtqueue_enable_cb_delayed()
737 vq->last_used_idx = 0; in vring_new_virtqueue()