search for: desc_f_avail

Displaying 11 results from an estimated 11 matches for "desc_f_avail".

Did you mean: desc_avail
2018 Apr 23
2
[RFC v2] virtio: support packed ring
...+ > > + if (vq->vq.num_free == vq->vring_packed.num) > > + return false; > > + > > + last_used = vq->last_used_idx; > > + flags = virtio16_to_cpu(vq->vq.vdev, > > + vq->vring_packed.desc[last_used].flags); > > + avail = flags & VRING_DESC_F_AVAIL(1); > > + used = flags & VRING_DESC_F_USED(1); > > + > > + return avail == used; > > +} > > This looks interesting, spec said: > > " > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > available descriptor and > equal f...
2018 Apr 23
2
[RFC v2] virtio: support packed ring
...+ > > + if (vq->vq.num_free == vq->vring_packed.num) > > + return false; > > + > > + last_used = vq->last_used_idx; > > + flags = virtio16_to_cpu(vq->vq.vdev, > > + vq->vring_packed.desc[last_used].flags); > > + avail = flags & VRING_DESC_F_AVAIL(1); > > + used = flags & VRING_DESC_F_USED(1); > > + > > + return avail == used; > > +} > > This looks interesting, spec said: > > " > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an > available descriptor and > equal f...
2018 Apr 23
0
[RFC v2] virtio: support packed ring
...lags; > + bool avail, used; > + > + if (vq->vq.num_free == vq->vring_packed.num) > + return false; > + > + last_used = vq->last_used_idx; > + flags = virtio16_to_cpu(vq->vq.vdev, > + vq->vring_packed.desc[last_used].flags); > + avail = flags & VRING_DESC_F_AVAIL(1); > + used = flags & VRING_DESC_F_USED(1); > + > + return avail == used; > +} This looks interesting, spec said: " Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an available descriptor and equal for a used descriptor. Note that this observation is mo...
2018 Apr 24
3
[RFC v2] virtio: support packed ring
....num) > > > > + return false; > > > > + > > > > + last_used = vq->last_used_idx; > > > > + flags = virtio16_to_cpu(vq->vq.vdev, > > > > + vq->vring_packed.desc[last_used].flags); > > > > + avail = flags & VRING_DESC_F_AVAIL(1); > > > > + used = flags & VRING_DESC_F_USED(1); > > > > + > > > > + return avail == used; > > > > +} > > > This looks interesting, spec said: > > > > > > " > > > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F...
2018 Apr 24
3
[RFC v2] virtio: support packed ring
....num) > > > > + return false; > > > > + > > > > + last_used = vq->last_used_idx; > > > > + flags = virtio16_to_cpu(vq->vq.vdev, > > > > + vq->vring_packed.desc[last_used].flags); > > > > + avail = flags & VRING_DESC_F_AVAIL(1); > > > > + used = flags & VRING_DESC_F_USED(1); > > > > + > > > > + return avail == used; > > > > +} > > > This looks interesting, spec said: > > > > > > " > > > Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F...
2018 Apr 24
0
[RFC v2] virtio: support packed ring
...(vq->vq.num_free == vq->vring_packed.num) >>> + return false; >>> + >>> + last_used = vq->last_used_idx; >>> + flags = virtio16_to_cpu(vq->vq.vdev, >>> + vq->vring_packed.desc[last_used].flags); >>> + avail = flags & VRING_DESC_F_AVAIL(1); >>> + used = flags & VRING_DESC_F_USED(1); >>> + >>> + return avail == used; >>> +} >> This looks interesting, spec said: >> >> " >> Thus VIRTQ_DESC_F_AVAIL and VIRTQ_DESC_F_USED bits are different for an >> available de...
2018 Apr 24
0
[RFC v2] virtio: support packed ring
...+ return false; > > > > > + > > > > > + last_used = vq->last_used_idx; > > > > > + flags = virtio16_to_cpu(vq->vq.vdev, > > > > > + vq->vring_packed.desc[last_used].flags); > > > > > + avail = flags & VRING_DESC_F_AVAIL(1); > > > > > + used = flags & VRING_DESC_F_USED(1); > > > > > + > > > > > + return avail == used; > > > > > +} > > > > This looks interesting, spec said: > > > > > > > > " > > > >...
2018 Apr 24
2
[RFC v2] virtio: support packed ring
...t; > > > > + > > > > > > + last_used = vq->last_used_idx; > > > > > > + flags = virtio16_to_cpu(vq->vq.vdev, > > > > > > + vq->vring_packed.desc[last_used].flags); > > > > > > + avail = flags & VRING_DESC_F_AVAIL(1); > > > > > > + used = flags & VRING_DESC_F_USED(1); > > > > > > + > > > > > > + return avail == used; > > > > > > +} > > > > > This looks interesting, spec said: > > > > > > > > &g...
2018 Apr 24
2
[RFC v2] virtio: support packed ring
...t; > > > > + > > > > > > + last_used = vq->last_used_idx; > > > > > > + flags = virtio16_to_cpu(vq->vq.vdev, > > > > > > + vq->vring_packed.desc[last_used].flags); > > > > > > + avail = flags & VRING_DESC_F_AVAIL(1); > > > > > > + used = flags & VRING_DESC_F_USED(1); > > > > > > + > > > > > > + return avail == used; > > > > > > +} > > > > > This looks interesting, spec said: > > > > > > > > &g...
2018 Apr 01
8
[RFC v2] virtio: support packed ring
...)) { + dma_addr_t addr = vring_map_one_sg(vq, sg, n < out_sgs ? + DMA_TO_DEVICE : DMA_FROM_DEVICE); + if (vring_mapping_error(vq, addr)) + goto unmap_release; + + flags = cpu_to_virtio16(_vq->vdev, VRING_DESC_F_NEXT | + (n < out_sgs ? 0 : VRING_DESC_F_WRITE) | + VRING_DESC_F_AVAIL(vq->wrap_counter) | + VRING_DESC_F_USED(!vq->wrap_counter)); + if (!indirect && i == head) + head_flags = flags; + else + desc[i].flags = flags; + + desc[i].addr = cpu_to_virtio64(_vq->vdev, addr); + desc[i].len = cpu_to_virtio32(_vq->vdev, sg->length); +...
2018 Apr 01
8
[RFC v2] virtio: support packed ring
...)) { + dma_addr_t addr = vring_map_one_sg(vq, sg, n < out_sgs ? + DMA_TO_DEVICE : DMA_FROM_DEVICE); + if (vring_mapping_error(vq, addr)) + goto unmap_release; + + flags = cpu_to_virtio16(_vq->vdev, VRING_DESC_F_NEXT | + (n < out_sgs ? 0 : VRING_DESC_F_WRITE) | + VRING_DESC_F_AVAIL(vq->wrap_counter) | + VRING_DESC_F_USED(!vq->wrap_counter)); + if (!indirect && i == head) + head_flags = flags; + else + desc[i].flags = flags; + + desc[i].addr = cpu_to_virtio64(_vq->vdev, addr); + desc[i].len = cpu_to_virtio32(_vq->vdev, sg->length); +...