| /linux/drivers/vdpa/solidrun/ |
| H A D | snet_main.c | 77 if (snet->vqs[i] && snet->vqs[i]->irq != -1) { in snet_free_irqs() 78 devm_free_irq(&pdev->dev, snet->vqs[i]->irq, snet->vqs[i]); in snet_free_irqs() 79 snet->vqs[i]->irq = -1; in snet_free_irqs() 91 snet->vqs[idx]->desc_area = desc_area; in snet_set_vq_address() 92 snet->vqs[idx]->driver_area = driver_area; in snet_set_vq_address() 93 snet->vqs[idx]->device_area = device_area; in snet_set_vq_address() 102 snet->vqs[idx]->num = num; in snet_set_vq_num() 109 if (unlikely(!snet->vqs[idx]->ready)) in snet_kick_vq() 112 iowrite32(SNET_KICK_VAL, snet->vqs[idx]->kick_ptr); in snet_kick_vq() 121 if (unlikely(!snet->vqs[idx]->ready)) in snet_kick_vq_with_data() [all …]
|
| /linux/drivers/vdpa/pds/ |
| H A D | vdpa_dev.c | 77 pdsv->vqs[qid].desc_addr = desc_addr; in pds_vdpa_set_vq_address() 78 pdsv->vqs[qid].avail_addr = driver_addr; in pds_vdpa_set_vq_address() 79 pdsv->vqs[qid].used_addr = device_addr; in pds_vdpa_set_vq_address() 88 pdsv->vqs[qid].q_len = num; in pds_vdpa_set_vq_num() 95 iowrite16(qid, pdsv->vqs[qid].notify); in pds_vdpa_kick_vq() 103 pdsv->vqs[qid].event_cb = *cb; in pds_vdpa_set_vq_cb() 119 if (pdsv->vqs[qid].irq == VIRTIO_MSI_NO_VECTOR) in pds_vdpa_release_irq() 122 free_irq(pdsv->vqs[qid].irq, &pdsv->vqs[qid]); in pds_vdpa_release_irq() 123 pdsv->vqs[qid].irq = VIRTIO_MSI_NO_VECTOR; in pds_vdpa_release_irq() 135 __func__, qid, pdsv->vqs[qid].ready, ready); in pds_vdpa_set_vq_ready() [all …]
|
| /linux/drivers/vhost/ |
| H A D | test.c | 44 struct vhost_virtqueue vqs[VHOST_TEST_VQ_MAX]; member 51 struct vhost_virtqueue *vq = &n->vqs[VHOST_TEST_VQ]; in handle_vq() 115 struct vhost_virtqueue **vqs; in vhost_test_open() local 119 vqs = kmalloc_objs(*vqs, VHOST_TEST_VQ_MAX); in vhost_test_open() 120 if (!vqs) { in vhost_test_open() 126 vqs[VHOST_TEST_VQ] = &n->vqs[VHOST_TEST_VQ]; in vhost_test_open() 127 n->vqs[VHOST_TEST_VQ].handle_kick = handle_vq_kick; in vhost_test_open() 128 vhost_dev_init(dev, vqs, VHOST_TEST_VQ_MAX, UIO_MAXIOV, in vhost_test_open() 150 *privatep = vhost_test_stop_vq(n, n->vqs + VHOST_TEST_VQ); in vhost_test_stop() 167 kfree(n->dev.vqs); in vhost_test_release() [all …]
|
| H A D | net.c | 138 struct vhost_net_virtqueue vqs[VHOST_NET_VQ_MAX]; member 281 kfree(n->vqs[i].ubuf_info); in vhost_net_clear_ubuf_info() 282 n->vqs[i].ubuf_info = NULL; in vhost_net_clear_ubuf_info() 295 n->vqs[i].ubuf_info = in vhost_net_set_ubuf_info() 296 kmalloc_objs(*n->vqs[i].ubuf_info, UIO_MAXIOV); in vhost_net_set_ubuf_info() 297 if (!n->vqs[i].ubuf_info) in vhost_net_set_ubuf_info() 314 n->vqs[i].done_idx = 0; in vhost_net_vq_reset() 315 n->vqs[i].upend_idx = 0; in vhost_net_vq_reset() 316 n->vqs[i].ubufs = NULL; in vhost_net_vq_reset() 317 n->vqs[i].vhost_hlen = 0; in vhost_net_vq_reset() [all …]
|
| H A D | vsock.c | 50 struct vhost_virtqueue vqs[2]; member 98 struct vhost_virtqueue *tx_vq = &vsock->vqs[VSOCK_VQ_TX]; in vhost_transport_do_send_pkt() 271 vq = &vsock->vqs[VSOCK_VQ_RX]; in vhost_transport_send_pkt_work() 297 vhost_vq_work_queue(&vsock->vqs[VSOCK_VQ_RX], &vsock->send_pkt_work); in vhost_transport_send_pkt() 321 struct vhost_virtqueue *tx_vq = &vsock->vqs[VSOCK_VQ_TX]; in vhost_transport_cancel_pkt() 399 struct vhost_virtqueue *vq = &vsock->vqs[VSOCK_VQ_TX]; in vhost_vsock_more_replies() 594 for (i = 0; i < ARRAY_SIZE(vsock->vqs); i++) { in vhost_vsock_start() 595 vq = &vsock->vqs[i]; in vhost_vsock_start() 617 vhost_vq_work_queue(&vsock->vqs[VSOCK_VQ_RX], &vsock->send_pkt_work); in vhost_vsock_start() 626 for (i = 0; i < ARRAY_SIZE(vsock->vqs); i++) { in vhost_vsock_start() [all …]
|
| H A D | scsi.c | 245 struct vhost_scsi_virtqueue *vqs; member 313 vq = &vs->vqs[i].vq; in vhost_scsi_init_inflight() 318 idx = vs->vqs[i].inflight_idx; in vhost_scsi_init_inflight() 320 old_inflight[i] = &vs->vqs[i].inflights[idx]; in vhost_scsi_init_inflight() 323 vs->vqs[i].inflight_idx = idx ^ 1; in vhost_scsi_init_inflight() 324 new_inflight = &vs->vqs[i].inflights[idx ^ 1]; in vhost_scsi_init_inflight() 542 struct vhost_virtqueue *vq = &vs->vqs[VHOST_SCSI_VQ_EVT].vq; in vhost_scsi_allocate_evt() 572 struct vhost_virtqueue *vq = &vs->vqs[VHOST_SCSI_VQ_EVT].vq; in vhost_scsi_do_evt_work() 635 struct vhost_virtqueue *vq = &vs->vqs[VHOST_SCSI_VQ_EVT].vq; in vhost_scsi_complete_events() 1997 if (!vhost_vq_access_ok(&vs->vqs[index].vq)) { in vhost_scsi_set_endpoint() [all …]
|
| H A D | vhost.c | 352 __vhost_vq_meta_reset(d->vqs[i]); in vhost_vq_meta_reset() 474 vq = dev->vqs[i]; in vhost_worker_killed() 516 vq = dev->vqs[i]; in vhost_dev_alloc_iovecs() 529 vhost_vq_free_iovecs(dev->vqs[i]); in vhost_dev_alloc_iovecs() 538 vhost_vq_free_iovecs(dev->vqs[i]); in vhost_dev_free_iovecs() 581 struct vhost_virtqueue **vqs, int nvqs, in vhost_dev_init() argument 590 dev->vqs = vqs; in vhost_dev_init() 610 vq = dev->vqs[i]; in vhost_dev_init() 731 rcu_assign_pointer(dev->vqs[i]->worker, NULL); in vhost_workers_free() 1003 *vq = dev->vqs[idx]; in vhost_get_vq_from_user() [all …]
|
| H A D | vdpa.c | 48 struct vhost_virtqueue *vqs; member 173 ops->kick_vq(v->vdpa, vq - v->vqs); in handle_vq_kick() 200 struct vhost_virtqueue *vq = &v->vqs[qid]; in vhost_vdpa_setup_vq_irq() 224 struct vhost_virtqueue *vq = &v->vqs[qid]; in vhost_vdpa_unsetup_vq_irq() 236 if (v->vdev.vqs) { in _compat_vdpa_reset() 237 flags |= !vhost_backend_has_feature(v->vdev.vqs[0], in _compat_vdpa_reset() 488 struct vhost_virtqueue *vq = d->vqs[i]; in vhost_vdpa_set_features() 652 vq = &v->vqs[idx]; in vhost_vdpa_vring_ioctl() 1400 kfree(v->vdev.vqs); in vhost_vdpa_cleanup() 1401 v->vdev.vqs = NULL; in vhost_vdpa_cleanup() [all …]
|
| /linux/drivers/virtio/ |
| H A D | virtio_pci_common.c | 271 list_for_each_entry_safe(vq, n, &vdev->vqs, list) { in vp_del_vqs() 273 vp_dev->vqs[vq->index]; in vp_del_vqs() 316 kfree(vp_dev->vqs); in vp_del_vqs() 317 vp_dev->vqs = NULL; in vp_del_vqs() 374 struct virtqueue *vqs[], in vp_find_vqs_msix() argument 387 vp_dev->vqs = kzalloc_objs(*vp_dev->vqs, nvqs); in vp_find_vqs_msix() 388 if (!vp_dev->vqs) in vp_find_vqs_msix() 423 vqs[i] = NULL; in vp_find_vqs_msix() 426 vqs[i] = vp_find_one_vq_msix(vdev, queue_idx++, vqi->callback, in vp_find_vqs_msix() 429 &vp_dev->vqs[i]); in vp_find_vqs_msix() [all …]
|
| H A D | virtio_rtc_driver.c | 56 struct viortc_vq vqs[VIORTC_MAX_NR_QUEUES]; member 240 viortc_vq = &viortc->vqs[vq->index]; in viortc_do_cb() 602 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_read() 644 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_read_cross() 684 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_cfg() 725 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_clock_cap() 769 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_cross_cap() 811 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_read_alarm() 860 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_set_alarm() 902 ret = viortc_msg_xfer(&viortc->vqs[VIORTC_REQUESTQ], VIORTC_MSG(hdl), in viortc_set_alarm_enabled() [all …]
|
| H A D | virtio_vdpa.c | 263 list_for_each_entry_safe(vq, n, &vdev->vqs, list) in virtio_vdpa_del_vqs() 329 struct virtqueue *vqs[], in virtio_vdpa_find_vqs() argument 351 vqs[i] = NULL; in virtio_vdpa_find_vqs() 355 vqs[i] = virtio_vdpa_setup_vq(vdev, queue_idx++, vqi->callback, in virtio_vdpa_find_vqs() 357 if (IS_ERR(vqs[i])) { in virtio_vdpa_find_vqs() 358 err = PTR_ERR(vqs[i]); in virtio_vdpa_find_vqs()
|
| /linux/drivers/block/ |
| H A D | virtio_blk.c | 82 struct virtio_blk_vq *vqs; member 134 struct virtio_blk_vq *vq = &vblk->vqs[hctx->queue_num]; in get_virtio_blk_vq() 359 spin_lock_irqsave(&vblk->vqs[qid].lock, flags); in virtblk_done() 362 while ((vbr = virtqueue_get_buf(vblk->vqs[qid].vq, &len)) != NULL) { in virtblk_done() 374 spin_unlock_irqrestore(&vblk->vqs[qid].lock, flags); in virtblk_done() 380 struct virtio_blk_vq *vq = &vblk->vqs[hctx->queue_num]; in virtio_commit_rqs() 442 spin_lock_irqsave(&vblk->vqs[qid].lock, flags); in virtio_queue_rq() 443 err = virtblk_add_req(vblk->vqs[qid].vq, vbr); in virtio_queue_rq() 445 virtqueue_kick(vblk->vqs[qid].vq); in virtio_queue_rq() 451 spin_unlock_irqrestore(&vblk->vqs[qid].lock, flags); in virtio_queue_rq() [all …]
|
| /linux/drivers/bluetooth/ |
| H A D | virtio_bt.c | 24 struct virtqueue *vqs[VIRTBT_NUM_VQS]; member 31 struct virtqueue *vq = vbt->vqs[VIRTBT_VQ_RX]; in virtbt_add_inbuf() 61 virtqueue_kick(vbt->vqs[VIRTBT_VQ_RX]); in virtbt_open_vdev() 76 for (i = 0; i < ARRAY_SIZE(vbt->vqs); i++) { in virtbt_close_vdev() 77 struct virtqueue *vq = vbt->vqs[i]; in virtbt_close_vdev() 102 err = virtqueue_add_outbuf(vbt->vqs[VIRTBT_VQ_TX], sg, 1, skb, in virtbt_send_frame() 109 virtqueue_kick(vbt->vqs[VIRTBT_VQ_TX]); in virtbt_send_frame() 226 skb = virtqueue_get_buf(vbt->vqs[VIRTBT_VQ_RX], &len); in virtbt_rx_work() 236 virtqueue_kick(vbt->vqs[VIRTBT_VQ_RX]); in virtbt_rx_work() 287 err = virtio_find_vqs(vdev, VIRTBT_NUM_VQS, vbt->vqs, vqs_info, NULL); in virtbt_probe()
|
| /linux/net/vmw_vsock/ |
| H A D | virtio_transport.c | 32 struct virtqueue *vqs[VSOCK_VQ_MAX]; member 171 vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_send_pkt_work() 191 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_send_pkt_work() 219 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_send_skb_fast_path() 295 struct virtqueue *rx_vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_cancel_pkt() 319 vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_vsock_rx_fill() 349 vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_tx_work() 376 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; in virtio_transport_more_replies() 392 vq = vsock->vqs[VSOCK_VQ_EVENT]; in virtio_vsock_event_fill_one() 410 virtqueue_kick(vsock->vqs[VSOCK_VQ_EVENT]); in virtio_vsock_event_fill() [all …]
|
| /linux/drivers/vdpa/vdpa_sim/ |
| H A D | vdpa_sim.c | 95 struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; in vdpasim_queue_ready() 149 vdpasim_vq_reset(vdpasim, &vdpasim->vqs[i]); in vdpasim_do_reset() 150 vringh_set_iotlb(&vdpasim->vqs[i].vring, &vdpasim->iommu[0], in vdpasim_do_reset() 249 vdpasim->vqs = kzalloc_objs(struct vdpasim_virtqueue, dev_attr->nvqs); in vdpasim_create() 250 if (!vdpasim->vqs) in vdpasim_create() 270 vringh_set_iotlb(&vdpasim->vqs[i].vring, &vdpasim->iommu[0], in vdpasim_create() 295 struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; in vdpasim_set_vq_address() 307 struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; in vdpasim_set_vq_num() 315 struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; in vdpasim_get_vq_size() 326 struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; in vdpasim_kick_vq() [all …]
|
| /linux/fs/fuse/ |
| H A D | virtio_fs.c | 69 struct virtio_fs_vq *vqs; member 157 return &fs->vqs[vq->index]; in vq_to_fsvq() 196 kfree(vfs->vqs); in virtio_fs_ktype_release() 212 if (kobj == fs->vqs[i].kobj) in virtio_fs_kobj_to_vq() 213 return &fs->vqs[i]; in virtio_fs_kobj_to_vq() 323 fsvq = &fs->vqs[i]; in virtio_fs_drain_all_queues_locked() 347 fsvq = &fs->vqs[i]; in virtio_fs_start_all_queues() 360 fsvq = &fs->vqs[i]; in virtio_fs_delete_queues_sysfs() 372 fsvq = &fs->vqs[i]; in virtio_fs_add_queues_sysfs() 392 fsvq = &fs->vqs[j]; in virtio_fs_add_queues_sysfs() [all …]
|
| /linux/drivers/vdpa/vdpa_user/ |
| H A D | vduse_dev.c | 115 struct vduse_virtqueue **vqs; member 487 struct vduse_virtqueue *vq = dev->vqs[i]; in vduse_dev_reset() 520 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_address() 554 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_kick_vq() 567 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_cb() 579 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_num() 587 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_get_vq_size() 599 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_ready() 607 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_get_vq_ready() 616 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_state() [all …]
|
| /linux/tools/testing/selftests/arm64/fp/ |
| H A D | sve-probe-vls.c | 22 static unsigned int vqs[SVE_VQ_MAX]; in main() local 53 vqs[nvqs++] = vq; in main() 60 ksft_print_msg("%u\n", 16 * vqs[nvqs]); in main()
|
| /linux/drivers/crypto/virtio/ |
| H A D | virtio_crypto_core.c | 105 struct virtqueue **vqs; in virtcrypto_find_vqs() local 118 vqs = kzalloc_objs(*vqs, total_vqs); in virtcrypto_find_vqs() 119 if (!vqs) in virtcrypto_find_vqs() 137 ret = virtio_find_vqs(vi->vdev, total_vqs, vqs, vqs_info, NULL); in virtcrypto_find_vqs() 141 vi->ctrl_vq = vqs[total_vqs - 1]; in virtcrypto_find_vqs() 145 vi->data_vq[i].vq = vqs[i]; in virtcrypto_find_vqs() 148 virtqueue_get_vring_size(vqs[i])); in virtcrypto_find_vqs() 158 kfree(vqs); in virtcrypto_find_vqs() 166 kfree(vqs); in virtcrypto_find_vqs()
|
| /linux/arch/arm64/kvm/ |
| H A D | guest.c | 311 #define vq_present(vqs, vq) (!!((vqs)[vq_word(vq)] & vq_mask(vq))) argument 316 u64 vqs[KVM_ARM64_SVE_VLS_WORDS]; in get_sve_vls() local 324 memset(vqs, 0, sizeof(vqs)); in get_sve_vls() 329 vqs[vq_word(vq)] |= vq_mask(vq); in get_sve_vls() 331 if (copy_to_user((void __user *)reg->addr, vqs, sizeof(vqs))) in get_sve_vls() 340 u64 vqs[KVM_ARM64_SVE_VLS_WORDS]; in set_sve_vls() local 351 if (copy_from_user(vqs, (const void __user *)reg->addr, sizeof(vqs))) in set_sve_vls() 356 if (vq_present(vqs, vq)) in set_sve_vls() 370 if (vq_present(vqs, vq) != sve_vq_available(vq)) in set_sve_vls()
|
| /linux/sound/virtio/ |
| H A D | virtio_card.c | 121 struct virtqueue *vqs[VIRTIO_SND_VQ_MAX] = { 0 }; in virtsnd_find_vqs() local 126 rc = virtio_find_vqs(vdev, VIRTIO_SND_VQ_MAX, vqs, vqs_info, NULL); in virtsnd_find_vqs() 133 snd->queues[i].vqueue = vqs[i]; in virtsnd_find_vqs() 136 virtqueue_disable_cb(vqs[VIRTIO_SND_VQ_EVENT]); in virtsnd_find_vqs() 138 n = virtqueue_get_vring_size(vqs[VIRTIO_SND_VQ_EVENT]); in virtsnd_find_vqs() 145 virtsnd_event_send(vqs[VIRTIO_SND_VQ_EVENT], in virtsnd_find_vqs()
|
| /linux/drivers/vdpa/octeon_ep/ |
| H A D | octep_vdpa_main.c | 64 if (ioread8(oct_hw->vqs[i].cb_notify_addr)) { in octep_vdpa_intr_handler() 66 iowrite8(0, oct_hw->vqs[i].cb_notify_addr); in octep_vdpa_intr_handler() 68 if (likely(oct_hw->vqs[i].cb.callback)) in octep_vdpa_intr_handler() 69 oct_hw->vqs[i].cb.callback(oct_hw->vqs[i].cb.private); in octep_vdpa_intr_handler() 207 oct_hw->vqs[qid].cb.callback = NULL; in octep_vdpa_reset() 208 oct_hw->vqs[qid].cb.private = NULL; in octep_vdpa_reset() 247 oct_hw->vqs[qid].cb = *cb; in octep_vdpa_set_vq_cb() 293 vp_iowrite32(data, oct_hw->vqs[idx].notify_addr); in octep_vdpa_kick_vq_with_data() 355 area.addr = oct_hw->vqs[idx].notify_pa; in octep_get_vq_notification()
|
| /linux/drivers/remoteproc/ |
| H A D | remoteproc_virtio.c | 171 list_for_each_entry_safe(vq, n, &vdev->vqs, list) { in __rproc_virtio_del_vqs() 184 struct virtqueue *vqs[], in rproc_virtio_find_vqs() argument 194 vqs[i] = NULL; in rproc_virtio_find_vqs() 198 vqs[i] = rp_find_vq(vdev, queue_idx++, vqi->callback, in rproc_virtio_find_vqs() 200 if (IS_ERR(vqs[i])) { in rproc_virtio_find_vqs() 201 ret = PTR_ERR(vqs[i]); in rproc_virtio_find_vqs()
|
| /linux/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_kms.c | 126 struct virtqueue *vqs[2]; in virtio_gpu_init() local 210 ret = virtio_find_vqs(vgdev->vdev, 2, vqs, vqs_info, NULL); in virtio_gpu_init() 215 vgdev->ctrlq.vq = vqs[0]; in virtio_gpu_init() 216 vgdev->cursorq.vq = vqs[1]; in virtio_gpu_init()
|
| /linux/drivers/s390/virtio/ |
| H A D | virtio_ccw.c | 303 static unsigned long *get_airq_indicator(struct virtqueue *vqs[], int nvqs, in get_airq_indicator() argument 313 if (vqs[i]) in get_airq_indicator() 336 if (!vqs[j]) in get_airq_indicator() 339 (unsigned long)vqs[j]); in get_airq_indicator() 543 list_for_each_entry_safe(vq, n, &vdev->vqs, list) in virtio_ccw_del_vqs() 652 struct virtqueue *vqs[], int nvqs, in virtio_ccw_register_adapter_ind() argument 668 indicator_addr = get_airq_indicator(vqs, nvqs, in virtio_ccw_register_adapter_ind() 702 struct virtqueue *vqs[], in virtio_ccw_find_vqs() argument 720 vqs[i] = NULL; in virtio_ccw_find_vqs() 724 vqs[i] = virtio_ccw_setup_vq(vdev, queue_idx++, vqi->callback, in virtio_ccw_find_vqs() [all …]
|