/linux-6.1.9/include/linux/ |
D | virtio.h | 29 struct virtqueue { struct 31 void (*callback)(struct virtqueue *vq); argument 41 int virtqueue_add_outbuf(struct virtqueue *vq, argument 46 int virtqueue_add_inbuf(struct virtqueue *vq, 51 int virtqueue_add_inbuf_ctx(struct virtqueue *vq, 57 int virtqueue_add_sgs(struct virtqueue *vq, 64 bool virtqueue_kick(struct virtqueue *vq); 66 bool virtqueue_kick_prepare(struct virtqueue *vq); 68 bool virtqueue_notify(struct virtqueue *vq); 70 void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len); [all …]
|
D | virtio_ring.h | 60 struct virtqueue; 68 struct virtqueue *vring_create_virtqueue(unsigned int index, 75 bool (*notify)(struct virtqueue *vq), 76 void (*callback)(struct virtqueue *vq), 83 struct virtqueue *vring_new_virtqueue(unsigned int index, 90 bool (*notify)(struct virtqueue *vq), 91 void (*callback)(struct virtqueue *vq), 98 void vring_del_virtqueue(struct virtqueue *vq);
|
D | virtio_config.h | 94 typedef void vq_callback_t(struct virtqueue *); 105 struct virtqueue *vqs[], vq_callback_t *callbacks[], 113 int (*set_vq_affinity)(struct virtqueue *vq, 119 int (*disable_vq_and_reset)(struct virtqueue *vq); 120 int (*enable_vq_after_reset)(struct virtqueue *vq); 208 struct virtqueue *virtio_find_single_vq(struct virtio_device *vdev, in virtio_find_single_vq() 213 struct virtqueue *vq; in virtio_find_single_vq() 223 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs() 232 struct virtqueue *vqs[], vq_callback_t *callbacks[], in virtio_find_vqs_ctx() 316 int virtqueue_set_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in virtqueue_set_affinity()
|
/linux-6.1.9/tools/virtio/linux/ |
D | virtio.h | 20 struct virtqueue { struct 22 void (*callback)(struct virtqueue *vq); argument 33 int virtqueue_add_sgs(struct virtqueue *vq, argument 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 *vq); [all …]
|
D | virtio_config.h | 7 int (*disable_vq_and_reset)(struct virtqueue *vq); 8 int (*enable_vq_after_reset)(struct virtqueue *vq);
|
/linux-6.1.9/drivers/virtio/ |
D | virtio_pci_common.h | 35 struct virtqueue *vq; 78 struct virtqueue *(*setup_vq)(struct virtio_pci_device *vp_dev, 81 void (*callback)(struct virtqueue *vq), 107 bool vp_notify(struct virtqueue *vq); 112 struct virtqueue *vqs[], vq_callback_t *callbacks[], 122 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask);
|
D | virtio_ring.c | 155 struct virtqueue vq; 200 bool (*notify)(struct virtqueue *vq); 215 static struct virtqueue *__vring_new_virtqueue(unsigned int index, 220 bool (*notify)(struct virtqueue *), 221 void (*callback)(struct virtqueue *), 224 static void vring_free(struct virtqueue *_vq); 465 static struct vring_desc *alloc_indirect_split(struct virtqueue *_vq, in alloc_indirect_split() 488 static inline unsigned int virtqueue_add_desc_split(struct virtqueue *vq, in virtqueue_add_desc_split() 517 static inline int virtqueue_add_split(struct virtqueue *_vq, in virtqueue_add_split() 700 static bool virtqueue_kick_prepare_split(struct virtqueue *_vq) in virtqueue_kick_prepare_split() [all …]
|
D | virtio_vdpa.c | 39 struct virtqueue *vq; 105 static bool virtio_vdpa_notify(struct virtqueue *vq) in virtio_vdpa_notify() 131 static struct virtqueue * 133 void (*callback)(struct virtqueue *vq), in virtio_vdpa_setup_vq() 141 struct virtqueue *vq; in virtio_vdpa_setup_vq() 239 static void virtio_vdpa_del_vq(struct virtqueue *vq) in virtio_vdpa_del_vq() 262 struct virtqueue *vq, *n; in virtio_vdpa_del_vqs() 269 struct virtqueue *vqs[], in virtio_vdpa_find_vqs()
|
D | virtio_pci_modern.c | 182 static int vp_active_vq(struct virtqueue *vq, u16 msix_vec) in vp_active_vq() 205 static int vp_modern_disable_vq_and_reset(struct virtqueue *vq) in vp_modern_disable_vq_and_reset() 244 static int vp_modern_enable_vq_after_reset(struct virtqueue *vq) in vp_modern_enable_vq_after_reset() 291 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev, in setup_vq() 294 void (*callback)(struct virtqueue *vq), in setup_vq() 301 struct virtqueue *vq; in setup_vq() 348 struct virtqueue *vqs[], in vp_modern_find_vqs() 354 struct virtqueue *vq; in vp_modern_find_vqs() 371 struct virtqueue *vq = info->vq; in del_vq()
|
D | virtio_pci_common.c | 41 bool vp_notify(struct virtqueue *vq) in vp_notify() 174 static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned int index, in vp_setup_vq() 175 void (*callback)(struct virtqueue *vq), in vp_setup_vq() 182 struct virtqueue *vq; in vp_setup_vq() 211 static void vp_del_vq(struct virtqueue *vq) in vp_del_vq() 235 struct virtqueue *vq, *n; in vp_del_vqs() 285 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs_msix() 359 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs_intx() 398 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vp_find_vqs() 431 int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask) in vp_set_vq_affinity()
|
D | virtio_pci_legacy.c | 110 static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev, in setup_vq() 113 void (*callback)(struct virtqueue *vq), in setup_vq() 118 struct virtqueue *vq; in setup_vq() 173 struct virtqueue *vq = info->vq; in del_vq()
|
D | virtio_balloon.c | 57 struct virtqueue *inflate_vq, *deflate_vq, *stats_vq, *free_page_vq; 120 struct virtqueue *reporting_vq; 138 static void balloon_ack(struct virtqueue *vq) in balloon_ack() 145 static void tell_host(struct virtio_balloon *vb, struct virtqueue *vq) in tell_host() 166 struct virtqueue *vq = vb->reporting_vq; in virtballoon_free_page_report() 363 static void stats_request(struct virtqueue *vq) in stats_request() 375 struct virtqueue *vq; in stats_handle_request() 492 struct virtqueue *vqs[VIRTIO_BALLOON_VQ_MAX]; in init_vqs() 581 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_start() 600 struct virtqueue *vq = vb->free_page_vq; in send_cmd_id_stop() [all …]
|
D | virtio_mmio.c | 98 struct virtqueue *vq; 278 static bool vm_notify(struct virtqueue *vq) in vm_notify() 318 static void vm_del_vq(struct virtqueue *vq) in vm_del_vq() 346 struct virtqueue *vq, *n; in vm_del_vqs() 361 static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned int index, in vm_setup_vq() 362 void (*callback)(struct virtqueue *vq), in vm_setup_vq() 367 struct virtqueue *vq; in vm_setup_vq() 474 struct virtqueue *vqs[], in vm_find_vqs()
|
/linux-6.1.9/net/vmw_vsock/ |
D | virtio_transport.c | 31 struct virtqueue *vqs[VSOCK_VQ_MAX]; 92 struct virtqueue *vq; in virtio_transport_send_pkt_work() 143 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_send_pkt_work() 231 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_cancel_pkt() 252 struct virtqueue *vq; in virtio_vsock_rx_fill() 292 struct virtqueue *vq; in virtio_transport_tx_work() 322 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_more_replies() 336 struct virtqueue *vq; in virtio_vsock_event_fill_one() 398 struct virtqueue *vq; in virtio_transport_event_work() 425 static void virtio_vsock_event_done(struct virtqueue *vq) in virtio_vsock_event_done() [all …]
|
/linux-6.1.9/drivers/gpu/drm/virtio/ |
D | virtgpu_trace.h | 12 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr), 39 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr), 44 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr),
|
/linux-6.1.9/drivers/i2c/busses/ |
D | i2c-virtio.c | 31 struct virtqueue *vq; 48 static void virtio_i2c_msg_done(struct virtqueue *vq) in virtio_i2c_msg_done() 57 static int virtio_i2c_prepare_reqs(struct virtqueue *vq, in virtio_i2c_prepare_reqs() 109 static int virtio_i2c_complete_reqs(struct virtqueue *vq, in virtio_i2c_complete_reqs() 137 struct virtqueue *vq = vi->vq; in virtio_i2c_xfer()
|
/linux-6.1.9/drivers/nvdimm/ |
D | virtio_pmem.h | 36 struct virtqueue *req_vq; 53 void virtio_pmem_host_ack(struct virtqueue *vq);
|
/linux-6.1.9/Documentation/userspace-api/ |
D | vduse.rst | 28 2. Setup each virtqueue with ioctl(VDUSE_VQ_SETUP) on /dev/vduse/$NAME. 104 add per-virtqueue configuration such as the max size of virtqueue to the device. 140 - VDUSE_GET_VQ_STATE: Get the state for virtqueue, userspace should return 141 avail index for split virtqueue or the device/driver ring wrap counters and 142 the avail and used index for packed virtqueue. 157 1. Get the specified virtqueue's information with the VDUSE_VQ_GET_INFO ioctl, 230 5. Inject an interrupt for specific virtqueue with the VDUSE_INJECT_VQ_IRQ ioctl
|
/linux-6.1.9/drivers/bluetooth/ |
D | virtio_bt.c | 24 struct virtqueue *vqs[VIRTBT_NUM_VQS]; 31 struct virtqueue *vq = vbt->vqs[VIRTBT_VQ_RX]; in virtbt_add_inbuf() 70 struct virtqueue *vq = vbt->vqs[i]; in virtbt_close() 231 static void virtbt_tx_done(struct virtqueue *vq) in virtbt_tx_done() 240 static void virtbt_rx_done(struct virtqueue *vq) in virtbt_rx_done()
|
/linux-6.1.9/sound/virtio/ |
D | virtio_pcm.h | 103 void virtsnd_pcm_tx_notify_cb(struct virtqueue *vqueue); 105 void virtsnd_pcm_rx_notify_cb(struct virtqueue *vqueue);
|
/linux-6.1.9/drivers/char/ |
D | virtio_console.c | 153 struct virtqueue *c_ivq, *c_ovq; 162 struct virtqueue **in_vqs, **out_vqs; 194 struct virtqueue *in_vq, *out_vq; 317 struct virtqueue *vq) in find_port_by_vq() 492 static int add_inbuf(struct virtqueue *vq, struct port_buffer *buf) in add_inbuf() 552 struct virtqueue *vq; in __send_control_msg() 609 struct virtqueue *out_vq; in __send_to_port() 1327 static int fill_queue(struct virtqueue *vq, spinlock_t *lock) in fill_queue() 1702 struct virtqueue *vq; in control_work_handler() 1728 static void flush_bufs(struct virtqueue *vq, bool can_sleep) in flush_bufs() [all …]
|
/linux-6.1.9/arch/um/drivers/ |
D | virtio_uml.c | 370 struct virtqueue *vq; in vu_req_read_message() 432 struct virtqueue *vq; in vu_req_interrupt() 776 static bool vu_notify(struct virtqueue *vq) in vu_notify() 804 struct virtqueue *vq = opaque; in vu_interrupt() 857 static void vu_del_vq(struct virtqueue *vq) in vu_del_vq() 880 struct virtqueue *vq, *n; in vu_del_vqs() 895 struct virtqueue *vq) in vu_setup_vq_call_fd() 938 static struct virtqueue *vu_setup_vq(struct virtio_device *vdev, in vu_setup_vq() 945 struct virtqueue *vq; in vu_setup_vq() 1016 struct virtqueue *vqs[], vq_callback_t *callbacks[], in vu_find_vqs() [all …]
|
/linux-6.1.9/drivers/remoteproc/ |
D | remoteproc_virtio.c | 65 static bool rproc_virtio_notify(struct virtqueue *vq) in rproc_virtio_notify() 103 static struct virtqueue *rp_find_vq(struct virtio_device *vdev, in rp_find_vq() 105 void (*callback)(struct virtqueue *vq), in rp_find_vq() 114 struct virtqueue *vq; in rp_find_vq() 168 struct virtqueue *vq, *n; in __rproc_virtio_del_vqs() 184 struct virtqueue *vqs[], in rproc_virtio_find_vqs()
|
/linux-6.1.9/drivers/crypto/virtio/ |
D | virtio_crypto_common.h | 22 struct virtqueue *vq; 35 struct virtqueue *ctrl_vq;
|
/linux-6.1.9/drivers/scsi/ |
D | virtio_scsi.c | 68 struct virtqueue *vq; 177 struct virtqueue *vq = virtscsi_vq->vq; in virtscsi_vq_done() 191 static void virtscsi_req_done(struct virtqueue *vq) in virtscsi_req_done() 219 static void virtscsi_ctrl_done(struct virtqueue *vq) in virtscsi_ctrl_done() 409 static void virtscsi_event_done(struct virtqueue *vq) in virtscsi_event_done() 417 static int __virtscsi_add_cmd(struct virtqueue *vq, in __virtscsi_add_cmd() 772 struct virtqueue *vq) in virtscsi_init_vq() 793 struct virtqueue **vqs; in virtscsi_init() 797 vqs = kmalloc_array(num_vqs, sizeof(struct virtqueue *), GFP_KERNEL); in virtscsi_init()
|