Home
last modified time | relevance | path

Searched refs:vq (Results 1 – 25 of 107) sorted by relevance

12345

/linux/arch/arm64/include/uapi/asm/
H A Dsve_context.h42 #define __sve_vl_from_vq(vq) ((vq) * __SVE_VQ_BYTES) argument
44 #define __SVE_ZREG_SIZE(vq) ((__u32)(vq) * __SVE_VQ_BYTES) argument
45 #define __SVE_PREG_SIZE(vq) ((__u32)(vq) * (__SVE_VQ_BYTES / 8)) argument
46 #define __SVE_FFR_SIZE(vq) __SVE_PREG_SIZE(vq) argument
49 #define __SVE_ZREG_OFFSET(vq, n) \ argument
50 (__SVE_ZREGS_OFFSET + __SVE_ZREG_SIZE(vq) * (n))
51 #define __SVE_ZREGS_SIZE(vq) \ argument
52 (__SVE_ZREG_OFFSET(vq, __SVE_NUM_ZREGS) - __SVE_ZREGS_OFFSET)
54 #define __SVE_PREGS_OFFSET(vq) \ argument
55 (__SVE_ZREGS_OFFSET + __SVE_ZREGS_SIZE(vq))
[all …]
/linux/drivers/vhost/
H A Dtest.c51 struct vhost_virtqueue *vq = &n->vqs[VHOST_TEST_VQ]; in handle_vq() local
57 mutex_lock(&vq->mutex); in handle_vq()
58 private = vhost_vq_get_backend(vq); in handle_vq()
60 mutex_unlock(&vq->mutex); in handle_vq()
64 vhost_disable_notify(&n->dev, vq); in handle_vq()
67 head = vhost_get_vq_desc(vq, vq->iov, in handle_vq()
68 ARRAY_SIZE(vq->iov), in handle_vq()
75 if (head == vq->num) { in handle_vq()
76 if (unlikely(vhost_enable_notify(&n->dev, vq))) { in handle_vq()
77 vhost_disable_notify(&n->dev, vq); in handle_vq()
[all …]
/linux/tools/virtio/
H A Dvhost_net_test.c42 struct virtqueue *vq; member
138 static bool vq_notify(struct virtqueue *vq) in vq_notify() argument
140 struct vq_info *info = vq->priv; in vq_notify()
180 if (info->vq) in vq_reset()
181 vring_del_virtqueue(info->vq); in vq_reset()
185 info->vq = vring_new_virtqueue(info->idx, num, 4096, vdev, true, false, in vq_reset()
187 assert(info->vq); in vq_reset()
188 info->vq->priv = info; in vq_reset()
257 static void wait_for_interrupt(struct vq_info *vq) in wait_for_interrupt() argument
261 poll(&vq->fds, 1, 100); in wait_for_interrupt()
[all …]
H A Dvirtio_test.c35 struct virtqueue *vq; member
53 bool vq_notify(struct virtqueue *vq) in vq_notify() argument
55 struct vq_info *info = vq->priv; in vq_notify()
63 void vq_callback(struct virtqueue *vq) in vq_callback() argument
100 if (info->vq) in vq_reset()
101 vring_del_virtqueue(info->vq); in vq_reset()
105 info->vq = vring_new_virtqueue(info->idx, num, 4096, vdev, true, false, in vq_reset()
107 assert(info->vq); in vq_reset()
108 info->vq->priv = info; in vq_reset()
169 static void run_test(struct vdev_info *dev, struct vq_info *vq, in run_test() argument
[all …]
H A Dvringh_test.c27 static bool never_notify_host(struct virtqueue *vq) in never_notify_host() argument
32 static void never_callback_guest(struct virtqueue *vq) in never_callback_guest() argument
70 static bool parallel_notify_host(struct virtqueue *vq) in parallel_notify_host() argument
75 gvdev = container_of(vq->vdev, struct guest_virtio_device, vdev); in parallel_notify_host()
83 static bool no_notify_host(struct virtqueue *vq) in no_notify_host() argument
302 struct virtqueue *vq; in parallel_test()
327 vq = vring_new_virtqueue(0, RINGSIZE, ALIGN, &gvdev.vdev, true, in parallel_test()
331 never_callback_guest, "guest vq"); in parallel_test()
344 while ((dbuf = virtqueue_get_buf(vq, &len)) != NULL) { in parallel_test()
390 err = virtqueue_add_outbuf(vq, s in parallel_test()
297 struct virtqueue *vq; parallel_test() local
445 struct virtqueue *vq; main() local
[all...]
/linux/tools/testing/selftests/arm64/signal/
H A Dsve_helpers.c18 int vq, vl; in sve_fill_vls() local
25 for (vq = SVE_VQ_MAX; vq > 0; --vq) { in sve_fill_vls()
26 vl = prctl(pr_set_vl, vq * 16); in sve_fill_vls()
41 if (vq < sve_vq_from_vl(vl)) in sve_fill_vls()
45 vq = sve_vq_from_vl(vl); in sve_fill_vls()
/linux/net/vmw_vsock/
H A Dvirtio_transport.c100 /* Caller need to hold vsock->tx_lock on vq */
101 static int virtio_transport_send_skb(struct sk_buff *skb, struct virtqueue *vq, in virtio_transport_send_skb() argument
146 ret = virtqueue_add_sgs(vq, sgs, out_sg, in_sg, skb, gfp); in virtio_transport_send_skb()
148 * the vq in virtio_transport_send_skb()
162 struct virtqueue *vq; in virtio_transport_send_pkt_work() local
171 vq = vsock->vqs[VSOCK_VQ_TX]; in virtio_transport_send_pkt_work()
184 ret = virtio_transport_send_skb(skb, vq, vsock, GFP_KERNEL); in virtio_transport_send_pkt_work()
205 virtqueue_kick(vq); in virtio_transport_send_pkt_work()
215 * Returns 0 if the packet is successfully put on the vq.
219 struct virtqueue *vq in virtio_transport_send_skb_fast_path() local
315 struct virtqueue *vq; virtio_vsock_rx_fill() local
346 struct virtqueue *vq; virtio_transport_tx_work() local
376 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_RX]; virtio_transport_more_replies() local
390 struct virtqueue *vq; virtio_vsock_event_fill_one() local
452 struct virtqueue *vq; virtio_transport_event_work() local
479 virtio_vsock_event_done(struct virtqueue * vq) virtio_vsock_event_done() argument
488 virtio_vsock_tx_done(struct virtqueue * vq) virtio_vsock_tx_done() argument
497 virtio_vsock_rx_done(struct virtqueue * vq) virtio_vsock_rx_done() argument
515 struct virtqueue *vq = vsock->vqs[VSOCK_VQ_TX]; virtio_transport_can_msgzerocopy() local
628 struct virtqueue *vq; virtio_transport_rx_work() local
[all...]
/linux/drivers/virtio/
H A Dvirtio_vdpa.c93 static bool virtio_vdpa_notify(struct virtqueue *vq) in virtio_vdpa_notify() argument
95 struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); in virtio_vdpa_notify()
98 ops->kick_vq(vdpa, vq->index); in virtio_vdpa_notify()
103 static bool virtio_vdpa_notify_with_data(struct virtqueue *vq) in virtio_vdpa_notify_with_data() argument
105 struct vdpa_device *vdpa = vd_get_vdpa(vq->vdev); in virtio_vdpa_notify_with_data()
107 u32 data = vring_notification_data(vq); in virtio_vdpa_notify_with_data()
125 struct virtqueue *vq = private; in virtio_vdpa_virtqueue_cb() local
127 return vring_interrupt(0, vq); in virtio_vdpa_virtqueue_cb()
132 void (*callback)(struct virtqueue *vq), in virtio_vdpa_setup_vq() argument
137 bool (*notify)(struct virtqueue *vq) = virtio_vdpa_notify; in virtio_vdpa_setup_vq()
[all …]
H A Dvirtio_pci_legacy.c113 void (*callback)(struct virtqueue *vq), in setup_vq() argument
118 struct virtqueue *vq; in setup_vq() local
131 vq = vring_create_virtqueue(index, num, in setup_vq()
135 if (!vq) in setup_vq()
138 vq->num_max = num; in setup_vq()
140 q_pfn = virtqueue_get_desc_addr(vq) >> VIRTIO_PCI_QUEUE_ADDR_SHIFT; in setup_vq()
152 vq->priv = (void __force *)vp_dev->ldev.ioaddr + VIRTIO_PCI_QUEUE_NOTIFY; in setup_vq()
162 return vq; in setup_vq()
167 vring_del_virtqueue(vq); in setup_vq()
173 struct virtqueue *vq = info->vq; in del_vq() local
[all …]
H A Dvirtio_pci_modern.c47 void vp_modern_avq_done(struct virtqueue *vq) in vp_modern_avq_done() argument
49 struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev); in vp_modern_avq_done()
58 virtqueue_disable_cb(vq); in vp_modern_avq_done()
59 while ((cmd = virtqueue_get_buf(vq, &len))) { in vp_modern_avq_done()
73 } while (!virtqueue_enable_cb(vq)); in vp_modern_avq_done()
84 struct virtqueue *vq; in virtqueue_exec_admin_cmd() local
88 vq = admin_vq->info->vq; in virtqueue_exec_admin_cmd()
89 if (!vq) in virtqueue_exec_admin_cmd()
100 if (virtqueue_is_broken(vq)) in virtqueue_exec_admin_cmd()
104 ret = virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, GFP_KERNEL); in virtqueue_exec_admin_cmd()
[all …]
/linux/drivers/vdpa/vdpa_sim/
H A Dvdpa_sim.c84 struct vdpasim_virtqueue *vq = in vdpasim_vq_notify() local
87 if (!vq->cb) in vdpasim_vq_notify()
90 vq->cb(vq->private); in vdpasim_vq_notify()
95 struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; in vdpasim_queue_ready() local
96 uint16_t last_avail_idx = vq->vring.last_avail_idx; in vdpasim_queue_ready()
98 (uintptr_t)vq->desc_addr; in vdpasim_queue_ready()
100 (uintptr_t)vq->driver_addr; in vdpasim_queue_ready()
102 (uintptr_t)vq->device_addr; in vdpasim_queue_ready()
105 vringh_init_iotlb_va(&vq->vring, vdpasim->features, vq->num, in vdpasim_queue_ready()
108 vringh_init_iotlb(&vq->vring, vdpasim->features, vq->num, in vdpasim_queue_ready()
[all …]
/linux/tools/testing/selftests/arm64/fp/
H A Dsve-probe-vls.c20 unsigned int vq; in main() local
34 for (vq = SVE_VQ_MAX; vq > 0; --vq) { in main()
35 vl = prctl(PR_SVE_SET_VL, vq * 16); in main()
48 vq = sve_vq_from_vl(vl); in main()
53 vqs[nvqs++] = vq; in main()
H A Dfp-ptrace.c404 int ret, vq; in check_ptrace_values_sve() local
410 vq = __sve_vq_from_vl(config->sve_vl_in); in check_ptrace_values_sve()
412 iov.iov_len = SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, SVE_PT_REGS_SVE); in check_ptrace_values_sve()
448 if (sve->size != SVE_PT_SIZE(vq, sve->flags)) { in check_ptrace_values_sve()
450 sve->size, SVE_PT_SIZE(vq, sve->flags)); in check_ptrace_values_sve()
458 iov.iov_base + SVE_PT_SVE_ZREG_OFFSET(vq, 0), in check_ptrace_values_sve()
459 z_in, SVE_PT_SVE_ZREGS_SIZE(vq))) in check_ptrace_values_sve()
463 iov.iov_base + SVE_PT_SVE_PREG_OFFSET(vq, 0), in check_ptrace_values_sve()
464 p_in, SVE_PT_SVE_PREGS_SIZE(vq))) in check_ptrace_values_sve()
468 iov.iov_base + SVE_PT_SVE_FFR_OFFSET(vq), in check_ptrace_values_sve()
[all …]
H A Dsve-ptrace.c459 unsigned int vq = sve_vq_from_vl(vl); in ptrace_set_sve_get_sve_data() local
464 data_size = SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, SVE_PT_REGS_SVE); in ptrace_set_sve_get_sve_data()
480 fill_buf(write_buf + SVE_PT_SVE_ZREG_OFFSET(vq, i), in ptrace_set_sve_get_sve_data()
481 SVE_PT_SVE_ZREG_SIZE(vq)); in ptrace_set_sve_get_sve_data()
484 fill_buf(write_buf + SVE_PT_SVE_PREG_OFFSET(vq, i), in ptrace_set_sve_get_sve_data()
485 SVE_PT_SVE_PREG_SIZE(vq)); in ptrace_set_sve_get_sve_data()
487 fill_buf(write_buf + SVE_PT_SVE_FPSR_OFFSET(vq), SVE_PT_SVE_FPSR_SIZE); in ptrace_set_sve_get_sve_data()
488 fill_buf(write_buf + SVE_PT_SVE_FPCR_OFFSET(vq), SVE_PT_SVE_FPCR_SIZE); in ptrace_set_sve_get_sve_data()
516 if (memcmp(write_buf + SVE_PT_SVE_ZREG_OFFSET(vq, i), in ptrace_set_sve_get_sve_data()
517 read_buf + SVE_PT_SVE_ZREG_OFFSET(vq, i), in ptrace_set_sve_get_sve_data()
[all …]
H A Dza-ptrace.c199 unsigned int vq = sve_vq_from_vl(vl); in ptrace_set_get_data() local
203 data_size = ZA_PT_SIZE(vq); in ptrace_set_get_data()
217 fill_buf(write_buf + ZA_PT_ZA_OFFSET, ZA_PT_ZA_SIZE(vq)); in ptrace_set_get_data()
241 ZA_PT_ZA_SIZE(vq)) == 0, in ptrace_set_get_data()
256 unsigned int vq, vl; in do_parent() local
316 for (vq = SVE_VQ_MIN; vq <= TEST_VQ_MAX; vq++) { in do_parent()
317 vl = sve_vl_from_vq(vq); in do_parent()
/linux/arch/um/drivers/
H A Dvirtio_uml.c383 struct virtqueue *vq; in vu_req_read_message() local
405 virtio_device_for_each_vq((&vu_dev->vdev), vq) { in vu_req_read_message()
406 if (vq->index == msg.msg.payload.vring_state.index) { in vu_req_read_message()
408 vu_dev->vq_irq_vq_map |= BIT_ULL(vq->index); in vu_req_read_message()
445 struct virtqueue *vq; in vu_req_interrupt() local
447 virtio_device_for_each_vq((&vu_dev->vdev), vq) { in vu_req_interrupt()
448 if (vu_dev->vq_irq_vq_map & BIT_ULL(vq->index)) in vu_req_interrupt()
449 vring_interrupt(0 /* ignored */, vq); in vu_req_interrupt()
791 static bool vu_notify(struct virtqueue *vq) in vu_notify() argument
793 struct virtio_uml_vq_info *info = vq->priv; in vu_notify()
[all …]
/linux/drivers/i2c/busses/
H A Di2c-virtio.c31 struct virtqueue *vq; member
48 static void virtio_i2c_msg_done(struct virtqueue *vq) in virtio_i2c_msg_done() argument
53 while ((req = virtqueue_get_buf(vq, &len))) in virtio_i2c_msg_done()
57 static int virtio_i2c_prepare_reqs(struct virtqueue *vq, in virtio_i2c_prepare_reqs() argument
100 if (virtqueue_add_sgs(vq, sgs, outcnt, incnt, &reqs[i], GFP_KERNEL)) { in virtio_i2c_prepare_reqs()
109 static int virtio_i2c_complete_reqs(struct virtqueue *vq, in virtio_i2c_complete_reqs() argument
138 struct virtqueue *vq = vi->vq; in virtio_i2c_xfer() local
146 count = virtio_i2c_prepare_reqs(vq, reqs, msgs, num); in virtio_i2c_xfer()
158 virtqueue_kick(vq); in virtio_i2c_xfer()
160 count = virtio_i2c_complete_reqs(vq, reqs, msgs, count); in virtio_i2c_xfer()
[all …]
/linux/drivers/vdpa/pds/
H A Ddebugfs.c238 struct pds_vdpa_vq_info *vq = seq->private; in vq_show() local
240 seq_printf(seq, "ready: %d\n", vq->ready); in vq_show()
241 seq_printf(seq, "desc_addr: %#llx\n", vq->desc_addr); in vq_show()
242 seq_printf(seq, "avail_addr: %#llx\n", vq->avail_addr); in vq_show()
243 seq_printf(seq, "used_addr: %#llx\n", vq->used_addr); in vq_show()
244 seq_printf(seq, "q_len: %d\n", vq->q_len); in vq_show()
245 seq_printf(seq, "qid: %d\n", vq->qid); in vq_show()
247 seq_printf(seq, "doorbell: %#llx\n", vq->doorbell); in vq_show()
248 seq_printf(seq, "avail_idx: %d\n", vq->avail_idx); in vq_show()
249 seq_printf(seq, "used_idx: %d\n", vq->used_idx); in vq_show()
[all …]
/linux/drivers/media/v4l2-core/
H A Dv4l2-mem2mem.c575 struct vb2_queue *vq; in v4l2_m2m_reqbufs() local
578 vq = v4l2_m2m_get_vq(m2m_ctx, reqbufs->type); in v4l2_m2m_reqbufs()
579 ret = vb2_reqbufs(vq, reqbufs); in v4l2_m2m_reqbufs()
583 vq->owner = reqbufs->count ? file->private_data : NULL; in v4l2_m2m_reqbufs()
589 static void v4l2_m2m_adjust_mem_offset(struct vb2_queue *vq, in v4l2_m2m_adjust_mem_offset() argument
593 if (buf->memory == V4L2_MEMORY_MMAP && V4L2_TYPE_IS_CAPTURE(vq->type)) { in v4l2_m2m_adjust_mem_offset()
594 if (V4L2_TYPE_IS_MULTIPLANAR(vq->type)) { in v4l2_m2m_adjust_mem_offset()
609 struct vb2_queue *vq; in v4l2_m2m_querybuf() local
612 vq = v4l2_m2m_get_vq(m2m_ctx, buf->type); in v4l2_m2m_querybuf()
613 ret = vb2_querybuf(vq, buf); in v4l2_m2m_querybuf()
[all …]
/linux/drivers/remoteproc/
H A Dremoteproc_virtio.c65 static bool rproc_virtio_notify(struct virtqueue *vq) in rproc_virtio_notify() argument
67 struct rproc_vring *rvring = vq->priv; in rproc_virtio_notify()
96 if (!rvring || !rvring->vq) in rproc_vq_interrupt()
99 return vring_interrupt(0, rvring->vq); in rproc_vq_interrupt()
105 void (*callback)(struct virtqueue *vq), in rp_find_vq() argument
114 struct virtqueue *vq; in rp_find_vq() local
146 vq = vring_new_virtqueue(id, num, rvring->align, vdev, false, ctx, in rp_find_vq()
148 if (!vq) { in rp_find_vq()
154 vq->num_max = num; in rp_find_vq()
156 rvring->vq = vq; in rp_find_vq()
[all …]
/linux/drivers/s390/virtio/
H A Dvirtio_ccw.c159 struct virtqueue *vq; member
233 static void drop_airq_indicator(struct virtqueue *vq, struct airq_info *info) in drop_airq_indicator() argument
239 if (vq == (void *)airq_iv_get_ptr(info->aiv, i)) { in drop_airq_indicator()
353 drop_airq_indicator(info->vq, vcdev->airq_info); in virtio_ccw_drop_indicators()
441 static inline bool virtio_ccw_do_kvm_notify(struct virtqueue *vq, u32 data) in virtio_ccw_do_kvm_notify() argument
443 struct virtio_ccw_vq_info *info = vq->priv; in virtio_ccw_do_kvm_notify()
447 vcdev = to_vc_device(info->vq->vdev); in virtio_ccw_do_kvm_notify()
458 static bool virtio_ccw_kvm_notify(struct virtqueue *vq) in virtio_ccw_kvm_notify() argument
460 return virtio_ccw_do_kvm_notify(vq, vq->index); in virtio_ccw_kvm_notify()
463 static bool virtio_ccw_kvm_notify_with_data(struct virtqueue *vq) in virtio_ccw_kvm_notify_with_data() argument
[all …]
/linux/drivers/media/platform/sunxi/sun8i-rotate/
H A Dsun8i_rotate.c343 struct vb2_queue *vq; in rotate_s_fmt_vid_cap() local
350 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); in rotate_s_fmt_vid_cap()
351 if (vb2_is_busy(vq)) in rotate_s_fmt_vid_cap()
363 struct vb2_queue *vq; in rotate_s_fmt_vid_out() local
370 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); in rotate_s_fmt_vid_out()
371 if (vb2_is_busy(vq)) in rotate_s_fmt_vid_out()
378 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE); in rotate_s_fmt_vid_out()
379 if (vb2_is_busy(vq)) in rotate_s_fmt_vid_out()
424 static int rotate_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, in rotate_queue_setup() argument
428 struct rotate_ctx *ctx = vb2_get_drv_priv(vq); in rotate_queue_setup()
[all …]
/linux/tools/testing/selftests/arm64/abi/
H A Dsyscall-abi.c474 unsigned int vq; in sve_count_vls() local
483 for (vq = ARCH_SVE_VQ_MAX; vq > 0; vq /= 2) { in sve_count_vls()
484 vl = prctl(PR_SVE_SET_VL, vq * 16); in sve_count_vls()
491 if (vq != sve_vq_from_vl(vl)) in sve_count_vls()
492 vq = sve_vq_from_vl(vl); in sve_count_vls()
500 unsigned int vq; in sme_count_vls() local
509 for (vq = ARCH_SVE_VQ_MAX; vq > 0; vq /= 2) { in sme_count_vls()
510 vl = prctl(PR_SME_SET_VL, vq * 16); in sme_count_vls()
518 if (sve_vq_from_vl(vl) > vq) in sme_count_vls()
521 if (vq != sve_vq_from_vl(vl)) in sme_count_vls()
[all …]
/linux/drivers/platform/mellanox/
H A Dmlxbf-tmfifo.c81 struct virtqueue *vq; member
259 if (vring->vq) { in mlxbf_tmfifo_free_vrings()
260 vring_del_virtqueue(vring->vq); in mlxbf_tmfifo_free_vrings()
261 vring->vq = NULL; in mlxbf_tmfifo_free_vrings()
330 const struct vring *vr = virtqueue_get_vring(vring->vq); in mlxbf_tmfifo_get_next_desc()
331 struct virtio_device *vdev = vring->vq->vdev; in mlxbf_tmfifo_get_next_desc()
354 const struct vring *vr = virtqueue_get_vring(vring->vq); in mlxbf_tmfifo_release_desc()
355 struct virtio_device *vdev = vring->vq->vdev; in mlxbf_tmfifo_release_desc()
376 const struct vring *vr = virtqueue_get_vring(vring->vq); in mlxbf_tmfifo_get_pkt_len()
377 struct virtio_device *vdev = vring->vq->vdev; in mlxbf_tmfifo_get_pkt_len()
[all …]
/linux/drivers/spi/
H A Dspi-virtio.c33 struct virtqueue *vq; member
40 static void virtio_spi_msg_done(struct virtqueue *vq) in virtio_spi_msg_done() argument
45 while ((req = virtqueue_get_buf(vq, &len))) in virtio_spi_msg_done()
226 ret = virtqueue_add_sgs(priv->vq, sgs, outcnt, incnt, spi_req, in virtio_spi_transfer_one()
232 virtqueue_kick(priv->vq); in virtio_spi_transfer_one()
314 struct virtqueue *vq; in virtio_spi_find_vqs() local
316 vq = virtio_find_single_vq(priv->vdev, virtio_spi_msg_done, "spi-rq"); in virtio_spi_find_vqs()
317 if (IS_ERR(vq)) in virtio_spi_find_vqs()
318 return PTR_ERR(vq); in virtio_spi_find_vqs()
319 priv->vq = vq; in virtio_spi_find_vqs()

12345