| /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_array(VHOST_TEST_VQ_MAX, sizeof(*vqs), GFP_KERNEL); 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() 297 sizeof(*n->vqs[i].ubuf_info), in vhost_net_set_ubuf_info() 299 if (!n->vqs[i].ubuf_info) in vhost_net_set_ubuf_info() 316 n->vqs[i].done_idx = 0; in vhost_net_vq_reset() 317 n->vqs[i].upend_idx = 0; in vhost_net_vq_reset() 318 n->vqs[i].ubufs = NULL; in vhost_net_vq_reset() 319 n->vqs[i].vhost_hlen = 0; in vhost_net_vq_reset() [all …]
|
| H A D | vsock.c | 50 struct vhost_virtqueue vqs[2]; member 96 struct vhost_virtqueue *tx_vq = &vsock->vqs[VSOCK_VQ_TX]; in vhost_transport_do_send_pkt() 269 vq = &vsock->vqs[VSOCK_VQ_RX]; in vhost_transport_send_pkt_work() 295 vhost_vq_work_queue(&vsock->vqs[VSOCK_VQ_RX], &vsock->send_pkt_work); in vhost_transport_send_pkt() 318 struct vhost_virtqueue *tx_vq = &vsock->vqs[VSOCK_VQ_TX]; in vhost_transport_cancel_pkt() 396 struct vhost_virtqueue *vq = &vsock->vqs[VSOCK_VQ_TX]; in vhost_vsock_more_replies() 581 for (i = 0; i < ARRAY_SIZE(vsock->vqs); i++) { in vhost_vsock_start() 582 vq = &vsock->vqs[i]; in vhost_vsock_start() 604 vhost_vq_work_queue(&vsock->vqs[VSOCK_VQ_RX], &vsock->send_pkt_work); in vhost_vsock_start() 613 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() 544 struct vhost_virtqueue *vq = &vs->vqs[VHOST_SCSI_VQ_EVT].vq; in vhost_scsi_allocate_evt() 574 struct vhost_virtqueue *vq = &vs->vqs[VHOST_SCSI_VQ_EVT].vq; in vhost_scsi_do_evt_work() 637 struct vhost_virtqueue *vq = &vs->vqs[VHOST_SCSI_VQ_EVT].vq; in vhost_scsi_complete_events() 2004 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() 533 vhost_vq_free_iovecs(dev->vqs[i]); in vhost_dev_alloc_iovecs() 542 vhost_vq_free_iovecs(dev->vqs[i]); in vhost_dev_free_iovecs() 585 struct vhost_virtqueue **vqs, int nvqs, in vhost_dev_init() argument 594 dev->vqs = vqs; in vhost_dev_init() 614 vq = dev->vqs[i]; in vhost_dev_init() 735 rcu_assign_pointer(dev->vqs[i]->worker, NULL); in vhost_workers_free() 1007 *vq = dev->vqs[idx]; in vhost_get_vq_from_user() [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/drivers/vdpa/vdpa_user/ |
| H A D | vduse_dev.c | 89 struct vduse_virtqueue **vqs; member 451 struct vduse_virtqueue *vq = dev->vqs[i]; in vduse_dev_reset() 484 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_address() 518 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_kick_vq() 531 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_cb() 543 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_num() 551 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_get_vq_size() 563 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_ready() 571 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_get_vq_ready() 580 struct vduse_virtqueue *vq = dev->vqs[idx]; in vduse_vdpa_set_vq_state() [all …]
|
| /linux/drivers/virtio/ |
| 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()
|
| H A D | virtio_mmio.c | 333 list_for_each_entry_safe(vq, n, &vdev->vqs, list) in vm_del_vqs() 447 struct virtqueue *vqs[], in vm_find_vqs() argument 470 vqs[i] = NULL; in vm_find_vqs() 474 vqs[i] = vm_setup_vq(vdev, queue_idx++, vqi->callback, in vm_find_vqs() 476 if (IS_ERR(vqs[i])) { in vm_find_vqs() 478 return PTR_ERR(vqs[i]); in vm_find_vqs()
|
| H A D | virtio_input.c | 192 struct virtqueue *vqs[2]; in virtinput_init_vqs() local 195 err = virtio_find_vqs(vi->vdev, 2, vqs, vqs_info, NULL); in virtinput_init_vqs() 198 vi->evt = vqs[0]; in virtinput_init_vqs() 199 vi->sts = vqs[1]; in virtinput_init_vqs()
|
| /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/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/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/drivers/gpio/ |
| H A D | gpio-virtio.c | 452 struct virtqueue *vqs[2] = { NULL, NULL }; in virtio_gpio_alloc_vqs() local 455 ret = virtio_find_vqs(vdev, vgpio->irq_lines ? 2 : 1, vqs, in virtio_gpio_alloc_vqs() 462 if (!vqs[0]) { in virtio_gpio_alloc_vqs() 466 vgpio->request_vq = vqs[0]; in virtio_gpio_alloc_vqs() 468 if (vgpio->irq_lines && !vqs[1]) { in virtio_gpio_alloc_vqs() 472 vgpio->event_vq = vqs[1]; in virtio_gpio_alloc_vqs() 477 if (vqs[0] || vqs[1]) in virtio_gpio_alloc_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/s390/virtio/ |
| H A D | virtio_ccw.c | 302 static unsigned long *get_airq_indicator(struct virtqueue *vqs[], int nvqs, in get_airq_indicator() argument 312 if (vqs[i]) in get_airq_indicator() 335 if (!vqs[j]) in get_airq_indicator() 338 (unsigned long)vqs[j]); in get_airq_indicator() 542 list_for_each_entry_safe(vq, n, &vdev->vqs, list) in virtio_ccw_del_vqs() 651 struct virtqueue *vqs[], int nvqs, in virtio_ccw_register_adapter_ind() argument 667 indicator_addr = get_airq_indicator(vqs, nvqs, in virtio_ccw_register_adapter_ind() 701 struct virtqueue *vqs[], in virtio_ccw_find_vqs() argument 719 vqs[i] = NULL; in virtio_ccw_find_vqs() 723 vqs[i] = virtio_ccw_setup_vq(vdev, queue_idx++, vqi->callback, in virtio_ccw_find_vqs() [all …]
|
| /linux/drivers/vdpa/mlx5/net/ |
| H A D | mlx5_vnet.c | 557 struct mlx5_vdpa_virtqueue *mvq = &ndev->vqs[idx]; in cq_create() 632 struct mlx5_vdpa_virtqueue *mvq = &ndev->vqs[idx]; in cq_destroy() 1244 fill_query_virtqueue_cmd(ndev, &ndev->vqs[start_vq + i], &cmd_mem[i]); in query_virtqueues() 1577 mvq = &ndev->vqs[vq_idx]; in modify_virtqueues() 1612 mvq = &ndev->vqs[vq_idx]; in modify_virtqueues() 1641 mvq = &ndev->vqs[start_vq]; in suspend_vqs() 1661 mvq = &ndev->vqs[vq_idx]; in suspend_vqs() 1684 mvq = &ndev->vqs[start_vq]; in resume_vqs() 1761 list[i] = cpu_to_be32(ndev->vqs[j % ndev->cur_num_vqs].virtq_id); in create_rqt() 1796 list[i] = cpu_to_be32(ndev->vqs[j % num].virtq_id); in modify_rqt() [all …]
|
| /linux/net/sched/ |
| H A D | sch_gred.c | 552 static void gred_vqs_apply(struct gred_sched *table, struct nlattr *vqs) in gred_vqs_apply() argument 557 nla_for_each_nested(attr, vqs, rem) { in gred_vqs_apply() 611 struct nlattr *vqs, struct netlink_ext_ack *extack) in gred_vqs_validate() argument 616 err = nla_validate_nested_deprecated(vqs, TCA_GRED_VQ_ENTRY_MAX, in gred_vqs_validate() 621 nla_for_each_nested(attr, vqs, rem) { in gred_vqs_validate() 771 struct nlattr *parms, *vqs, *opts = NULL; in gred_dump() local 852 vqs = nla_nest_start_noflag(skb, TCA_GRED_VQ_LIST); in gred_dump() 853 if (!vqs) in gred_dump() 899 nla_nest_end(skb, vqs); in gred_dump()
|
| /linux/tools/virtio/ |
| H A D | vhost_net_test.c | 48 struct vq_info vqs[2]; member 194 struct vq_info *info = &dev->vqs[idx]; in vq_info_add() 214 INIT_LIST_HEAD(&dev->vdev.vqs); in vdev_info_init() 528 run_rx_test(&dev, &dev.vqs[0], delayed, nbufs); in main() 529 run_tx_test(&dev, &dev.vqs[1], delayed, nbufs); in main()
|
| H A D | virtio_test.c | 42 struct vq_info vqs[1]; member 113 struct vq_info *info = &dev->vqs[dev->nvqs]; in vq_info_add() 132 INIT_LIST_HEAD(&dev->vdev.vqs); in vdev_info_init() 401 run_test(&dev, &dev.vqs[0], delayed, batch, reset, 0x100000); in main()
|
| /linux/drivers/scsi/ |
| H A D | virtio_scsi.c | 844 struct virtqueue **vqs; in virtscsi_init() local 849 vqs = kmalloc_array(num_vqs, sizeof(struct virtqueue *), GFP_KERNEL); in virtscsi_init() 852 if (!vqs || !vqs_info) { in virtscsi_init() 881 err = virtio_find_vqs(vdev, num_vqs, vqs, vqs_info, &desc); in virtscsi_init() 885 virtscsi_init_vq(&vscsi->ctrl_vq, vqs[0]); in virtscsi_init() 886 virtscsi_init_vq(&vscsi->event_vq, vqs[1]); in virtscsi_init() 889 vqs[i]); in virtscsi_init() 898 kfree(vqs); in virtscsi_init()
|
| /linux/drivers/char/ |
| H A D | virtio_console.c | 1805 struct virtqueue **vqs; in init_vqs() local 1812 vqs = kmalloc_array(nr_queues, sizeof(struct virtqueue *), GFP_KERNEL); in init_vqs() 1818 if (!vqs || !vqs_info || !portdev->in_vqs || !portdev->out_vqs) { in init_vqs() 1849 err = virtio_find_vqs(portdev->vdev, nr_queues, vqs, vqs_info, NULL); in init_vqs() 1854 portdev->in_vqs[0] = vqs[0]; in init_vqs() 1855 portdev->out_vqs[0] = vqs[1]; in init_vqs() 1858 portdev->c_ivq = vqs[j]; in init_vqs() 1859 portdev->c_ovq = vqs[j + 1]; in init_vqs() 1863 portdev->in_vqs[i] = vqs[j]; in init_vqs() 1864 portdev->out_vqs[i] = vqs[j + 1]; in init_vqs() [all …]
|