Lines Matching refs:last_used_idx
114 u16 last_used_idx; member
674 return vq->last_used_idx != virtio16_to_cpu(vq->vq.vdev, in more_used_split()
703 last_used = (vq->last_used_idx & (vq->split.vring.num - 1)); in virtqueue_get_buf_ctx_split()
721 vq->last_used_idx++; in virtqueue_get_buf_ctx_split()
728 cpu_to_virtio16(_vq->vdev, vq->last_used_idx)); in virtqueue_get_buf_ctx_split()
752 u16 last_used_idx; in virtqueue_enable_cb_prepare_split() local
769 last_used_idx = vq->last_used_idx); in virtqueue_enable_cb_prepare_split()
771 return last_used_idx; in virtqueue_enable_cb_prepare_split()
774 static bool virtqueue_poll_split(struct virtqueue *_vq, unsigned last_used_idx) in virtqueue_poll_split() argument
778 return (u16)last_used_idx != virtio16_to_cpu(_vq->vdev, in virtqueue_poll_split()
802 bufs = (u16)(vq->split.avail_idx_shadow - vq->last_used_idx) * 3 / 4; in virtqueue_enable_cb_delayed_split()
806 cpu_to_virtio16(_vq->vdev, vq->last_used_idx + bufs)); in virtqueue_enable_cb_delayed_split()
809 - vq->last_used_idx) > bufs)) { in virtqueue_enable_cb_delayed_split()
1352 return is_used_desc_packed(vq, vq->last_used_idx, in more_used_packed()
1380 last_used = vq->last_used_idx; in virtqueue_get_buf_ctx_packed()
1397 vq->last_used_idx += vq->packed.desc_state[id].num; in virtqueue_get_buf_ctx_packed()
1398 if (unlikely(vq->last_used_idx >= vq->packed.vring.num)) { in virtqueue_get_buf_ctx_packed()
1399 vq->last_used_idx -= vq->packed.vring.num; in virtqueue_get_buf_ctx_packed()
1411 cpu_to_le16(vq->last_used_idx | in virtqueue_get_buf_ctx_packed()
1445 cpu_to_le16(vq->last_used_idx | in virtqueue_enable_cb_prepare_packed()
1464 return vq->last_used_idx | ((u16)vq->packed.used_wrap_counter << in virtqueue_enable_cb_prepare_packed()
1498 used_idx = vq->last_used_idx + bufs; in virtqueue_enable_cb_delayed_packed()
1529 vq->last_used_idx, in virtqueue_enable_cb_delayed_packed()
1617 vq->last_used_idx = 0; in vring_create_virtqueue_packed()
1969 bool virtqueue_poll(struct virtqueue *_vq, unsigned last_used_idx) in virtqueue_poll() argument
1977 return vq->packed_ring ? virtqueue_poll_packed(_vq, last_used_idx) : in virtqueue_poll()
1978 virtqueue_poll_split(_vq, last_used_idx); in virtqueue_poll()
1995 unsigned last_used_idx = virtqueue_enable_cb_prepare(_vq); in virtqueue_enable_cb() local
1997 return !virtqueue_poll(_vq, last_used_idx); in virtqueue_enable_cb()
2095 vq->last_used_idx = 0; in __vring_new_virtqueue()