/linux-master/tools/virtio/linux/ |
H A D | virtio.h | 20 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 D | virtio_config.h | 9 int (*disable_vq_and_reset)(struct virtqueue *vq); 10 int (*enable_vq_after_reset)(struct virtqueue *vq);
|
/linux-master/include/linux/ |
H A D | virtio_ring.h | 60 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 D | virtio.h | 15 * 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 D | virtio_config.h | 19 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 D | virtio_pmem.h | 36 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 D | virtio_pci_common.h | 35 /* 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 D | virtio_ring.c | 155 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 D | virtio_vdpa.c | 32 /* 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 D | virtio_pci_legacy.c | 110 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 D | virtio_pci_common.c | 41 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 D | virtio_pci_modern.c | 48 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 D | virtio_balloon.c | 57 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 D | virtio_mmio.c | 98 /* 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 D | virtgpu_trace.h | 12 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 D | virtio_pcm.h | 40 * @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 D | virtio_ctl_msg.h | 76 void virtsnd_ctl_notify_cb(struct virtqueue *vqueue);
|
H A D | virtio_card.h | 26 * @lock: Used to synchronize access to a virtqueue. 27 * @vqueue: Underlying virtqueue. 31 struct virtqueue *vqueue;
|
/linux-master/net/vmw_vsock/ |
H A D | virtio_transport.c | 31 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 D | i2c-virtio.c | 26 * @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 D | virtio_crypto_common.h | 20 /* Internal representation of a data virtqueue */ 23 struct virtqueue *vq; 37 struct virtqueue *ctrl_vq;
|
/linux-master/drivers/bluetooth/ |
H A D | virtio_bt.c | 24 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 D | virtio_console.c | 146 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 D | virtio_uml.c | 371 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 D | remoteproc_virtio.c | 64 /* 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...] |