Searched refs:virtqueue (Results 1 - 25 of 55) sorted by relevance

123

/linux-master/tools/virtio/linux/
H A Dvirtio.h20 struct virtqueue { struct
22 void (*callback)(struct virtqueue *vq);
33 int virtqueue_add_sgs(struct virtqueue *vq,
40 int virtqueue_add_outbuf(struct virtqueue *vq,
45 int virtqueue_add_inbuf(struct virtqueue *vq,
50 bool virtqueue_kick(struct virtqueue *vq);
52 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len);
54 void virtqueue_disable_cb(struct virtqueue *vq);
56 bool virtqueue_enable_cb(struct virtqueue *vq);
57 bool virtqueue_enable_cb_delayed(struct virtqueue *v
[all...]
H A Dvirtio_config.h9 int (*disable_vq_and_reset)(struct virtqueue *vq);
10 int (*enable_vq_after_reset)(struct virtqueue *vq);
/linux-master/include/linux/
H A Dvirtio_ring.h60 struct virtqueue;
64 * Creates a virtqueue and allocates the descriptor ring. If
69 struct virtqueue *vring_create_virtqueue(unsigned int index,
76 bool (*notify)(struct virtqueue *vq),
77 void (*callback)(struct virtqueue *vq),
81 * Creates a virtqueue and allocates the descriptor ring with per
82 * virtqueue DMA device.
84 struct virtqueue *vring_create_virtqueue_dma(unsigned int index,
91 bool (*notify)(struct virtqueue *vq),
92 void (*callback)(struct virtqueue *v
[all...]
H A Dvirtio.h15 * struct virtqueue - a queue to register buffers for sending or receiving.
18 * @name: the name of this virtqueue (mainly for debugging)
20 * @priv: a pointer for the virtqueue implementation to use.
30 struct virtqueue { struct
32 void (*callback)(struct virtqueue *vq);
42 int virtqueue_add_outbuf(struct virtqueue *vq,
47 int virtqueue_add_inbuf(struct virtqueue *vq,
52 int virtqueue_add_inbuf_ctx(struct virtqueue *vq,
58 int virtqueue_add_sgs(struct virtqueue *vq,
65 struct device *virtqueue_dma_dev(struct virtqueue *v
[all...]
H A Dvirtio_config.h19 typedef void vq_callback_t(struct virtqueue *);
56 * callbacks: array of callbacks, for each virtqueue
58 * names: array of virtqueue names (mainly for debugging)
62 * @synchronize_cbs: synchronize with the virtqueue callbacks (optional)
81 * @set_vq_affinity: set the affinity for a virtqueue (optional).
82 * @get_vq_affinity: get the affinity for a virtqueue (optional).
85 * vq: the virtqueue
90 * not accessed by any functions of virtqueue.
92 * vq: the virtqueue
96 * @create_avq: create admin virtqueue resourc
[all...]
/linux-master/drivers/nvdimm/
H A Dvirtio_pmem.h36 struct virtqueue *req_vq;
42 /* List to store deferred work if virtqueue is full */
45 /* Synchronize virtqueue data */
53 void virtio_pmem_host_ack(struct virtqueue *vq);
/linux-master/drivers/virtio/
H A Dvirtio_pci_common.h35 /* the actual virtqueue */
36 struct virtqueue *vq;
48 /* serializing admin commands execution and virtqueue deletion */
95 struct virtqueue *(*setup_vq)(struct virtio_pci_device *vp_dev,
98 void (*callback)(struct virtqueue *vq),
125 bool vp_notify(struct virtqueue *vq);
130 struct virtqueue *vqs[], vq_callback_t *callbacks[],
135 /* Setup the affinity for a virtqueue:
140 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask);
H A Dvirtio_ring.c155 struct virtqueue vq;
208 bool (*notify)(struct virtqueue *vq);
226 static struct virtqueue *__vring_new_virtqueue(unsigned int index,
231 bool (*notify)(struct virtqueue *),
232 void (*callback)(struct virtqueue *),
236 static void vring_free(struct virtqueue *_vq);
492 static struct vring_desc *alloc_indirect_split(struct virtqueue *_vq,
502 * virtqueue.
515 static inline unsigned int virtqueue_add_desc_split(struct virtqueue *vq,
544 static inline int virtqueue_add_split(struct virtqueue *_v
[all...]
H A Dvirtio_vdpa.c32 /* The lock to protect virtqueue list */
39 /* the actual virtqueue */
40 struct virtqueue *vq;
106 static bool virtio_vdpa_notify(struct virtqueue *vq)
116 static bool virtio_vdpa_notify_with_data(struct virtqueue *vq)
143 static struct virtqueue *
145 void (*callback)(struct virtqueue *vq),
153 bool (*notify)(struct virtqueue *vq) = virtio_vdpa_notify;
155 struct virtqueue *vq;
157 /* Assume split virtqueue, switc
[all...]
H A Dvirtio_pci_legacy.c110 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
113 void (*callback)(struct virtqueue *vq),
118 struct virtqueue *vq;
173 struct virtqueue *vq = info->vq;
H A Dvirtio_pci_common.c41 bool vp_notify(struct virtqueue *vq)
174 static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned int index,
175 void (*callback)(struct virtqueue *vq),
182 struct virtqueue *vq;
211 static void vp_del_vq(struct virtqueue *vq)
235 struct virtqueue *vq, *n;
288 struct virtqueue *vqs[], vq_callback_t *callbacks[],
362 struct virtqueue *vqs[], vq_callback_t *callbacks[],
401 struct virtqueue *vqs[], vq_callback_t *callbacks[],
429 /* Setup the affinity for a virtqueue
[all...]
H A Dvirtio_pci_modern.c48 struct virtqueue *vq;
412 static int vp_active_vq(struct virtqueue *vq, u16 msix_vec)
435 static int vp_modern_disable_vq_and_reset(struct virtqueue *vq)
474 static int vp_modern_enable_vq_after_reset(struct virtqueue *vq)
521 static bool vp_notify_with_data(struct virtqueue *vq)
530 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
533 void (*callback)(struct virtqueue *vq),
540 bool (*notify)(struct virtqueue *vq);
541 struct virtqueue *vq;
597 struct virtqueue *vq
[all...]
H A Dvirtio_balloon.c57 struct virtqueue *inflate_vq, *deflate_vq, *stats_vq, *free_page_vq;
120 struct virtqueue *reporting_vq;
143 static void balloon_ack(struct virtqueue *vq)
150 static void tell_host(struct virtio_balloon *vb, struct virtqueue *vq)
171 struct virtqueue *vq = vb->reporting_vq;
361 * the stats queue operates in reverse. The driver initializes the virtqueue
364 * the virtqueue with a fresh stats buffer. Since stats collection can sleep,
368 static void stats_request(struct virtqueue *vq)
380 struct virtqueue *vq;
531 struct virtqueue *vq
[all...]
H A Dvirtio_mmio.c98 /* the actual virtqueue */
99 struct virtqueue *vq;
279 static bool vm_notify(struct virtqueue *vq)
289 static bool vm_notify_with_data(struct virtqueue *vq)
329 static void vm_del_vq(struct virtqueue *vq)
357 struct virtqueue *vq, *n;
372 static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned int index,
373 void (*callback)(struct virtqueue *vq),
377 bool (*notify)(struct virtqueue *vq);
379 struct virtqueue *v
[all...]
/linux-master/drivers/gpu/drm/virtio/
H A Dvirtgpu_trace.h12 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr, u32 seqno),
43 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr, u32 seqno),
48 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr, u32 seqno),
/linux-master/sound/virtio/
H A Dvirtio_pcm.h40 * @msg_last_enqueued: Index of the last I/O message added to the virtqueue.
41 * @msg_count: Number of pending I/O messages in the virtqueue.
105 void virtsnd_pcm_tx_notify_cb(struct virtqueue *vqueue);
107 void virtsnd_pcm_rx_notify_cb(struct virtqueue *vqueue);
H A Dvirtio_ctl_msg.h76 void virtsnd_ctl_notify_cb(struct virtqueue *vqueue);
H A Dvirtio_card.h26 * @lock: Used to synchronize access to a virtqueue.
27 * @vqueue: Underlying virtqueue.
31 struct virtqueue *vqueue;
/linux-master/net/vmw_vsock/
H A Dvirtio_transport.c31 struct virtqueue *vqs[VSOCK_VQ_MAX];
102 struct virtqueue *vq;
175 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX];
248 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX];
268 struct virtqueue *vq;
299 struct virtqueue *vq;
329 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX];
343 struct virtqueue *vq;
405 struct virtqueue *vq;
432 static void virtio_vsock_event_done(struct virtqueue *v
[all...]
/linux-master/drivers/i2c/busses/
H A Di2c-virtio.c26 * @vq: the virtio virtqueue for communication
31 struct virtqueue *vq;
48 static void virtio_i2c_msg_done(struct virtqueue *vq)
57 static int virtio_i2c_prepare_reqs(struct virtqueue *vq,
109 static int virtio_i2c_complete_reqs(struct virtqueue *vq,
137 struct virtqueue *vq = vi->vq;
153 * virtqueue will be left in undefined state in that case. We kick the
154 * remote here to clear the virtqueue, so we can try another set of
/linux-master/drivers/crypto/virtio/
H A Dvirtio_crypto_common.h20 /* Internal representation of a data virtqueue */
23 struct virtqueue *vq;
37 struct virtqueue *ctrl_vq;
/linux-master/drivers/bluetooth/
H A Dvirtio_bt.c24 struct virtqueue *vqs[VIRTBT_NUM_VQS];
31 struct virtqueue *vq = vbt->vqs[VIRTBT_VQ_RX];
77 struct virtqueue *vq = vbt->vqs[i];
239 static void virtbt_tx_done(struct virtqueue *vq)
248 static void virtbt_rx_done(struct virtqueue *vq)
/linux-master/drivers/char/
H A Dvirtio_console.c146 struct virtqueue *c_ivq, *c_ovq;
155 struct virtqueue **in_vqs, **out_vqs;
187 struct virtqueue *in_vq, *out_vq;
307 struct virtqueue *vq)
482 static int add_inbuf(struct virtqueue *vq, struct port_buffer *buf)
542 struct virtqueue *vq;
599 struct virtqueue *out_vq;
1291 static int fill_queue(struct virtqueue *vq, spinlock_t *lock)
1666 struct virtqueue *vq;
1692 static void flush_bufs(struct virtqueue *v
[all...]
/linux-master/arch/um/drivers/
H A Dvirtio_uml.c371 struct virtqueue *vq;
433 struct virtqueue *vq;
653 * see (depending on the direction of the virtqueue traffic.)
777 static bool vu_notify(struct virtqueue *vq)
805 struct virtqueue *vq = opaque;
858 static void vu_del_vq(struct virtqueue *vq)
881 struct virtqueue *vq, *n;
896 struct virtqueue *vq)
939 static struct virtqueue *vu_setup_vq(struct virtio_device *vdev,
946 struct virtqueue *v
[all...]
/linux-master/drivers/remoteproc/
H A Dremoteproc_virtio.c64 /* kick the remote processor, and let it know which virtqueue to poke at */
65 static bool rproc_virtio_notify(struct virtqueue *vq)
78 * rproc_vq_interrupt() - tell remoteproc that a virtqueue is interrupted
80 * @notifyid: index of the signalled virtqueue (unique per this @rproc)
83 * when the remote processor signals that a specific virtqueue has pending
86 * Return: IRQ_NONE if no message was found in the @notifyid virtqueue,
103 static struct virtqueue *rp_find_vq(struct virtio_device *vdev,
105 void (*callback)(struct virtqueue *vq),
114 struct virtqueue *vq;
168 struct virtqueue *v
[all...]

Completed in 234 milliseconds

123