/openbmc/qemu/hw/9pfs/ |
H A D | xen-9p-backend.c | 65 Xen9pfsRing *rings; member 144 xen_9pfs_in_sg(&xen_9pfs->rings[pdu->tag % xen_9pfs->num_rings], in xen_9pfs_pdu_vmarshal() 168 xen_9pfs_out_sg(&xen_9pfs->rings[pdu->tag % xen_9pfs->num_rings], in xen_9pfs_pdu_vunmarshal() 187 Xen9pfsRing *ring = &xen_9pfs->rings[pdu->tag % xen_9pfs->num_rings]; in xen_9pfs_init_out_iov_from_pdu() 204 Xen9pfsRing *ring = &xen_9pfs->rings[pdu->tag % xen_9pfs->num_rings]; in xen_9pfs_init_in_iov_from_pdu() 234 Xen9pfsRing *ring = &priv->rings[pdu->tag % priv->num_rings]; in xen_9pfs_push_and_notify() 345 if (xen_9pdev->rings[i].evtchndev != NULL) { in xen_9pfs_disconnect() 346 qemu_set_fd_handler(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev), in xen_9pfs_disconnect() 348 qemu_xen_evtchn_unbind(xen_9pdev->rings[i].evtchndev, in xen_9pfs_disconnect() 349 xen_9pdev->rings[i].local_port); in xen_9pfs_disconnect() [all …]
|
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
H A D | flowring.c | 142 if (flow->rings[i] == NULL) in brcmf_flowring_create() 160 flow->rings[i] = ring; in brcmf_flowring_create() 172 ring = flow->rings[flowid]; in brcmf_flowring_tid() 192 ring = flow->rings[flowid]; in brcmf_flowring_block() 201 if ((flow->rings[i]) && (i != flowid)) { in brcmf_flowring_block() 202 ring = flow->rings[i]; in brcmf_flowring_block() 212 flow->rings[flowid]->blocked = blocked; in brcmf_flowring_block() 236 ring = flow->rings[flowid]; in brcmf_flowring_delete() 247 flow->rings[flowid] = NULL; in brcmf_flowring_delete() 264 ring = flow->rings[flowid]; in brcmf_flowring_enqueue() [all …]
|
/openbmc/linux/net/9p/ |
H A D | trans_xen.c | 58 struct xen_9pfs_dataring *rings; member 135 ring = &priv->rings[num]; in p9_xen_request() 283 struct xen_9pfs_dataring *ring = &priv->rings[i]; in xen_9pfs_front_free() 287 if (!priv->rings[i].intf) in xen_9pfs_front_free() 289 if (priv->rings[i].irq > 0) in xen_9pfs_front_free() 290 unbind_from_irqhandler(priv->rings[i].irq, ring); in xen_9pfs_front_free() 291 if (priv->rings[i].data.in) { in xen_9pfs_front_free() 293 j < (1 << priv->rings[i].intf->ring_order); in xen_9pfs_front_free() 297 ref = priv->rings[i].intf->ref[j]; in xen_9pfs_front_free() 300 free_pages_exact(priv->rings[i].data.in, in xen_9pfs_front_free() [all …]
|
/openbmc/qemu/hw/block/dataplane/ |
H A D | xen-block.c | 56 blkif_back_rings_t rings; member 431 &dataplane->rings.native, in xen_block_send_response() 432 dataplane->rings.native.rsp_prod_pvt); in xen_block_send_response() 436 &dataplane->rings.x86_32_part, in xen_block_send_response() 437 dataplane->rings.x86_32_part.rsp_prod_pvt); in xen_block_send_response() 441 &dataplane->rings.x86_64_part, in xen_block_send_response() 442 dataplane->rings.x86_64_part.rsp_prod_pvt); in xen_block_send_response() 452 dataplane->rings.common.rsp_prod_pvt++; in xen_block_send_response() 454 RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&dataplane->rings.common, in xen_block_send_response() 456 if (dataplane->rings.common.rsp_prod_pvt == in xen_block_send_response() [all …]
|
/openbmc/linux/tools/net/ynl/samples/ |
H A D | ethtool.c | 16 struct ethtool_rings_get_list *rings; in main() local 42 rings = ethtool_rings_get_dump(ys, &rreq); in main() 43 if (!rings) in main() 47 ynl_dump_foreach(rings, dev) { in main() 55 ethtool_rings_get_list_free(rings); in main()
|
/openbmc/linux/drivers/i3c/master/mipi-i3c-hci/ |
H A D | dma.c | 167 struct hci_rings_data *rings = hci->io_data; in hci_dma_cleanup() local 171 if (!rings) in hci_dma_cleanup() 174 for (i = 0; i < rings->total; i++) { in hci_dma_cleanup() 175 rh = &rings->headers[i]; in hci_dma_cleanup() 204 kfree(rings); in hci_dma_cleanup() 210 struct hci_rings_data *rings; in hci_dma_init() local 226 rings = kzalloc(struct_size(rings, headers, nr_rings), GFP_KERNEL); in hci_dma_init() 227 if (!rings) in hci_dma_init() 229 hci->io_data = rings; in hci_dma_init() 230 rings->total = nr_rings; in hci_dma_init() [all …]
|
/openbmc/linux/tools/testing/selftests/net/ |
H A D | psock_fanout.c | 235 static int sock_fanout_read(int fds[], char *rings[], const int expect[]) in sock_fanout_read() argument 239 ret[0] = sock_fanout_read_ring(fds[0], rings[0]); in sock_fanout_read() 240 ret[1] = sock_fanout_read_ring(fds[1], rings[1]); in sock_fanout_read() 412 char *rings[2]; in test_datapath() local 431 rings[0] = sock_fanout_open_ring(fds[0]); in test_datapath() 432 rings[1] = sock_fanout_open_ring(fds[1]); in test_datapath() 435 sock_fanout_read(fds, rings, expect0); in test_datapath() 440 ret = sock_fanout_read(fds, rings, expect1); in test_datapath() 445 ret |= sock_fanout_read(fds, rings, expect2); in test_datapath() 447 if (munmap(rings[1], RING_NUM_FRAMES * getpagesize()) || in test_datapath() [all …]
|
H A D | toeplitz.c | 104 static struct ring_state rings[RSS_MAX_CPUS]; variable 250 do {} while (recv_block(&rings[i])); in process_rings() 404 rings[i].cpu = i; in setup_rings() 405 rings[i].fd = create_ring(&rings[i].mmap); in setup_rings() 410 set_filter(rings[i].fd); in setup_rings() 418 if (munmap(rings[i].mmap, ring_block_nr * ring_block_sz)) in cleanup_rings() 420 if (close(rings[i].fd)) in cleanup_rings()
|
/openbmc/linux/Documentation/mhi/ |
H A D | mhi.rst | 58 Transfer rings: Used by the host to schedule work items for a channel. The 59 transfer rings are organized as a circular queue of Transfer Descriptors (TD). 64 Event rings: Used by the device to send completion and state transition messages 70 Command rings: Used by the host to send MHI commands to the device. The command 71 rings are organized as a circular queue of Command Descriptors (CD). 81 Two unidirectional channels with their associated transfer rings form a 87 Transfer rings 91 Transfer Descriptors (TD). TDs are managed through transfer rings, which are 101 Below is the basic usage of transfer rings: 110 buffer information, increments the WP to the next element and rings the [all …]
|
/openbmc/qemu/docs/specs/ |
H A D | vmw_pvscsi-spec.rst | 17 The shared memory consists of a registers area and a rings area. 19 commands. The rings area is used to transfer data descriptors and SCSI 35 There are three rings in shared memory: 48 used to control rings operation. 86 d. Issue ``PVSCSI_CMD_SETUP_RINGS`` command, provide rings configuration 89 rings configuration as ``struct PVSCSICmdDescSetupMsgRing`` 115 and message (if enabled) rings
|
/openbmc/qemu/hw/net/rocker/ |
H A D | rocker.c | 68 DescRing **rings; member 475 DescRing *ring = r->rings[ROCKER_RING_EVENT]; in rocker_event_link_changed() 526 DescRing *ring = r->rings[ROCKER_RING_EVENT]; in rocker_event_mac_vlan_seen() 589 return r->rings[(pport - 1) * 2 + 3]; in rocker_get_rx_ring_by_pport() 792 desc_ring_set_base_addr(r->rings[index], in rocker_io_writel() 797 desc_ring_set_size(r->rings[index], val); in rocker_io_writel() 800 if (desc_ring_set_head(r->rings[index], val)) { in rocker_io_writel() 801 rocker_msix_irq(r, desc_ring_get_msix_vector(r->rings[index])); in rocker_io_writel() 805 desc_ring_set_ctrl(r->rings[index], val); in rocker_io_writel() 808 if (desc_ring_ret_credits(r->rings[index], val)) { in rocker_io_writel() [all …]
|
/openbmc/qemu/hw/scsi/ |
H A D | vmw_pvscsi.c | 54 ldl_le_pci_dma(&container_of(m, PVSCSIState, rings)->parent_obj, \ 58 (stl_le_pci_dma(&container_of(m, PVSCSIState, rings)->parent_obj, \ 130 PVSCSIRingInfo rings; /* Data transfer rings manager */ member 354 pvscsi_ring_cleanup(&s->rings); in pvscsi_reset_state() 408 cmp_descr_pa = pvscsi_ring_pop_cmp_descr(&s->rings); in pvscsi_cmp_ring_put() 418 msg_descr_pa = pvscsi_ring_pop_msg_descr(&s->rings); in pvscsi_msg_ring_put() 439 pvscsi_ring_flush_cmp(&s->rings); in pvscsi_process_completion_queue() 591 if (s->msg_ring_info_valid && pvscsi_ring_msg_has_room(&s->rings)) { in pvscsi_send_msg() 600 pvscsi_ring_flush_msg(&s->rings); in pvscsi_send_msg() 767 while ((next_descr_pa = pvscsi_ring_pop_req_descr(&s->rings)) != 0) { in pvscsi_process_io() [all …]
|
/openbmc/linux/drivers/crypto/intel/qat/qat_common/ |
H A D | adf_transport.c | 267 ring = &bank->rings[ring_num]; in adf_create_ring() 338 adf_handle_response(&bank->rings[i]); in adf_ring_response_handler() 406 bank->rings = kzalloc_node(size, GFP_KERNEL, in adf_init_bank() 408 if (!bank->rings) in adf_init_bank() 425 ring = &bank->rings[i]; in adf_init_bank() 439 tx_ring = &bank->rings[i - hw_data->tx_rx_gap]; in adf_init_bank() 456 ring = &bank->rings[i]; in adf_init_bank() 460 kfree(bank->rings); in adf_init_bank() 532 struct adf_etr_ring_data *ring = &bank->rings[i]; in cleanup_bank() 540 kfree(bank->rings); in cleanup_bank() [all …]
|
/openbmc/linux/tools/lib/bpf/ |
H A D | ringbuf.c | 37 struct ring *rings; member 100 tmp = libbpf_reallocarray(rb->rings, rb->ring_cnt + 1, sizeof(*rb->rings)); in ring_buffer__add() 103 rb->rings = tmp; in ring_buffer__add() 110 r = &rb->rings[rb->ring_cnt]; in ring_buffer__add() 173 ringbuf_unmap_ring(rb, &rb->rings[i]); in ring_buffer__free() 178 free(rb->rings); in ring_buffer__free() 281 struct ring *ring = &rb->rings[i]; in ring_buffer__consume() 308 struct ring *ring = &rb->rings[ring_id]; in ring_buffer__poll()
|
/openbmc/linux/drivers/soc/ti/ |
H A D | k3-ringacc.c | 219 struct k3_ring *rings; member 358 !(ringacc->rings[id].flags & K3_RING_FLAG_SHARED)) in k3_ringacc_request_ring() 360 else if (ringacc->rings[id].flags & K3_RING_FLAG_SHARED) in k3_ringacc_request_ring() 372 ringacc->rings[id].proxy_id = proxy_id; in k3_ringacc_request_ring() 381 ringacc->rings[id].use_count++; in k3_ringacc_request_ring() 383 return &ringacc->rings[id]; in k3_ringacc_request_ring() 419 *fwd_ring = &ringacc->rings[fwd_id]; in k3_dmaring_request_dual_ring() 420 *compl_ring = &ringacc->rings[fwd_id + ringacc->num_rings]; in k3_dmaring_request_dual_ring() 422 ringacc->rings[fwd_id].use_count++; in k3_dmaring_request_dual_ring() 755 reverse_ring = &ringacc->rings[ring->ring_id + ringacc->num_rings]; in k3_dmaring_cfg() [all …]
|
/openbmc/linux/drivers/block/xen-blkback/ |
H A D | xenbus.c | 84 if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev) in xen_update_blkif_status() 110 ring = &blkif->rings[i]; in xen_update_blkif_status() 124 ring = &blkif->rings[i]; in xen_update_blkif_status() 134 blkif->rings = kcalloc(blkif->nr_rings, sizeof(struct xen_blkif_ring), in xen_blkif_alloc_rings() 136 if (!blkif->rings) in xen_blkif_alloc_rings() 140 struct xen_blkif_ring *ring = &blkif->rings[r]; in xen_blkif_alloc_rings() 274 struct xen_blkif_ring *ring = &blkif->rings[r]; in xen_blkif_disconnect() 338 kfree(blkif->rings); in xen_blkif_disconnect() 339 blkif->rings = NULL; in xen_blkif_disconnect() 389 if (!blkif->rings) \ [all …]
|
/openbmc/linux/io_uring/ |
H A D | io_uring.c | 187 return ctx->cached_cq_tail - READ_ONCE(ctx->rings->cq.head); in __io_cqring_events() 192 return READ_ONCE(ctx->rings->cq.tail) - READ_ONCE(ctx->rings->cq.head); in __io_cqring_events_user() 354 struct io_rings *r = ctx->rings; in io_account_cq_overflow() 582 if (READ_ONCE(ctx->rings->cq_flags) & IORING_CQ_EVENTFD_DISABLED) in io_eventfd_signal() 736 atomic_andnot(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); in __io_cqring_overflow_flush() 827 atomic_or(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); in io_cqring_event_overflow() 856 struct io_rings *rings = ctx->rings; in io_cqe_cache_refill() local 881 ctx->cqe_cached = &rings->cqes[off]; in io_cqe_cache_refill() 1184 atomic_andnot(IORING_SQ_TASKRUN, &ctx->rings->sq_flags); in ctx_flush_and_put() 1331 atomic_or(IORING_SQ_TASKRUN, &ctx->rings->sq_flags); in io_req_local_work_add() [all …]
|
H A D | io_uring.h | 233 smp_store_release(&ctx->rings->cq.tail, ctx->cached_cq_tail); in io_commit_cqring() 262 struct io_rings *r = ctx->rings; in io_sqring_full() 276 struct io_rings *rings = ctx->rings; in io_sqring_entries() local 280 entries = smp_load_acquire(&rings->sq.tail) - ctx->cached_sq_head; in io_sqring_entries()
|
/openbmc/linux/include/linux/ |
H A D | ptr_ring.h | 619 static inline int ptr_ring_resize_multiple(struct ptr_ring **rings, in ptr_ring_resize_multiple() argument 639 spin_lock_irqsave(&(rings[i])->consumer_lock, flags); in ptr_ring_resize_multiple() 640 spin_lock(&(rings[i])->producer_lock); in ptr_ring_resize_multiple() 641 queues[i] = __ptr_ring_swap_queue(rings[i], queues[i], in ptr_ring_resize_multiple() 643 spin_unlock(&(rings[i])->producer_lock); in ptr_ring_resize_multiple() 644 spin_unlock_irqrestore(&(rings[i])->consumer_lock, flags); in ptr_ring_resize_multiple()
|
H A D | skb_array.h | 201 static inline int skb_array_resize_multiple(struct skb_array **rings, in skb_array_resize_multiple() argument 206 return ptr_ring_resize_multiple((struct ptr_ring **)rings, in skb_array_resize_multiple()
|
/openbmc/linux/Documentation/networking/ |
H A D | af_xdp.rst | 24 syscall. Associated with each XSK are two rings: the RX ring and the 26 packets on the TX ring. These rings are registered and sized with the 28 to have at least one of these rings for each socket. An RX or TX 37 one of the rings references a frame by referencing its addr. The addr 42 UMEM also has two rings: the FILL ring and the COMPLETION ring. The 50 TX ring. In summary, the RX and FILL rings are used for the RX path 51 and the TX and COMPLETION rings are used for the TX path. 59 corresponding two rings, sets the XDP_SHARED_UMEM flag in the bind 65 process has to create its own socket with associated RX and TX rings, 67 reason that there is only one set of FILL and COMPLETION rings per [all …]
|
/openbmc/linux/drivers/crypto/inside-secure/ |
H A D | safexcel.c | 51 for (i = 0; i < priv->config.rings; i++) { in eip197_trc_cache_setupvirt() 510 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_setup_cdesc_rings() 558 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_setup_rdesc_rings() 600 priv->config.pes, priv->config.rings); in safexcel_hw_init() 662 GENMASK(priv->config.rings - 1, 0), in safexcel_hw_init() 720 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_init() 746 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_init() 770 writel(EIP197_DxE_THR_CTRL_EN | GENMASK(priv->config.rings - 1, 0), in safexcel_hw_init() 774 writel(EIP197_DxE_THR_CTRL_EN | GENMASK(priv->config.rings - 1, 0), in safexcel_hw_init() 1333 priv->config.rings = min_t(u32, priv->hwconfig.hwnumrings, max_rings); in safexcel_configure() [all …]
|
/openbmc/linux/drivers/net/ethernet/netronome/nfp/ |
H A D | Makefile | 24 nfd3/rings.o \ 27 nfdk/rings.o \
|
/openbmc/qemu/tests/qtest/ |
H A D | vhost-user-test.c | 169 uint64_t rings; member 449 s->rings &= ~(0x1ULL << msg.payload.state.index); in chr_read() 495 s->rings |= 0x1ULL << msg.payload.state.index; in chr_read() 754 gboolean overlap = t->src->rings && t->dest->rings; in test_migrate_source_check() 910 while (ctpop64(s->rings) != count) { in wait_for_rings_started() 913 g_assert_cmpint(ctpop64(s->rings), ==, count); in wait_for_rings_started() 974 s->rings = 0; in test_reconnect()
|
/openbmc/linux/Documentation/networking/device_drivers/ethernet/google/ |
H A D | gve.rst | 125 The descriptor rings are power-of-two-sized ring buffers consisting of 136 gve maps the buffers for transmit rings into a FIFO and copies the packets 141 The buffers for receive rings are put into a data ring that is the same 143 the rings together.
|