| /linux/drivers/platform/mellanox/ |
| H A D | mlxbf-tmfifo.c | 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() 254 if (vring->va) { in mlxbf_tmfifo_free_vrings() 255 size = vring_size(vring->num, vring->align); in mlxbf_tmfifo_free_vrings() 257 vring->va, vring->dma); in mlxbf_tmfifo_free_vrings() 258 vring->va = NULL; in mlxbf_tmfifo_free_vrings() 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() [all …]
|
| /linux/drivers/net/wireless/ath/wil6210/ |
| H A D | txrx.c | 71 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 …]
|
| H A D | trace.h | 212 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; 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; 246 __entry->vring, __entry->index, __entry->len,
|
| /linux/drivers/virtio/ |
| H A D | virtio_ring.c | 99 struct vring vring; member 133 } vring; member 290 static bool vring_need_unmap_buffer(const struct vring_virtqueue *vring, in vring_need_unmap_buffer() argument 293 return vring->use_map_api && (extra->addr != DMA_MAPPING_ERROR); in vring_need_unmap_buffer() 571 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); in virtqueue_add_split() 583 desc = vq->split.vring.desc; in virtqueue_add_split() 641 vq->split.desc_extra[prev & (vq->split.vring.num - 1)].flags &= in virtqueue_add_split() 652 virtqueue_add_desc_split(_vq, vq->split.vring.desc, in virtqueue_add_split() 677 avail = vq->split.avail_idx_shadow & (vq->split.vring.num - 1); in virtqueue_add_split() 678 vq->split.vring.avail->ring[avail] = cpu_to_virtio16(_vq->vdev, head); in virtqueue_add_split() [all …]
|
| /linux/tools/virtio/ |
| H A D | vringh_test.c | 116 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() 191 vring_init(&vrh.vring, RINGSIZE, host_map, ALIGN); in parallel_test() 193 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in parallel_test() 497 vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN); in main() 499 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in main() 655 assert(vrh.vring.used->idx % RINGSIZE != 0); in main() 670 struct vring vring; in main() local 690 vring_init(&vring, RINGSIZE, __user_addr_min, ALIGN); in main() [all …]
|
| H A D | virtio_test.c | 34 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 D | vhost_net_test.c | 41 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/drivers/vdpa/vdpa_sim/ |
| H A D | vdpa_sim_net.c | 74 vringh_complete_iotlb(&vq->vring, vq->head, len); in vdpasim_net_complete() 80 if (vringh_need_notify_iotlb(&vq->vring) > 0) in vdpasim_net_complete() 81 vringh_notify(&vq->vring); in vdpasim_net_complete() 115 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->in_iov, in vdpasim_handle_ctrl_mac() 144 err = vringh_getdesc_iotlb(&cvq->vring, &cvq->in_iov, in vdpasim_handle_cvq() 151 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->in_iov, &ctrl, in vdpasim_handle_cvq() 174 write = vringh_iov_push_iotlb(&cvq->vring, &cvq->out_iov, in vdpasim_handle_cvq() 176 vringh_complete_iotlb(&cvq->vring, cvq->head, write); in vdpasim_handle_cvq() 220 err = vringh_getdesc_iotlb(&txq->vring, &txq->out_iov, NULL, in vdpasim_net_work() 229 read = vringh_iov_pull_iotlb(&txq->vring, &txq->out_iov, in vdpasim_net_work() [all …]
|
| H A D | vdpa_sim_blk.c | 123 ret = vringh_getdesc_iotlb(&vq->vring, &vq->out_iov, &vq->in_iov, in vdpasim_blk_handle_req() 146 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, &hdr, in vdpasim_blk_handle_req() 179 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, in vdpasim_blk_handle_req() 202 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, in vdpasim_blk_handle_req() 215 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, in vdpasim_blk_handle_req() 245 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, &range, in vdpasim_blk_handle_req() 307 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, &status, 1); in vdpasim_blk_handle_req() 319 vringh_complete_iotlb(&vq->vring, vq->head, pushed); in vdpasim_blk_handle_req() 349 if (vringh_need_notify_iotlb(&vq->vring) > 0) in vdpasim_blk_work() 350 vringh_notify(&vq->vring); in vdpasim_blk_work()
|
| H A D | vdpa_sim.h | 23 struct vringh vring; member
|
| /linux/arch/arm/boot/dts/ti/keystone/ |
| H A D | keystone-k2hk.dtsi | 167 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 D | keystone-k2l.dtsi | 337 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 D | ifcvf_base.c | 167 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()
|
| H A D | ifcvf_base.h | 80 struct vring_info *vring; member
|
| /linux/drivers/remoteproc/ |
| H A D | remoteproc_virtio.c | 119 if (id >= ARRAY_SIZE(rvdev->vring)) in rp_find_vq() 131 rvring = &rvdev->vring[id]; 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() 570 rproc_free_vring(&rvdev->vring[i]); in rproc_virtio_probe() 582 for (id = 0; id < ARRAY_SIZE(rvdev->vring); id++) { in rproc_virtio_remove() 583 rvring = &rvdev->vring[id]; in rproc_virtio_remove()
|
| H A D | remoteproc_core.c | 325 struct rproc_vring *rvring = &rvdev->vring[i]; in rproc_alloc_vring() 340 if (rproc_check_carveout_da(rproc, mem, rsc->vring[i].da, size)) in rproc_alloc_vring() 345 size, rsc->vring[i].da, in rproc_alloc_vring() 377 rsc->vring[i].notifyid = notifyid; in rproc_alloc_vring() 386 struct fw_rsc_vdev_vring *vring = &rsc->vring[i]; in rproc_parse_vring() local 387 struct rproc_vring *rvring = &rvdev->vring[i]; in rproc_parse_vring() 390 i, vring->da, vring->num, vring->align); in rproc_parse_vring() 393 if (!vring->num || !vring->align) { in rproc_parse_vring() 395 vring->num, vring->align); in rproc_parse_vring() 399 rvring->num = vring->num; in rproc_parse_vring() [all …]
|
| H A D | remoteproc_debugfs.c | 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()
|
| H A D | ingenic_rproc.c | 156 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/include/uapi/linux/ |
| H A D | virtio_ring.h | 158 struct vring { struct 199 static inline void vring_init(struct vring *vr, unsigned int num, void *p, in vring_init()
|
| /linux/drivers/vdpa/mlx5/net/ |
| H A D | mlx5_vnet.c | 2140 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)mac, ETH_ALEN); in handle_ctrl_mac() 2289 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, (void *)&mq, sizeof(mq)); in handle_ctrl_mq() 2328 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan)); in handle_ctrl_vlan() 2339 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &vlan, sizeof(vlan)); in handle_ctrl_vlan() 2382 err = vringh_getdesc_iotlb(&cvq->vring, &cvq->riov, &cvq->wiov, &cvq->head, in mlx5_cvq_kick_handler() 2387 read = vringh_iov_pull_iotlb(&cvq->vring, &cvq->riov, &ctrl, sizeof(ctrl)); in mlx5_cvq_kick_handler() 2409 write = vringh_iov_push_iotlb(&cvq->vring, &cvq->wiov, &status, sizeof(status)); in mlx5_cvq_kick_handler() 2410 vringh_complete_iotlb(&cvq->vring, cvq->head, write); in mlx5_cvq_kick_handler() 2414 if (vringh_need_notify_iotlb(&cvq->vring)) in mlx5_cvq_kick_handler() 2415 vringh_notify(&cvq->vring); in mlx5_cvq_kick_handler() [all …]
|
| /linux/include/linux/ |
| H A D | vringh.h | 48 struct vring vring; member
|
| H A D | remoteproc.h | 311 struct fw_rsc_vdev_vring vring[]; member 652 struct rproc_vring vring[RVDEV_NUM_VRINGS]; member
|
| /linux/Documentation/devicetree/bindings/remoteproc/ |
| H A D | ti,keystone-rproc.txt | 63 "vring" - interrupt for virtio based IPC 139 interrupt-names = "vring", "exception"; 178 interrupt-names = "vring", "exception";
|
| /linux/arch/arm64/boot/dts/ti/ |
| H A D | k3-am65-main.dtsi | 1206 interrupt-names = "vring"; 1218 interrupt-names = "vring"; 1239 interrupt-names = "vring"; 1251 interrupt-names = "vring"; 1377 interrupt-names = "vring"; 1389 interrupt-names = "vring"; 1410 interrupt-names = "vring"; 1422 interrupt-names = "vring"; 1548 interrupt-names = "vring"; 1560 interrupt-names = "vring"; [all …]
|
| /linux/drivers/vdpa/mlx5/core/ |
| H A D | mlx5_vdpa.h | 57 struct vringh vring; member
|