Home
last modified time | relevance | path

Searched full:vring (Results 1 – 25 of 59) sorted by relevance

123

/linux/drivers/platform/mellanox/
H A Dmlxbf-tmfifo.c26 /* Vring size. */
71 * @num: vring size (number of descriptors)
72 * @align: vring alignment size
73 * @index: vring index
74 * @vdev_id: vring virtio id (VIRTIO_ID_xxx)
98 /* Check whether vring is in drop mode. */
186 * @vring: Tx/Rx ring
203 struct mlxbf_tmfifo_vring *vring[2]; member
249 struct mlxbf_tmfifo_vring *vring; in mlxbf_tmfifo_free_vrings() local
253 vring = &tm_vdev->vrings[i]; in mlxbf_tmfifo_free_vrings()
[all …]
/linux/drivers/net/wireless/ath/wil6210/
H A Dtxrx.c71 struct wil_ring *vring = &wil->ring_tx[i]; in wil_is_tx_idle() local
72 int vring_index = vring - wil->ring_tx; in wil_is_tx_idle()
78 if (!vring->va || !txdata->enabled) { in wil_is_tx_idle()
86 while (!wil_ring_is_empty(vring)) { in wil_is_tx_idle()
94 "tx vring is not empty -> NAPI\n"); in wil_is_tx_idle()
99 if (!vring->va || !txdata->enabled) in wil_is_tx_idle()
110 static int wil_vring_alloc(struct wil6210_priv *wil, struct wil_ring *vring) in wil_vring_alloc() argument
113 size_t sz = vring->size * sizeof(vring->va[0]); in wil_vring_alloc()
118 BUILD_BUG_ON(sizeof(vring->va[0]) != 32); in wil_vring_alloc()
120 vring->swhead = 0; in wil_vring_alloc()
[all …]
H A Dtrace.h212 TP_PROTO(u8 vring, u16 index, unsigned int len, u8 frags),
213 TP_ARGS(vring, index, len, frags),
215 __field(u8, vring)
221 __entry->vring = vring;
226 TP_printk("vring %d index %d len %d frags %d",
227 __entry->vring, __entry->index, __entry->len, __entry->frags)
231 TP_PROTO(u8 vring, u16 index, unsigned int len, u8 err),
232 TP_ARGS(vring, index, len, err),
234 __field(u8, vring)
240 __entry->vring = vring;
[all …]
/linux/drivers/vhost/
H A Dvringh.c37 /* Returns vring->num if empty, -ve on error. */
46 err = getu16(vrh, &avail_idx, &vrh->vring.avail->idx); in __vringh_get_head()
49 &vrh->vring.avail->idx); in __vringh_get_head()
54 return vrh->vring.num; in __vringh_get_head()
59 i = *last_avail_idx & (vrh->vring.num - 1); in __vringh_get_head()
61 err = getu16(vrh, &head, &vrh->vring.avail->ring[i]); in __vringh_get_head()
64 *last_avail_idx, &vrh->vring.avail->ring[i]); in __vringh_get_head()
68 if (head >= vrh->vring.num) { in __vringh_get_head()
70 head, vrh->vring.num); in __vringh_get_head()
250 *descs = vrh->vring.desc; in return_from_indirect()
[all …]
/linux/drivers/vdpa/virtio_pci/
H A Dvp_vdpa.c37 struct vp_vring *vring; member
102 int irq = vp_vdpa->vring[idx].irq; in vp_vdpa_get_vq_irq()
117 if (vp_vdpa->vring[i].irq != VIRTIO_MSI_NO_VECTOR) { in vp_vdpa_free_irq()
119 devm_free_irq(&pdev->dev, vp_vdpa->vring[i].irq, in vp_vdpa_free_irq()
120 &vp_vdpa->vring[i]); in vp_vdpa_free_irq()
121 vp_vdpa->vring[i].irq = VIRTIO_MSI_NO_VECTOR; in vp_vdpa_free_irq()
139 struct vp_vring *vring = arg; in vp_vdpa_vq_handler() local
141 if (vring->cb.callback) in vp_vdpa_vq_handler()
142 return vring->cb.callback(vring->cb.private); in vp_vdpa_vq_handler()
167 if (vp_vdpa->vring[i].cb.callback) in vp_vdpa_request_irq()
[all …]
/linux/drivers/vdpa/alibaba/
H A Deni_vdpa.c41 struct eni_vring *vring; member
104 int irq = eni_vdpa->vring[idx].irq; in eni_vdpa_get_vq_irq()
119 if (eni_vdpa->vring[i].irq != VIRTIO_MSI_NO_VECTOR) { in eni_vdpa_free_irq()
121 devm_free_irq(&pdev->dev, eni_vdpa->vring[i].irq, in eni_vdpa_free_irq()
122 &eni_vdpa->vring[i]); in eni_vdpa_free_irq()
123 eni_vdpa->vring[i].irq = VIRTIO_MSI_NO_VECTOR; in eni_vdpa_free_irq()
141 struct eni_vring *vring = arg; in eni_vdpa_vq_handler() local
143 if (vring->cb.callback) in eni_vdpa_vq_handler()
144 return vring->cb.callback(vring in eni_vdpa_vq_handler()
[all...]
/linux/drivers/virtio/
H A Dvirtio_ring.c108 struct vring vring; member
129 * vring.
142 } vring; member
284 READ_ONCE(vq->split.vring.used->idx)); in vring_read_split_used_idx()
291 READ_ONCE(vq->split.vring.used->ring[idx].id)); in vring_read_split_used_id()
297 READ_ONCE(vq->split.vring.used->ring[idx].len)); in vring_read_split_used_len()
303 READ_ONCE(vring_avail_event(&vq->split.vring))); in vring_read_split_avail_event()
309 return le16_to_cpu(READ_ONCE(vq->packed.vring.desc[idx].flags)); in vring_read_packed_desc_flags()
315 return le16_to_cpu(READ_ONCE(vq->packed.vring in vring_read_packed_desc_id()
402 vring_need_unmap_buffer(const struct vring_virtqueue * vring,const struct vring_desc_extra * extra) vring_need_unmap_buffer() argument
[all...]
/linux/tools/perf/pmu-events/arch/x86/ivytown/
H A Duncore-io.json92 "BriefDescription": "R2 AD Ring in Use; Counterclockwise and Even on VRing 0",
102 "BriefDescription": "R2 AD Ring in Use; Counterclockwise and Odd on VRing 0",
112 "BriefDescription": "R2 AD Ring in Use; Counterclockwise and Even on VRing 1",
122 "BriefDescription": "R2 AD Ring in Use; Counterclockwise and Odd on VRing 1",
142 "BriefDescription": "R2 AD Ring in Use; Clockwise and Even on VRing 0",
152 "BriefDescription": "R2 AD Ring in Use; Clockwise and Odd on VRing 0",
162 "BriefDescription": "R2 AD Ring in Use; Clockwise and Even on VRing 1",
172 "BriefDescription": "R2 AD Ring in Use; Clockwise and Odd on VRing 1",
192 "BriefDescription": "R2 AK Ring in Use; Counterclockwise and Even on VRing 0",
202 "BriefDescription": "R2 AK Ring in Use; Counterclockwise and Odd on VRing 0",
[all …]
H A Duncore-cache.json249 "BriefDescription": "AD Ring In Use; Down and Even on Vring 0",
259 "BriefDescription": "AD Ring In Use; Down and Odd on Vring 0",
269 "BriefDescription": "AD Ring In Use; Down and Even on VRing 1",
279 "BriefDescription": "AD Ring In Use; Down and Odd on VRing 1",
299 "BriefDescription": "AD Ring In Use; Up and Even on Vring 0",
309 "BriefDescription": "AD Ring In Use; Up and Odd on Vring 0",
319 "BriefDescription": "AD Ring In Use; Up and Even on VRing 1",
329 "BriefDescription": "AD Ring In Use; Up and Odd on VRing 1",
369 "BriefDescription": "AK Ring In Use; Down and Even on Vring 0",
379 "BriefDescription": "AK Ring In Use; Down and Odd on Vring 0",
[all …]
/linux/tools/virtio/
H A Dvringh_test.c116 err = get_user(avail_idx, &vrh->vring.avail->idx); in vringh_get_head()
126 i = vrh->last_avail_idx & (vrh->vring.num - 1); in vringh_get_head()
128 err = get_user(*head, &vrh->vring.avail->ring[i]); in vringh_get_head()
196 vring_init(&vrh.vring, RINGSIZE, host_map, ALIGN); in parallel_test()
198 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in parallel_test()
502 vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN); in main()
504 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in main()
660 assert(vrh.vring.used->idx % RINGSIZE != 0); in main()
675 struct vring vring; in main() local
695 vring_init(&vring, RINGSIZE, __user_addr_min, ALIGN); in main()
[all …]
H A Dvirtio_test.c34 struct vring vring; member
75 .desc_user_addr = (uint64_t)(unsigned long)info->vring.desc, in vhost_vq_setup()
76 .avail_user_addr = (uint64_t)(unsigned long)info->vring.avail, in vhost_vq_setup()
77 .used_user_addr = (uint64_t)(unsigned long)info->vring.used, in vhost_vq_setup()
82 state.num = info->vring.num; in vhost_vq_setup()
104 vring_init(&info->vring, num, info->ring, 4096); in vq_reset()
193 batch = (random() % vq->vring.num) + 1; in run_test()
236 vq_reset(vq, vq->vring.num, &dev->vdev); in run_test()
H A Dvhost_net_test.c41 struct vring vring; member
154 .desc_user_addr = (uint64_t)(unsigned long)info->vring.desc, in vhost_vq_setup()
155 .avail_user_addr = (uint64_t)(unsigned long)info->vring.avail, in vhost_vq_setup()
156 .used_user_addr = (uint64_t)(unsigned long)info->vring.used, in vhost_vq_setup()
162 state.num = info->vring.num; in vhost_vq_setup()
184 vring_init(&info->vring, num, info->ring, 4096); in vq_reset()
/linux/include/linux/
H A Dvringh.h3 * Linux host-side vring helpers; for when the kernel needs to access
4 * someone else's vring.
47 /* The vring (note: it may contain user pointers!) */
48 struct vring vring; member
50 /* IOTLB for this vring */
64 * struct vringh_config_ops - ops for creating a host vring from a virtio driver
69 * callbacks: array of driver callbacks, for each host vring
80 /* The memory the vring can access, and what offset to apply. */
/linux/drivers/vdpa/vdpa_sim/
H A Dvdpa_sim.c82 static void vdpasim_vq_notify(struct vringh *vring) in vdpasim_vq_notify() argument
85 container_of(vring, struct vdpasim_virtqueue, vring); in vdpasim_vq_notify()
96 uint16_t last_avail_idx = vq->vring.last_avail_idx; 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()
112 vq->vring.last_avail_idx = last_avail_idx; in vdpasim_queue_ready()
123 vq->vring.last_used_idx = last_avail_idx; in vdpasim_queue_ready()
124 vq->vring.notify = vdpasim_vq_notify; in vdpasim_queue_ready()
136 vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features, in vdpasim_vq_reset()
139 vq->vring.notify = NULL; in vdpasim_vq_reset()
[all …]
/linux/drivers/remoteproc/
H A Dremoteproc_virtio.c119 if (id >= ARRAY_SIZE(rvdev->vring)) in rp_find_vq()
131 rvring = &rvdev->vring[id]; in rp_find_vq()
135 /* zero vring */ in rp_find_vq()
139 dev_dbg(dev, "vring%d: va %p qsz %d notifyid %d\n", in rp_find_vq()
159 /* Update vring in resource table */ in rp_find_vq()
161 rsc->vring[id].da = mem->da; in rp_find_vq()
299 cfg = &rsc->vring[rsc->num_of_vrings]; in rproc_virtio_get()
317 cfg = &rsc->vring[rsc->num_of_vrings]; in rproc_virtio_set()
443 /* Reference the vdev and vring allocations */ in rproc_add_virtio_dev()
542 /* allocate the vring resources */ in rproc_virtio_probe()
[all …]
H A Dremoteproc_debugfs.c340 seq_printf(seq, " Vring %d\n", j); in rproc_rsc_table_show()
341 seq_printf(seq, " Device Address 0x%x\n", v->vring[j].da); in rproc_rsc_table_show()
342 seq_printf(seq, " Alignment %d\n", v->vring[j].align); in rproc_rsc_table_show()
343 seq_printf(seq, " Number of buffers %d\n", v->vring[j].num); in rproc_rsc_table_show()
344 seq_printf(seq, " Notify ID %d\n", v->vring[j].notifyid); in rproc_rsc_table_show()
346 v->vring[j].pa); in rproc_rsc_table_show()
/linux/arch/arm/boot/dts/ti/keystone/
H A Dkeystone-k2hk.dtsi167 interrupt-names = "vring", "exception";
183 interrupt-names = "vring", "exception";
199 interrupt-names = "vring", "exception";
215 interrupt-names = "vring", "exception";
231 interrupt-names = "vring", "exception";
247 interrupt-names = "vring", "exception";
263 interrupt-names = "vring", "exception";
279 interrupt-names = "vring", "exception";
H A Dkeystone-k2l.dtsi337 interrupt-names = "vring", "exception";
353 interrupt-names = "vring", "exception";
369 interrupt-names = "vring", "exception";
385 interrupt-names = "vring", "exception";
/linux/drivers/vdpa/ifcvf/
H A Difcvf_base.c167 hw->vring = kzalloc(sizeof(struct vring_info) * hw->nr_vring, GFP_KERNEL); in ifcvf_init_hw()
168 if (!hw->vring) in ifcvf_init_hw()
174 hw->vring[i].notify_addr = hw->notify_base + in ifcvf_init_hw()
176 hw->vring[i].notify_pa = hw->notify_base_pa + in ifcvf_init_hw()
178 hw->vring[i].irq = -EINVAL; in ifcvf_init_hw()
395 hw->vring[qid].cb.callback = NULL; in ifcvf_reset_vring()
396 hw->vring[qid].cb.private = NULL; in ifcvf_reset_vring()
430 vp_iowrite16(qid, hw->vring[qid].notify_addr); in ifcvf_notify_queue()
/linux/Documentation/devicetree/bindings/remoteproc/
H A Dti,pru-rproc.yaml78 - const: vring
187 interrupt-names = "vring";
199 interrupt-names = "vring";
220 interrupt-names = "vring";
232 interrupt-names = "vring";
H A Dti,keystone-rproc.txt63 "vring" - interrupt for virtio based IPC
139 interrupt-names = "vring", "exception";
178 interrupt-names = "vring", "exception";
/linux/include/uapi/linux/
H A Dvhost.h79 /* Set the vring byte order in num. Valid values are VHOST_VRING_LITTLE_ENDIAN
101 /* Return the vring worker's ID */
202 * (the virtqueue vring base plus the possible device specific states) that is
233 * userspace set the vring index in vhost_vring_state.index
/linux/tools/perf/trace/beauty/include/uapi/linux/
H A Dvhost.h79 /* Set the vring byte order in num. Valid values are VHOST_VRING_LITTLE_ENDIAN
101 /* Return the vring worker's ID */
202 * (the virtqueue vring base plus the possible device specific states) that is
233 * userspace set the vring index in vhost_vring_state.index
/linux/tools/include/uapi/linux/
H A Dvhost.h
/linux/drivers/vdpa/mlx5/net/
H A Dmlx5_vnet.c2208 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, in handle_ctrl_mac()
2300 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)&mq, sizeof(mq)); in handle_ctrl_mq()
2339 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan)); in handle_ctrl_vlan()
2350 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan)); in handle_ctrl_vlan()
2393 err = vringh_getdesc_iotlb(&cvq->vring, &cvq->riov, &cvq->wiov, &cvq->head, in mlx5_cvq_kick_handler()
2398 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &ctrl, sizeof(ctrl)); in mlx5_cvq_kick_handler()
2420 write = vringh_iov_push_iotlb(&cvq->vring, &cvq->wiov, &status, sizeof(status)); in mlx5_cvq_kick_handler()
2421 vringh_complete_iotlb(&cvq->vring, cvq->head, write); in mlx5_cvq_kick_handler()
2425 if (vringh_need_notify_iotlb(&cvq->vring)) in mlx5_cvq_kick_handler()
2426 vringh_notify(&cvq->vring); in mlx5_cvq_kick_handler()
[all …]

123