Home
last modified time | relevance | path

Searched refs:vring (Results 1 – 25 of 35) sorted by relevance

12

/Linux-v5.15/drivers/platform/mellanox/
Dmlxbf-tmfifo.c166 struct mlxbf_tmfifo_vring *vring[2]; member
211 struct mlxbf_tmfifo_vring *vring; in mlxbf_tmfifo_free_vrings() local
215 vring = &tm_vdev->vrings[i]; in mlxbf_tmfifo_free_vrings()
216 if (vring->va) { in mlxbf_tmfifo_free_vrings()
217 size = vring_size(vring->num, vring->align); in mlxbf_tmfifo_free_vrings()
219 vring->va, vring->dma); in mlxbf_tmfifo_free_vrings()
220 vring->va = NULL; in mlxbf_tmfifo_free_vrings()
221 if (vring->vq) { in mlxbf_tmfifo_free_vrings()
222 vring_del_virtqueue(vring->vq); in mlxbf_tmfifo_free_vrings()
223 vring->vq = NULL; in mlxbf_tmfifo_free_vrings()
[all …]
/Linux-v5.15/drivers/net/wireless/ath/wil6210/
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()
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()
121 vring->swtail = 0; in wil_vring_alloc()
[all …]
Dtrace.h215 TP_PROTO(u8 vring, u16 index, unsigned int len, u8 frags),
216 TP_ARGS(vring, index, len, frags),
218 __field(u8, vring)
224 __entry->vring = vring;
230 __entry->vring, __entry->index, __entry->len, __entry->frags)
234 TP_PROTO(u8 vring, u16 index, unsigned int len, u8 err),
235 TP_ARGS(vring, index, len, err),
237 __field(u8, vring)
243 __entry->vring = vring;
249 __entry->vring, __entry->index, __entry->len,
/Linux-v5.15/drivers/virtio/
Dvirtio_ring.c124 struct vring vring; member
152 } vring; member
457 struct vring_virtqueue *vring = to_vvq(vq); in virtqueue_add_desc_split() local
458 struct vring_desc_extra *extra = vring->split.desc_extra; in virtqueue_add_desc_split()
514 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); in virtqueue_add_split()
525 desc = vq->split.vring.desc; in virtqueue_add_split()
579 vq->split.desc_extra[prev & (vq->split.vring.num - 1)].flags &= in virtqueue_add_split()
590 virtqueue_add_desc_split(_vq, vq->split.vring.desc, in virtqueue_add_split()
615 avail = vq->split.avail_idx_shadow & (vq->split.vring.num - 1); in virtqueue_add_split()
616 vq->split.vring.avail->ring[avail] = cpu_to_virtio16(_vq->vdev, head); in virtqueue_add_split()
[all …]
/Linux-v5.15/drivers/vdpa/ifcvf/
Difcvf_main.c32 struct vring_info *vring = arg; in ifcvf_intr_handler() local
34 if (vring->cb.callback) in ifcvf_intr_handler()
35 return vring->cb.callback(vring->cb.private); in ifcvf_intr_handler()
53 devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); in ifcvf_free_irq()
54 vf->vring[i].irq = -EINVAL; in ifcvf_free_irq()
91 snprintf(vf->vring[i].msix_name, 256, "ifcvf[%s]-%d\n", in ifcvf_request_irq()
97 vf->vring[i].msix_name, in ifcvf_request_irq()
98 &vf->vring[i]); in ifcvf_request_irq()
107 vf->vring[i].irq = irq; in ifcvf_request_irq()
135 vf->vring[i].cb.callback = NULL; in ifcvf_stop_datapath()
[all …]
Difcvf_base.c166 hw->vring[i].notify_addr = hw->notify_base + in ifcvf_init_hw()
168 hw->vring[i].notify_pa = hw->notify_base_pa + in ifcvf_init_hw()
325 hw->vring[qid].last_avail_idx = num; in ifcvf_set_vq_state()
347 if (!hw->vring[i].ready) in ifcvf_hw_enable()
351 ifc_iowrite64_twopart(hw->vring[i].desc, &cfg->queue_desc_lo, in ifcvf_hw_enable()
353 ifc_iowrite64_twopart(hw->vring[i].avail, &cfg->queue_avail_lo, in ifcvf_hw_enable()
355 ifc_iowrite64_twopart(hw->vring[i].used, &cfg->queue_used_lo, in ifcvf_hw_enable()
357 ifc_iowrite16(hw->vring[i].size, &cfg->queue_size); in ifcvf_hw_enable()
367 ifcvf_set_vq_state(hw, i, hw->vring[i].last_avail_idx); in ifcvf_hw_enable()
415 ifc_iowrite16(qid, hw->vring[qid].notify_addr); in ifcvf_notify_queue()
/Linux-v5.15/drivers/vdpa/vdpa_sim/
Dvdpa_sim_net.c58 err = vringh_getdesc_iotlb(&txq->vring, &txq->out_iov, NULL, in vdpasim_net_work()
63 err = vringh_getdesc_iotlb(&rxq->vring, NULL, &rxq->in_iov, in vdpasim_net_work()
66 vringh_complete_iotlb(&txq->vring, txq->head, 0); in vdpasim_net_work()
71 read = vringh_iov_pull_iotlb(&txq->vring, &txq->out_iov, in vdpasim_net_work()
77 write = vringh_iov_push_iotlb(&rxq->vring, &rxq->in_iov, in vdpasim_net_work()
88 vringh_complete_iotlb(&txq->vring, txq->head, 0); in vdpasim_net_work()
89 vringh_complete_iotlb(&rxq->vring, rxq->head, total_write); in vdpasim_net_work()
95 if (vringh_need_notify_iotlb(&txq->vring) > 0) in vdpasim_net_work()
96 vringh_notify(&txq->vring); in vdpasim_net_work()
97 if (vringh_need_notify_iotlb(&rxq->vring) > 0) in vdpasim_net_work()
[all …]
Dvdpa_sim_blk.c73 ret = vringh_getdesc_iotlb(&vq->vring, &vq->out_iov, &vq->in_iov, in vdpasim_blk_handle_req()
96 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, &hdr, in vdpasim_blk_handle_req()
120 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, in vdpasim_blk_handle_req()
143 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, in vdpasim_blk_handle_req()
156 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, in vdpasim_blk_handle_req()
183 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, &status, 1); in vdpasim_blk_handle_req()
192 vringh_complete_iotlb(&vq->vring, vq->head, pushed); in vdpasim_blk_handle_req()
218 if (vringh_need_notify_iotlb(&vq->vring) > 0) in vdpasim_blk_work()
219 vringh_notify(&vq->vring); in vdpasim_blk_work()
Dvdpa_sim.c54 static void vdpasim_vq_notify(struct vringh *vring) in vdpasim_vq_notify() argument
57 container_of(vring, struct vdpasim_virtqueue, vring); in vdpasim_vq_notify()
69 vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features, in vdpasim_queue_ready()
77 vq->vring.notify = vdpasim_vq_notify; in vdpasim_queue_ready()
89 vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features, in vdpasim_vq_reset()
92 vq->vring.notify = NULL; in vdpasim_vq_reset()
290 vringh_set_iotlb(&vdpasim->vqs[i].vring, vdpasim->iommu, in vdpasim_create()
377 struct vringh *vrh = &vq->vring; in vdpasim_set_vq_state()
391 struct vringh *vrh = &vq->vring; in vdpasim_get_vq_state()
/Linux-v5.15/drivers/vdpa/virtio_pci/
Dvp_vdpa.c36 struct vp_vring *vring; member
86 if (vp_vdpa->vring[i].irq != VIRTIO_MSI_NO_VECTOR) { in vp_vdpa_free_irq()
88 devm_free_irq(&pdev->dev, vp_vdpa->vring[i].irq, in vp_vdpa_free_irq()
89 &vp_vdpa->vring[i]); in vp_vdpa_free_irq()
90 vp_vdpa->vring[i].irq = VIRTIO_MSI_NO_VECTOR; in vp_vdpa_free_irq()
108 struct vp_vring *vring = arg; in vp_vdpa_vq_handler() local
110 if (vring->cb.callback) in vp_vdpa_vq_handler()
111 return vring->cb.callback(vring->cb.private); in vp_vdpa_vq_handler()
145 snprintf(vp_vdpa->vring[i].msix_name, VP_VDPA_NAME_SIZE, in vp_vdpa_request_irq()
150 0, vp_vdpa->vring[i].msix_name, in vp_vdpa_request_irq()
[all …]
/Linux-v5.15/drivers/vhost/
Dvringh.c46 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()
241 *descs = vrh->vring.desc; in return_from_indirect()
242 *desc_max = vrh->vring.num; in return_from_indirect()
[all …]
/Linux-v5.15/tools/virtio/
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()
188 vring_init(&vrh.vring, RINGSIZE, host_map, ALIGN); in parallel_test()
190 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in parallel_test()
492 vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN); in main()
494 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in main()
650 assert(vrh.vring.used->idx % RINGSIZE != 0); in main()
665 struct vring vring; in main() local
685 vring_init(&vring, RINGSIZE, __user_addr_min, ALIGN); in main()
[all …]
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()
105 info->vq = __vring_new_virtqueue(info->idx, info->vring, vdev, true, in vq_reset()
192 batch = (random() % vq->vring.num) + 1; in run_test()
235 vq_reset(vq, vq->vring.num, &dev->vdev); in run_test()
/Linux-v5.15/arch/arm/boot/dts/
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";
Dkeystone-k2l.dtsi337 interrupt-names = "vring", "exception";
353 interrupt-names = "vring", "exception";
369 interrupt-names = "vring", "exception";
385 interrupt-names = "vring", "exception";
/Linux-v5.15/drivers/remoteproc/
Dremoteproc_core.c330 struct rproc_vring *rvring = &rvdev->vring[i]; in rproc_alloc_vring()
345 if (rproc_check_carveout_da(rproc, mem, rsc->vring[i].da, size)) in rproc_alloc_vring()
350 size, rsc->vring[i].da, in rproc_alloc_vring()
382 rsc->vring[i].notifyid = notifyid; in rproc_alloc_vring()
391 struct fw_rsc_vdev_vring *vring = &rsc->vring[i]; in rproc_parse_vring() local
392 struct rproc_vring *rvring = &rvdev->vring[i]; in rproc_parse_vring()
395 i, vring->da, vring->num, vring->align); in rproc_parse_vring()
398 if (!vring->num || !vring->align) { in rproc_parse_vring()
400 vring->num, vring->align); in rproc_parse_vring()
404 rvring->len = vring->num; in rproc_parse_vring()
[all …]
Dremoteproc_virtio.c81 if (id >= ARRAY_SIZE(rvdev->vring)) in rp_find_vq()
93 rvring = &rvdev->vring[id]; in rp_find_vq()
121 rsc->vring[id].da = mem->da; in rp_find_vq()
259 cfg = &rsc->vring[rsc->num_of_vrings]; in rproc_virtio_get()
277 cfg = &rsc->vring[rsc->num_of_vrings]; in rproc_virtio_set()
Dremoteproc_debugfs.c341 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()
Dingenic_rproc.c156 u32 vring; in vpu_interrupt() local
158 vring = readl(vpu->aux_base + REG_AUX_MSG); in vpu_interrupt()
163 return rproc_vq_interrupt(rproc, vring); in vpu_interrupt()
/Linux-v5.15/include/linux/
Dvirtio_ring.h81 struct vring vring,
Dvringh.h45 struct vring vring; member
Dremoteproc.h311 struct fw_rsc_vdev_vring vring[]; member
636 struct rproc_vring vring[RVDEV_NUM_VRINGS]; member
/Linux-v5.15/include/uapi/linux/
Dvirtio_ring.h152 struct vring { struct
193 static inline void vring_init(struct vring *vr, unsigned int num, void *p, in vring_init()
/Linux-v5.15/Documentation/devicetree/bindings/remoteproc/
Dti,keystone-rproc.txt63 "vring" - interrupt for virtio based IPC
139 interrupt-names = "vring", "exception";
178 interrupt-names = "vring", "exception";
/Linux-v5.15/drivers/vdpa/mlx5/net/
Dmlx5_vnet.c1451 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)mac, ETH_ALEN); in handle_ctrl_mac()
1532 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)&mq, sizeof(mq)); in handle_ctrl_mq()
1578 err = vringh_getdesc_iotlb(&cvq->vring, &cvq->riov, &cvq->wiov, &cvq->head, in mlx5_cvq_kick_handler()
1583 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &ctrl, sizeof(ctrl)); in mlx5_cvq_kick_handler()
1602 write = vringh_iov_push_iotlb(&cvq->vring, &cvq->wiov, &status, sizeof(status)); in mlx5_cvq_kick_handler()
1603 vringh_complete_iotlb(&cvq->vring, cvq->head, write); in mlx5_cvq_kick_handler()
1607 if (vringh_need_notify_iotlb(&cvq->vring)) in mlx5_cvq_kick_handler()
1608 vringh_notify(&cvq->vring); in mlx5_cvq_kick_handler()
1690 static void mlx5_cvq_notify(struct vringh *vring) in mlx5_cvq_notify() argument
1692 struct mlx5_control_vq *cvq = container_of(vring, struct mlx5_control_vq, vring); in mlx5_cvq_notify()
[all …]

12