/kernel/linux/linux-6.6/drivers/platform/mellanox/ |
H A D | mlxbf-tmfifo.c | 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() 254 if (vring in mlxbf_tmfifo_free_vrings() 271 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_alloc_vrings() local 327 mlxbf_tmfifo_get_next_desc(struct mlxbf_tmfifo_vring *vring) mlxbf_tmfifo_get_next_desc() argument 350 mlxbf_tmfifo_release_desc(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc, u32 len) mlxbf_tmfifo_release_desc() argument 372 mlxbf_tmfifo_get_pkt_len(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc) mlxbf_tmfifo_get_pkt_len() argument 390 mlxbf_tmfifo_release_pkt(struct mlxbf_tmfifo_vring *vring) mlxbf_tmfifo_release_pkt() argument 411 mlxbf_tmfifo_init_net_desc(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc, bool is_rx) mlxbf_tmfifo_init_net_desc() argument 423 mlxbf_tmfifo_get_next_pkt(struct mlxbf_tmfifo_vring *vring, bool is_rx) mlxbf_tmfifo_get_next_pkt() argument 453 mlxbf_tmfifo_console_output_one(struct mlxbf_tmfifo_vdev *cons, struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc) mlxbf_tmfifo_console_output_one() argument 486 mlxbf_tmfifo_console_output(struct mlxbf_tmfifo_vdev *cons, struct mlxbf_tmfifo_vring *vring) mlxbf_tmfifo_console_output() argument 601 mlxbf_tmfifo_rxtx_word(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc, bool is_rx, int len) mlxbf_tmfifo_rxtx_word() argument 654 mlxbf_tmfifo_rxtx_header(struct mlxbf_tmfifo_vring *vring, struct vring_desc **desc, bool is_rx, bool *vring_change) mlxbf_tmfifo_rxtx_header() argument 733 mlxbf_tmfifo_rxtx_one_desc(struct mlxbf_tmfifo_vring *vring, bool is_rx, int *avail) mlxbf_tmfifo_rxtx_one_desc() argument 829 mlxbf_tmfifo_check_tx_timeout(struct mlxbf_tmfifo_vring *vring) mlxbf_tmfifo_check_tx_timeout() argument 874 mlxbf_tmfifo_rxtx(struct mlxbf_tmfifo_vring *vring, bool is_rx) mlxbf_tmfifo_rxtx() argument 937 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_work_rxtx() local 979 struct mlxbf_tmfifo_vring *vring = vq->priv; mlxbf_tmfifo_virtio_notify() local 1039 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_virtio_del_vqs() local 1067 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_virtio_find_vqs() local [all...] |
/kernel/linux/linux-5.10/drivers/platform/mellanox/ |
H A D | mlxbf-tmfifo.c | 64 * @num: vring size (number of descriptors) 65 * @align: vring alignment size 66 * @index: vring index 67 * @vdev_id: vring virtio id (VIRTIO_ID_xxx) 88 /* Check whether vring is in drop mode. */ 161 * @vring: Tx/Rx ring 176 struct mlxbf_tmfifo_vring *vring[2]; member 221 struct mlxbf_tmfifo_vring *vring; in mlxbf_tmfifo_free_vrings() local 225 vring = &tm_vdev->vrings[i]; in mlxbf_tmfifo_free_vrings() 226 if (vring in mlxbf_tmfifo_free_vrings() 243 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_alloc_vrings() local 299 mlxbf_tmfifo_get_next_desc(struct mlxbf_tmfifo_vring *vring) mlxbf_tmfifo_get_next_desc() argument 322 mlxbf_tmfifo_release_desc(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc, u32 len) mlxbf_tmfifo_release_desc() argument 344 mlxbf_tmfifo_get_pkt_len(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc) mlxbf_tmfifo_get_pkt_len() argument 362 mlxbf_tmfifo_release_pkt(struct mlxbf_tmfifo_vring *vring) mlxbf_tmfifo_release_pkt() argument 383 mlxbf_tmfifo_init_net_desc(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc, bool is_rx) mlxbf_tmfifo_init_net_desc() argument 395 mlxbf_tmfifo_get_next_pkt(struct mlxbf_tmfifo_vring *vring, bool is_rx) mlxbf_tmfifo_get_next_pkt() argument 425 mlxbf_tmfifo_console_output_one(struct mlxbf_tmfifo_vdev *cons, struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc) mlxbf_tmfifo_console_output_one() argument 458 mlxbf_tmfifo_console_output(struct mlxbf_tmfifo_vdev *cons, struct mlxbf_tmfifo_vring *vring) mlxbf_tmfifo_console_output() argument 573 mlxbf_tmfifo_rxtx_word(struct mlxbf_tmfifo_vring *vring, struct vring_desc *desc, bool is_rx, int len) mlxbf_tmfifo_rxtx_word() argument 626 mlxbf_tmfifo_rxtx_header(struct mlxbf_tmfifo_vring *vring, struct vring_desc **desc, bool is_rx, bool *vring_change) mlxbf_tmfifo_rxtx_header() argument 705 mlxbf_tmfifo_rxtx_one_desc(struct mlxbf_tmfifo_vring *vring, bool is_rx, int *avail) mlxbf_tmfifo_rxtx_one_desc() argument 802 mlxbf_tmfifo_rxtx(struct mlxbf_tmfifo_vring *vring, bool is_rx) mlxbf_tmfifo_rxtx() argument 849 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_work_rxtx() local 891 struct mlxbf_tmfifo_vring *vring = vq->priv; mlxbf_tmfifo_virtio_notify() local 951 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_virtio_del_vqs() local 979 struct mlxbf_tmfifo_vring *vring; mlxbf_tmfifo_virtio_find_vqs() local [all...] |
/kernel/linux/linux-5.10/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() 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 in wil_vring_alloc() 190 wil_vring_free(struct wil6210_priv *wil, struct wil_ring *vring) wil_vring_free() argument 256 wil_vring_alloc_skb(struct wil6210_priv *wil, struct wil_ring *vring, u32 i, int headroom) wil_vring_alloc_skb() argument 439 wil_vring_reap_rx(struct wil6210_priv *wil, struct wil_ring *vring) wil_vring_reap_rx() argument 1051 struct wil_ring *vring = &wil->ring_rx; wil_rx_init() local 1086 struct wil_ring *vring = &wil->ring_rx; wil_rx_fini() local 1164 struct wil_ring *vring = &wil->ring_tx[id]; wil_vring_init_tx() local 1267 struct wil_ring *vring = &wil->ring_tx[ring_id]; wil_tx_vring_modify() local 1341 struct wil_ring *vring = &wil->ring_tx[id]; wil_vring_init_bcast() local 1725 __wil_tx_vring_tso(struct wil6210_priv *wil, struct wil6210_vif *vif, struct wil_ring *vring, struct sk_buff *skb) __wil_tx_vring_tso() argument 2425 struct wil_ring *vring = &wil->ring_tx[ringid]; wil_tx_complete() local [all...] |
H A D | trace.h | 215 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; 229 TP_printk("vring %d index %d len %d frags %d", 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) [all...] |
/kernel/linux/linux-6.6/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() 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 in wil_vring_alloc() 190 wil_vring_free(struct wil6210_priv *wil, struct wil_ring *vring) wil_vring_free() argument 256 wil_vring_alloc_skb(struct wil6210_priv *wil, struct wil_ring *vring, u32 i, int headroom) wil_vring_alloc_skb() argument 439 wil_vring_reap_rx(struct wil6210_priv *wil, struct wil_ring *vring) wil_vring_reap_rx() argument 1051 struct wil_ring *vring = &wil->ring_rx; wil_rx_init() local 1086 struct wil_ring *vring = &wil->ring_rx; wil_rx_fini() local 1164 struct wil_ring *vring = &wil->ring_tx[id]; wil_vring_init_tx() local 1267 struct wil_ring *vring = &wil->ring_tx[ring_id]; wil_tx_vring_modify() local 1341 struct wil_ring *vring = &wil->ring_tx[id]; wil_vring_init_bcast() local 1725 __wil_tx_vring_tso(struct wil6210_priv *wil, struct wil6210_vif *vif, struct wil_ring *vring, struct sk_buff *skb) __wil_tx_vring_tso() argument 2423 struct wil_ring *vring = &wil->ring_tx[ringid]; wil_tx_complete() local [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; 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) [all...] |
/kernel/linux/linux-5.10/drivers/virtio/ |
H A D | virtio_ring.c | 120 struct vring vring; member 147 } vring; member 316 * making all of the arch DMA ops work on the vring device itself 451 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); in virtqueue_add_split() 462 desc = vq->split.vring.desc; in virtqueue_add_split() 518 vq->split.vring.desc[head].flags = cpu_to_virtio16(_vq->vdev, in virtqueue_add_split() 520 vq->split.vring.desc[head].addr = cpu_to_virtio64(_vq->vdev, in virtqueue_add_split() 523 vq->split.vring.desc[head].len = cpu_to_virtio32(_vq->vdev, in virtqueue_add_split() 533 vq->split.vring in virtqueue_add_split() 861 struct vring vring; vring_create_virtqueue_split() local 2068 __vring_new_virtqueue(unsigned int index, struct vring vring, struct virtio_device *vdev, bool weak_barriers, bool context, bool (*notify)(struct virtqueue *), void (*callback)(struct virtqueue *), const char *name) __vring_new_virtqueue() argument 2184 struct vring vring; vring_new_virtqueue() local [all...] |
/kernel/linux/linux-5.10/drivers/vdpa/ifcvf/ |
H A D | ifcvf_main.c | 33 struct vring_info *vring = arg; in ifcvf_intr_handler() local 35 if (vring->cb.callback) in ifcvf_intr_handler() 36 return vring->cb.callback(vring->cb.private); in ifcvf_intr_handler() 54 devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); in ifcvf_free_irq() 55 vf->vring[i].irq = -EINVAL; in ifcvf_free_irq() 88 snprintf(vf->vring[i].msix_name, 256, "ifcvf[%s]-%d\n", in ifcvf_request_irq() 94 vf->vring[i].msix_name, in ifcvf_request_irq() 95 &vf->vring[ in ifcvf_request_irq() [all...] |
H A D | ifcvf_base.c | 162 hw->vring[i].notify_addr = hw->notify_base + in ifcvf_init_hw() 299 hw->vring[qid].last_avail_idx = num; in ifcvf_set_vq_state() 321 if (!hw->vring[i].ready) in ifcvf_hw_enable() 325 ifc_iowrite64_twopart(hw->vring[i].desc, &cfg->queue_desc_lo, in ifcvf_hw_enable() 327 ifc_iowrite64_twopart(hw->vring[i].avail, &cfg->queue_avail_lo, in ifcvf_hw_enable() 329 ifc_iowrite64_twopart(hw->vring[i].used, &cfg->queue_used_lo, in ifcvf_hw_enable() 331 ifc_iowrite16(hw->vring[i].size, &cfg->queue_size); in ifcvf_hw_enable() 341 ifcvf_set_vq_state(hw, i, hw->vring[i].last_avail_idx); in ifcvf_hw_enable() 389 ifc_iowrite16(qid, hw->vring[qid].notify_addr); in ifcvf_notify_queue()
|
/kernel/linux/linux-6.6/drivers/virtio/ |
H A D | virtio_ring.c | 91 struct vring vring; member 112 * vring. 125 } vring; member 357 * making all of the arch DMA ops work on the vring device itself 523 struct vring_virtqueue *vring = to_vvq(vq); in virtqueue_add_desc_split() local 524 struct vring_desc_extra *extra = vring->split.desc_extra; in virtqueue_add_desc_split() 580 WARN_ON_ONCE(total_sg > vq->split.vring.num && !vq->indirect); in virtqueue_add_split() 591 desc = vq->split.vring.desc; in virtqueue_add_split() 647 vq->split.desc_extra[prev & (vq->split.vring in virtqueue_add_split() [all...] |
/kernel/linux/linux-6.6/drivers/vdpa/alibaba/ |
H A D | eni_vdpa.c | 41 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...] |
/kernel/linux/linux-6.6/drivers/vdpa/virtio_pci/ |
H A D | vp_vdpa.c | 37 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 in vp_vdpa_vq_handler() [all...] |
/kernel/linux/linux-5.10/drivers/vhost/ |
H A D | vringh.c | 37 /* 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() 223 *descs = vrh->vring in return_from_indirect() [all...] |
/kernel/linux/linux-6.6/drivers/vhost/ |
H A D | vringh.c | 37 /* 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() 251 *descs = vrh->vring in return_from_indirect() [all...] |
/kernel/linux/linux-6.6/drivers/vdpa/ifcvf/ |
H A D | ifcvf_main.c | 32 struct vring_info *vring = arg; in ifcvf_vq_intr_handler() local 34 if (vring->cb.callback) in ifcvf_vq_intr_handler() 35 return vring->cb.callback(vring->cb.private); in ifcvf_vq_intr_handler() 43 struct vring_info *vring; in ifcvf_vqs_reused_intr_handler() local 47 vring = &vf->vring[i]; in ifcvf_vqs_reused_intr_handler() 48 if (vring->cb.callback) in ifcvf_vqs_reused_intr_handler() 49 vring->cb.callback(vring in ifcvf_vqs_reused_intr_handler() [all...] |
H A D | ifcvf_base.c | 168 hw->vring = kzalloc(sizeof(struct vring_info) * hw->nr_vring, GFP_KERNEL); in ifcvf_init_hw() 169 if (!hw->vring) in ifcvf_init_hw() 175 hw->vring[i].notify_addr = hw->notify_base + in ifcvf_init_hw() 177 hw->vring[i].notify_pa = hw->notify_base_pa + in ifcvf_init_hw() 179 hw->vring[i].irq = -EINVAL; in ifcvf_init_hw() 396 hw->vring[qid].cb.callback = NULL; in ifcvf_reset_vring() 397 hw->vring[qid].cb.private = NULL; in ifcvf_reset_vring() 431 vp_iowrite16(qid, hw->vring[qid].notify_addr); in ifcvf_notify_queue()
|
/kernel/linux/linux-5.10/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() 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() 494 vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN); in main() 496 vrh.vring.desc, vrh.vring in main() 667 struct vring vring; main() local [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() 105 info->vq = __vring_new_virtqueue(info->idx, info->vring, vdev, true, in vq_reset() 193 batch = (random() % vq->vring.num) + 1; in run_test() 236 vq_reset(vq, vq->vring in run_test() [all...] |
/kernel/linux/linux-6.6/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() 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() 494 vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN); in main() 496 vrh.vring.desc, vrh.vring in main() 667 struct vring vring; main() local [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()
|
/kernel/linux/linux-6.6/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, 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() [all...] |
H A D | vdpa_sim.c | 82 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, vdpasi in vdpasim_vq_reset() [all...] |
/kernel/linux/linux-5.10/drivers/vdpa/vdpa_sim/ |
H A D | vdpa_sim.c | 48 struct vringh vring; member 134 vringh_init_iotlb(&vq->vring, vdpasim_features, in vdpasim_queue_ready() 151 vringh_init_iotlb(&vq->vring, vdpasim_features, VDPASIM_QUEUE_MAX, in vdpasim_vq_reset() 192 err = vringh_getdesc_iotlb(&txq->vring, &txq->iov, NULL, in vdpasim_work() 197 err = vringh_getdesc_iotlb(&rxq->vring, NULL, &rxq->iov, in vdpasim_work() 200 vringh_complete_iotlb(&txq->vring, txq->head, 0); in vdpasim_work() 205 read = vringh_iov_pull_iotlb(&txq->vring, &txq->iov, in vdpasim_work() 211 write = vringh_iov_push_iotlb(&rxq->vring, &rxq->iov, in vdpasim_work() 222 vringh_complete_iotlb(&txq->vring, txq->head, 0); in vdpasim_work() 223 vringh_complete_iotlb(&rxq->vring, rx in vdpasim_work() [all...] |
/kernel/linux/linux-6.6/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() 135 /* zero vring */ in rp_find_vq() 139 dev_dbg(dev, "vring%d: va %pK 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 resource in rproc_virtio_probe() [all...] |