Home
last modified time | relevance | path

Searched refs:rings (Results 1 – 25 of 70) sorted by relevance

123

/linux/tools/testing/selftests/drivers/net/
H A Dhds.py16 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/i3c/master/mipi-i3c-hci/
H A Ddma.c151 struct hci_rings_data *rings = hci->io_data; in hci_dma_cleanup() local
155 if (!rings) in hci_dma_cleanup()
158 for (i = 0; i < rings->total; i++) { in hci_dma_cleanup()
159 rh = &rings->headers[i]; in hci_dma_cleanup()
167 for (i = 0; i < rings->total; i++) { in hci_dma_cleanup()
168 rh = &rings->headers[i]; in hci_dma_cleanup()
180 struct hci_rings_data *rings = hci->io_data; in hci_dma_free() local
183 if (!rings) in hci_dma_free()
186 for (int i = 0; i < rings->total; i++) { in hci_dma_free()
187 rh = &rings->headers[i]; in hci_dma_free()
[all …]
/linux/drivers/net/ethernet/intel/libie/
H A Dfwlog.c78 static bool libie_fwlog_ring_empty(struct libie_fwlog_ring *rings) in libie_fwlog_ring_empty() argument
80 return rings->head == rings->tail; in libie_fwlog_ring_empty()
88 static int libie_fwlog_alloc_ring_buffs(struct libie_fwlog_ring *rings) in libie_fwlog_alloc_ring_buffs() argument
93 nr_bytes = rings->size * LIBIE_AQ_MAX_BUF_LEN; in libie_fwlog_alloc_ring_buffs()
98 for (i = 0; i < rings->size; i++) { in libie_fwlog_alloc_ring_buffs()
99 struct libie_fwlog_data *ring = &rings->rings[i]; in libie_fwlog_alloc_ring_buffs()
109 static void libie_fwlog_free_ring_buffs(struct libie_fwlog_ring *rings) in libie_fwlog_free_ring_buffs() argument
113 for (i = 0; i < rings->size; i++) { in libie_fwlog_free_ring_buffs()
114 struct libie_fwlog_data *ring = &rings->rings[i]; in libie_fwlog_free_ring_buffs()
156 ring.rings = kzalloc_objs(*ring.rings, ring_size); in libie_fwlog_realloc_rings()
[all …]
/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
H A Dflowring.c142 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 …]
/linux/net/9p/
H A Dtrans_xen.c58 struct xen_9pfs_dataring *rings; member
136 ring = &priv->rings[num]; in p9_xen_request()
280 if (priv->rings) { in xen_9pfs_front_free()
282 struct xen_9pfs_dataring *ring = &priv->rings[i]; in xen_9pfs_front_free()
286 if (!priv->rings[i].intf) in xen_9pfs_front_free()
288 if (priv->rings[i].irq > 0) in xen_9pfs_front_free()
289 unbind_from_irqhandler(priv->rings[i].irq, ring); in xen_9pfs_front_free()
290 if (priv->rings[i].data.in) { in xen_9pfs_front_free()
292 j < (1 << priv->rings[i].intf->ring_order); in xen_9pfs_front_free()
296 ref = priv->rings[i].intf->ref[j]; in xen_9pfs_front_free()
[all …]
/linux/io_uring/
H A Dregister.c465 struct io_rings *rings; member
527 n.rings = io_region_get_ptr(&n.ring_region); in io_register_resize_rings()
537 WRITE_ONCE(n.rings->sq_ring_mask, p->sq_entries - 1); in io_register_resize_rings()
538 WRITE_ONCE(n.rings->cq_ring_mask, p->cq_entries - 1); in io_register_resize_rings()
539 WRITE_ONCE(n.rings->sq_ring_entries, p->sq_entries); in io_register_resize_rings()
540 WRITE_ONCE(n.rings->cq_ring_entries, p->cq_entries); in io_register_resize_rings()
580 o.rings = ctx->rings; in io_register_resize_rings()
581 ctx->rings = NULL; in io_register_resize_rings()
589 tail = READ_ONCE(o.rings->sq.tail); in io_register_resize_rings()
590 old_head = READ_ONCE(o.rings->sq.head); in io_register_resize_rings()
[all …]
H A Dio_uring.h148 int dist = READ_ONCE(ctx->rings->cq.tail) - (int) iowq->cq_tail; in io_should_wake()
402 smp_store_release(&ctx->rings->cq.tail, ctx->cached_cq_tail); in io_commit_cqring()
436 struct io_rings *r = ctx->rings; in io_sqring_full()
450 struct io_rings *rings = ctx->rings; in io_sqring_entries() local
454 entries = smp_load_acquire(&rings->sq.tail) - ctx->cached_sq_head; in io_sqring_entries()
H A Dio_uring.c574 atomic_andnot(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); in __io_cqring_overflow_flush()
581 if (ctx->rings) in io_cqring_overflow_kill()
634 struct io_rings *r = ctx->rings; in io_cqring_add_overflow()
647 atomic_or(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); in io_cqring_add_overflow()
690 struct io_uring_cqe *cqe = &ctx->rings->cqes[off]; in io_fill_nop_cqe()
708 struct io_rings *rings = ctx->rings; in io_cqe_cache_refill() local
743 ctx->cqe_cached = &rings->cqes[off]; in io_cqe_cache_refill()
1954 struct io_rings *rings = ctx->rings; in io_commit_sqring() local
1964 smp_store_release(&rings->sq.head, ctx->cached_sq_head); in io_commit_sqring()
1985 WRITE_ONCE(ctx->rings->sq_dropped, in io_get_sqe()
[all …]
/linux/tools/net/ynl/samples/
H A Dethtool.c16 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 Dmhi.rst58 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 Dpsock_fanout.c263 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 Dadf_transport.c267 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 Dadf_transport_internal.h32 struct adf_etr_ring_data *rings; member
/linux/drivers/soc/ti/
H A Dk3-ringacc.c219 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 Dtoeplitz.c113 static struct ring_state rings[RSS_MAX_CPUS]; variable
274 pkts_found |= recv_block(&rings[i]); in process_rings()
434 rings[i].cpu = i; in setup_rings()
435 rings[i].fd = create_ring(&rings[i].mmap); in setup_rings()
440 set_filter(rings[i].fd); in setup_rings()
448 if (munmap(rings[i].mmap, ring_block_nr * ring_block_sz)) in cleanup_rings()
450 if (close(rings[i].fd)) in cleanup_rings()
/linux/drivers/block/xen-blkback/
H A Dxenbus.c84 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 = kzalloc_objs(struct xen_blkif_ring, blkif->nr_rings); in xen_blkif_alloc_rings()
135 if (!blkif->rings) in xen_blkif_alloc_rings()
139 struct xen_blkif_ring *ring = &blkif->rings[r]; in xen_blkif_alloc_rings()
273 struct xen_blkif_ring *ring = &blkif->rings[r]; in xen_blkif_disconnect()
337 kfree(blkif->rings); in xen_blkif_disconnect()
338 blkif->rings = NULL; in xen_blkif_disconnect()
388 if (!blkif->rings) \
[all …]
/linux/Documentation/networking/
H A Daf_xdp.rst24 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 Dsafexcel.c51 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 DMakefile24 nfd3/rings.o \
27 nfdk/rings.o \
/linux/Documentation/networking/device_drivers/ethernet/google/
H A Dgve.rst125 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 Damdgpu_fence.c558 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_hw_fini()
588 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_isr_toggle()
605 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_sw_fini()
644 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_hw_init()
897 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_debugfs_fence_info_show()
/linux/drivers/net/
H A Dtap.c1196 struct ptr_ring **rings; in tap_queue_resize() local
1200 rings = kmalloc_objs(*rings, n); 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/drivers/net/ethernet/broadcom/
H A Dbcm4908_enet.c247 struct bcm4908_enet_dma_ring *rings[] = { &enet->rx_ring, &enet->tx_ring }; in bcm4908_enet_dma_reset() local
251 for (i = 0; i < ARRAY_SIZE(rings); i++) in bcm4908_enet_dma_reset()
252 enet_write(enet, rings[i]->cfg_block + ENET_DMA_CH_CFG, 0); in bcm4908_enet_dma_reset()
256 for (i = 0; i < ARRAY_SIZE(rings); i++) { in bcm4908_enet_dma_reset()
257 struct bcm4908_enet_dma_ring *ring = rings[i]; in bcm4908_enet_dma_reset()
/linux/Documentation/devicetree/bindings/net/
H A Dopencores-ethoc.txt6 first region is for the device registers and descriptor rings,
/linux/include/linux/net/intel/libie/
H A Dfwlog.h55 struct libie_fwlog_data *rings; member

123