Searched refs:vq (Results 1 - 12 of 12) sorted by relevance

/u-boot/drivers/virtio/
H A Dvirtio_ring.c44 static unsigned int virtqueue_attach_desc(struct virtqueue *vq, unsigned int i, argument
47 struct vring_desc_shadow *desc_shadow = &vq->vring_desc_shadow[i];
48 struct vring_desc *desc = &vq->vring.desc[i];
51 if (IS_ENABLED(CONFIG_BOUNCE_BUFFER) && vq->vring.bouncebufs) {
52 struct bounce_buffer *bb = &vq->vring.bouncebufs[i];
66 vq->vdev->name, sg->length);
80 desc->addr = cpu_to_virtio64(vq->vdev, desc_shadow->addr);
81 desc->len = cpu_to_virtio32(vq->vdev, desc_shadow->len);
82 desc->flags = cpu_to_virtio16(vq->vdev, desc_shadow->flags);
83 desc->next = cpu_to_virtio16(vq
88 virtqueue_detach_desc(struct virtqueue *vq, unsigned int idx) argument
101 virtqueue_add(struct virtqueue *vq, struct virtio_sg *sgs[], unsigned int out_sgs, unsigned int in_sgs) argument
176 virtqueue_kick_prepare(struct virtqueue *vq) argument
202 virtqueue_kick(struct virtqueue *vq) argument
208 detach_buf(struct virtqueue *vq, unsigned int head) argument
232 more_used(const struct virtqueue *vq) argument
238 virtqueue_get_buf(struct virtqueue *vq, unsigned int *len) argument
292 struct virtqueue *vq; local
340 struct virtqueue *vq; local
396 vring_del_virtqueue(struct virtqueue *vq) argument
406 virtqueue_get_vring_size(struct virtqueue *vq) argument
411 virtqueue_get_desc_addr(struct virtqueue *vq) argument
416 virtqueue_get_avail_addr(struct virtqueue *vq) argument
422 virtqueue_get_used_addr(struct virtqueue *vq) argument
428 virtqueue_poll(struct virtqueue *vq, u16 last_used_idx) argument
435 virtqueue_dump(struct virtqueue *vq) argument
[all...]
H A Dvirtio_sandbox.c94 struct virtqueue *vq; local
99 vq = vring_create_virtqueue(index, 4, 4096, udev);
100 if (!vq) {
105 addr = virtqueue_get_desc_addr(vq);
108 addr = virtqueue_get_avail_addr(vq);
111 addr = virtqueue_get_used_addr(vq);
114 return vq;
120 static void virtio_sandbox_del_vq(struct virtqueue *vq) argument
122 vring_del_virtqueue(vq);
128 struct virtqueue *vq, * local
152 virtio_sandbox_notify(struct udevice *udev, struct virtqueue *vq) argument
[all...]
H A Dvirtio_mmio.c195 struct virtqueue *vq; local
216 vq = vring_create_virtqueue(index, num, VIRTIO_MMIO_VRING_ALIGN, udev);
217 if (!vq) {
223 writel(virtqueue_get_vring_size(vq),
226 u64 q_pfn = virtqueue_get_desc_addr(vq) >> PAGE_SHIFT;
245 addr = virtqueue_get_desc_addr(vq);
250 addr = virtqueue_get_avail_addr(vq);
255 addr = virtqueue_get_used_addr(vq);
263 return vq;
266 vring_del_virtqueue(vq);
280 virtio_mmio_del_vq(struct virtqueue *vq) argument
300 struct virtqueue *vq, *n; local
324 virtio_mmio_notify(struct udevice *udev, struct virtqueue *vq) argument
[all...]
H A Dvirtio_blk.c19 struct virtqueue *vq; member in struct:virtio_blk_priv
47 log_debug("dev=%s, active=%d, priv=%p, priv->vq=%p\n", dev->name,
48 device_active(dev), priv, priv->vq);
50 ret = virtqueue_add(priv->vq, sgs, num_out, num_in);
54 virtqueue_kick(priv->vq);
57 while (!virtqueue_get_buf(priv->vq, NULL))
120 ret = virtio_find_vqs(dev, 1, &priv->vq);
H A Dvirtio_pci_legacy.c197 struct virtqueue *vq; local
212 vq = vring_create_virtqueue(index, num, VIRTIO_PCI_VRING_ALIGN, udev);
213 if (!vq) {
219 iowrite32(virtqueue_get_desc_addr(vq) >> VIRTIO_PCI_QUEUE_ADDR_SHIFT,
222 return vq;
228 static void virtio_pci_del_vq(struct virtqueue *vq) argument
230 struct virtio_pci_priv *priv = dev_get_priv(vq->vdev);
231 unsigned int index = vq->index;
238 vring_del_virtqueue(vq);
244 struct virtqueue *vq, * local
268 virtio_pci_notify(struct udevice *udev, struct virtqueue *vq) argument
[all...]
H A Dvirtio_pci_modern.c256 struct virtqueue *vq; local
278 vq = vring_create_virtqueue(index, num, VIRTIO_PCI_VRING_ALIGN, udev);
279 if (!vq) {
285 iowrite16(virtqueue_get_vring_size(vq), &cfg->queue_size);
287 addr = virtqueue_get_desc_addr(vq);
291 addr = virtqueue_get_avail_addr(vq);
295 addr = virtqueue_get_used_addr(vq);
301 return vq;
307 static void virtio_pci_del_vq(struct virtqueue *vq) argument
309 struct virtio_pci_priv *priv = dev_get_priv(vq
323 struct virtqueue *vq, *n; local
366 virtio_pci_notify(struct udevice *udev, struct virtqueue *vq) argument
[all...]
H A Dvirtio-uclass.c131 int virtio_notify(struct udevice *vdev, struct virtqueue *vq) argument
137 return ops->notify(vdev->parent, vq);
/u-boot/test/fuzz/
H A Dvirtio.c17 struct virtqueue *vq; local
55 if (virtio_find_vqs(dev, 1, &vq))
57 if (virtqueue_add(vq, sgs, 0, 1))
60 memcpy(vq->vring.desc, data, desc_size);
61 memcpy(vq->vring.avail, data + desc_size, avail_size);
62 memcpy(vq->vring.used, data + desc_size + avail_size, used_size);
64 if (vq->vring.used->idx == 0)
65 vq->vring.used->idx = 1;
66 virtqueue_get_buf(vq, &len);
/u-boot/test/dm/
H A Dvirtio_device.c133 struct virtqueue *vq; local
164 ut_assertok(virtio_find_vqs(dev, 1, &vq));
165 ut_assertok(virtqueue_add(vq, sgs, 0, 1));
166 vq->vring.used->idx = 1;
167 vq->vring.used->ring[0].id = 0;
168 vq->vring.used->ring[0].len = 0x53355885;
169 ut_asserteq_ptr(buffer, virtqueue_get_buf(vq, &len));
174 ut_assertok(virtio_find_vqs(dev, 1, &vq));
175 ut_assertok(virtqueue_add(vq, sgs, 0, 2));
176 vq
[all...]
/u-boot/include/
H A Dvirtio_ring.h184 * @vq: the struct virtqueue we're talking about
195 int virtqueue_add(struct virtqueue *vq, struct virtio_sg *sgs[],
201 * @vq: the struct virtqueue
209 void virtqueue_kick(struct virtqueue *vq);
214 * @vq: the struct virtqueue we're talking about
228 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);
253 * @vq: the struct virtqueue we're talking about
261 void vring_del_virtqueue(struct virtqueue *vq);
266 * @vq: the struct virtqueue containing the vring of interest
269 unsigned int virtqueue_get_vring_size(struct virtqueue *vq);
[all...]
H A Dvirtio.h189 * @vq: virtqueue to process
192 int (*notify)(struct udevice *vdev, struct virtqueue *vq);
324 * @vq: virtqueue to process
327 int virtio_notify(struct udevice *vdev, struct virtqueue *vq);
H A Dremoteproc.h322 * @vq: the virtqueue of this vring
332 struct virtqueue *vq; member in struct:rproc_vring

Completed in 116 milliseconds