| /linux/tools/testing/selftests/drivers/net/ |
| H A D | hds.py | 16 rings = netnl.rings_get({'header': {'dev-index': cfg.ifindex}}) 19 if 'tcp-data-split' not in rings: 21 return rings['tcp-data-split'] 37 rings = netnl.rings_get({'header': {'dev-index': cfg.ifindex}}) 41 if 'tx' not in rings: 57 rings = netnl.rings_get({'header': {'dev-index': cfg.ifindex}}) 60 if 'hds-thresh' not in rings: 64 def _hds_reset(cfg, netnl, rings) -> None: argument 68 if cur.get('tcp-data-split') != rings.get('tcp-data-split'): 74 if cur['tcp-data-split'] == rings['tcp-data-split']: [all …]
|
| /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 …]
|
| H A D | flowring.h | 41 struct brcmf_flowring_ring **rings; member
|
| /linux/io_uring/ |
| H A D | register.c | 161 /* Restrictions allowed only if rings started disabled */ in io_register_restrictions() 376 struct io_rings *rings; 438 n.rings = io_region_get_ptr(&n.ring_region); in io_register_resize_rings() 441 * At this point n.rings is shared with userspace, just like o.rings in io_register_resize_rings() 448 WRITE_ONCE(n.rings->sq_ring_mask, p->sq_entries - 1); in io_register_resize_rings() 449 WRITE_ONCE(n.rings->cq_ring_mask, p->cq_entries - 1); in io_register_resize_rings() 450 WRITE_ONCE(n.rings->sq_ring_entries, p->sq_entries); in io_register_resize_rings() 451 WRITE_ONCE(n.rings->cq_ring_entries, p->cq_entries); in io_register_resize_rings() 484 * existing rings beyon in io_register_resize_rings() 374 struct io_rings *rings; global() member [all...] |
| H A D | io_uring.c | 192 return ctx->cached_cq_tail - READ_ONCE(ctx->rings->cq.head); in __io_cqring_events() 197 return READ_ONCE(ctx->rings->cq.tail) - READ_ONCE(ctx->rings->cq.head); in __io_cqring_events_user() 567 /* IOPOLL rings only need to wake up if it's also SQPOLL */ in __io_cq_unlock_post() 635 atomic_andnot(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); in __io_cqring_overflow_flush() 642 if (ctx->rings) in io_cqring_overflow_kill() 695 struct io_rings *r = ctx->rings; in io_cqring_add_overflow() 708 atomic_or(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); in io_cqring_add_overflow() 751 struct io_uring_cqe *cqe = &ctx->rings->cqes[off]; in io_fill_nop_cqe() 769 struct io_rings *rings in io_cqe_cache_refill() 768 struct io_rings *rings = ctx->rings; io_cqe_cache_refill() local 2354 struct io_rings *rings = ctx->rings; io_commit_sqring() local 2636 struct io_rings *rings = ctx->rings; io_cqring_wait() local 2768 struct io_rings *rings; rings_size() local 3366 struct io_rings *rings; io_allocate_scq_urings() local [all...] |
| H A D | sqpoll.c | 380 &ctx->rings->sq_flags); in io_sq_thread() 407 &ctx->rings->sq_flags); in io_sq_thread() 421 atomic_or(IORING_SQ_NEED_WAKEUP, &ctx->rings->sq_flags); in io_sq_thread()
|
| /linux/net/9p/ |
| H A D | trans_xen.c | 58 struct xen_9pfs_dataring *rings; member 136 ring = &priv->rings[num]; in p9_xen_request() 285 struct xen_9pfs_dataring *ring = &priv->rings[i]; in xen_9pfs_front_free() 289 if (!priv->rings[i].intf) in xen_9pfs_front_free() 291 if (priv->rings[i].irq > 0) in xen_9pfs_front_free() 292 unbind_from_irqhandler(priv->rings[i].irq, ring); in xen_9pfs_front_free() 293 if (priv->rings[i].data.in) { in xen_9pfs_front_free() 295 j < (1 << priv->rings[i].intf->ring_order); in xen_9pfs_front_free() 299 ref = priv->rings[i].intf->ref[j]; in xen_9pfs_front_free() 302 free_pages_exact(priv->rings[i].data.in, in xen_9pfs_front_free() [all …]
|
| /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()
|
| /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 …]
|
| /linux/tools/testing/selftests/net/ |
| H A D | psock_fanout.c | 263 static int sock_fanout_read(int fds[], char *rings[], const int expect[]) in sock_fanout_read() argument 267 ret[0] = sock_fanout_read_ring(fds[0], rings[0]); in sock_fanout_read() 268 ret[1] = sock_fanout_read_ring(fds[1], rings[1]); in sock_fanout_read() 482 char *rings[2]; in test_datapath() local 501 rings[0] = sock_fanout_open_ring(fds[0]); in test_datapath() 502 rings[1] = sock_fanout_open_ring(fds[1]); in test_datapath() 505 sock_fanout_read(fds, rings, expect0); in test_datapath() 510 ret = sock_fanout_read(fds, rings, expect1); in test_datapath() 515 ret |= sock_fanout_read(fds, rings, expect2); in test_datapath() 517 if (munmap(rings[1], RING_NUM_FRAMES * getpagesize()) || in test_datapath() [all …]
|
| /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() 530 struct adf_etr_ring_data *ring = &bank->rings[i]; in cleanup_bank() 538 kfree(bank->rings); in cleanup_bank() [all …]
|
| H A D | adf_transport_internal.h | 32 struct adf_etr_ring_data *rings; member
|
| /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 …]
|
| /linux/tools/testing/selftests/drivers/net/hw/ |
| H A D | toeplitz.c | 111 static struct ring_state rings[RSS_MAX_CPUS]; variable 262 do {} while (recv_block(&rings[i])); in process_rings() 416 rings[i].cpu = i; in setup_rings() 417 rings[i].fd = create_ring(&rings[i].mmap); in setup_rings() 422 set_filter(rings[i].fd); in setup_rings() 430 if (munmap(rings[i].mmap, ring_block_nr * ring_block_sz)) in cleanup_rings() 432 if (close(rings[i].fd)) in cleanup_rings()
|
| /linux/drivers/block/xen-blkback/ |
| H A D | xenbus.c | 84 if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev_file) 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 …]
|
| /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 …]
|
| /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() 1328 priv->config.rings = min_t(u32, priv->hwconfig.hwnumrings, max_rings); in safexcel_configure() [all …]
|
| /linux/drivers/net/ethernet/netronome/nfp/ |
| H A D | Makefile | 24 nfd3/rings.o \ 27 nfdk/rings.o \
|
| /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.
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_fence.c | 546 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_hw_fini() 576 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_isr_toggle() 593 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_sw_fini() 632 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_hw_init() 871 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_debugfs_fence_info_show()
|
| /linux/drivers/net/ |
| H A D | tap.c | 1196 struct ptr_ring **rings; in tap_queue_resize() local 1200 rings = kmalloc_array(n, sizeof(*rings), GFP_KERNEL); in tap_queue_resize() 1201 if (!rings) in tap_queue_resize() 1205 rings[i++] = &q->ring; in tap_queue_resize() 1207 ret = ptr_ring_resize_multiple_bh(rings, n, in tap_queue_resize() 1211 kfree(rings); in tap_queue_resize()
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | opencores-ethoc.txt | 6 first region is for the device registers and descriptor rings,
|
| /linux/drivers/mailbox/ |
| H A D | bcm-flexrm-mailbox.c | 285 struct flexrm_ring *rings; member 931 ring = &mbox->rings[i]; in flexrm_write_config_in_seqfile() 959 ring = &mbox->rings[i]; in flexrm_write_stats_in_seqfile() 1477 struct flexrm_ring *ring = &mbox->rings[desc->msi_index]; in flexrm_mbox_msi_write() 1532 mbox->rings = ring; in flexrm_mbox_probe() 1537 ring = &mbox->rings[index]; in flexrm_mbox_probe() 1597 mbox->rings[index].irq = msi_get_virq(dev, index); in flexrm_mbox_probe() 1630 mbox->controller.chans[index].con_priv = &mbox->rings[index]; in flexrm_mbox_probe()
|
| /linux/include/linux/net/intel/libie/ |
| H A D | fwlog.h | 55 struct libie_fwlog_data *rings; member
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | hv_vhca.h | 28 u16 rings; member
|