Home
last modified time | relevance | path

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

12345

/linux-6.15/tools/testing/selftests/drivers/net/
H A Dhds.py17 if 'tcp-data-split' not in rings:
19 return rings['tcp-data-split']
39 if 'tx' not in rings:
58 if 'hds-thresh' not in rings:
107 if 'hds-thresh' not in rings:
110 ksft_eq(0, rings['hds-thresh'])
117 if 'hds-thresh' not in rings:
122 if rings['hds-thresh-max'] < 2:
147 if 'hds-thresh' not in rings:
157 ksft_eq(rings['hds-thresh'], rings['hds-thresh-max'])
[all …]
/linux-6.15/drivers/net/ethernet/intel/ice/
H A Dice_fwlog.c13 head = rings->head; in ice_fwlog_ring_full()
14 tail = rings->tail; in ice_fwlog_ring_full()
26 return rings->head == rings->tail; in ice_fwlog_ring_empty()
45 struct ice_fwlog_data *ring = &rings->rings[i]; in ice_fwlog_alloc_ring_buffs()
60 struct ice_fwlog_data *ring = &rings->rings[i]; in ice_fwlog_free_ring_buffs()
102 ring.rings = kcalloc(ring_size, sizeof(*ring.rings), GFP_KERNEL); in ice_fwlog_realloc_rings()
103 if (!ring.rings) in ice_fwlog_realloc_rings()
112 kfree(ring.rings); in ice_fwlog_realloc_rings()
117 kfree(hw->fwlog_ring.rings); in ice_fwlog_realloc_rings()
119 hw->fwlog_ring.rings = ring.rings; in ice_fwlog_realloc_rings()
[all …]
H A Dice_fwlog.h56 struct ice_fwlog_data *rings; member
67 bool ice_fwlog_ring_full(struct ice_fwlog_ring *rings);
68 bool ice_fwlog_ring_empty(struct ice_fwlog_ring *rings);
/linux-6.15/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
H A Dflowring.c160 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()
202 ring = flow->rings[i]; 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()
372 flow->rings = kcalloc(nrofrings, sizeof(*flow->rings), in brcmf_flowring_attach()
374 if (!flow->rings) { in brcmf_flowring_attach()
393 if (flow->rings[flowid]) in brcmf_flowring_detach()
[all …]
/linux-6.15/io_uring/
H A Dregister.c373 struct io_rings *rings; member
511 o.rings = ctx->rings; in io_register_resize_rings()
512 ctx->rings = NULL; in io_register_resize_rings()
520 tail = READ_ONCE(o.rings->sq.tail); in io_register_resize_rings()
538 ctx->rings = o.rings; in io_register_resize_rings()
548 n.rings->cqes[dst_head] = o.rings->cqes[src_head]; in io_register_resize_rings()
555 WRITE_ONCE(n.rings->sq_dropped, READ_ONCE(o.rings->sq_dropped)); in io_register_resize_rings()
556 atomic_set(&n.rings->sq_flags, atomic_read(&o.rings->sq_flags)); in io_register_resize_rings()
557 WRITE_ONCE(n.rings->cq_flags, READ_ONCE(o.rings->cq_flags)); in io_register_resize_rings()
558 WRITE_ONCE(n.rings->cq_overflow, READ_ONCE(o.rings->cq_overflow)); in io_register_resize_rings()
[all …]
H A Dio_uring.c189 return READ_ONCE(ctx->rings->cq.tail) - READ_ONCE(ctx->rings->cq.head); in __io_cqring_events_user()
657 if (ctx->rings) in io_cqring_overflow_kill()
759 struct io_rings *rings = ctx->rings; in io_cqe_cache_refill() local
2254 struct io_rings *rings = ctx->rings; in io_commit_sqring() local
2536 struct io_rings *rings = ctx->rings; in io_cqring_wait() local
2654 return READ_ONCE(rings->cq.head) == READ_ONCE(rings->cq.tail) ? ret : 0; in io_cqring_wait()
2661 ctx->rings = NULL; in io_rings_free()
2668 struct io_rings *rings; in rings_size() local
3078 if (!ctx->rings) in io_uring_try_cancel_requests()
3481 struct io_rings *rings; in io_allocate_scq_urings() local
[all …]
H A Dio_uring.h63 int dist = READ_ONCE(ctx->rings->cq.tail) - (int) iowq->cq_tail; in io_should_wake()
296 smp_store_release(&ctx->rings->cq.tail, ctx->cached_cq_tail); in io_commit_cqring()
325 struct io_rings *r = ctx->rings; in io_sqring_full()
339 struct io_rings *rings = ctx->rings; in io_sqring_entries() local
343 entries = smp_load_acquire(&rings->sq.tail) - ctx->cached_sq_head; in io_sqring_entries()
/linux-6.15/net/9p/
H A Dtrans_xen.c57 struct xen_9pfs_dataring *rings; member
134 ring = &priv->rings[num]; in p9_xen_request()
286 if (!priv->rings[i].intf) in xen_9pfs_front_free()
288 if (priv->rings[i].irq > 0) in xen_9pfs_front_free()
290 if (priv->rings[i].data.in) { in xen_9pfs_front_free()
306 kfree(priv->rings); in xen_9pfs_front_free()
410 priv->rings = kcalloc(XEN_9PFS_NUM_RINGS, sizeof(*priv->rings), in xen_9pfs_front_init()
412 if (!priv->rings) { in xen_9pfs_front_init()
418 priv->rings[i].priv = priv; in xen_9pfs_front_init()
445 priv->rings[i].ref); in xen_9pfs_front_init()
[all …]
/linux-6.15/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-6.15/drivers/i3c/master/mipi-i3c-hci/
H A Ddma.c156 if (!rings) in hci_dma_cleanup()
160 rh = &rings->headers[i]; in hci_dma_cleanup()
189 kfree(rings); in hci_dma_cleanup()
195 struct hci_rings_data *rings; in hci_dma_init() local
211 rings = kzalloc(struct_size(rings, headers, nr_rings), GFP_KERNEL); in hci_dma_init()
212 if (!rings) in hci_dma_init()
214 hci->io_data = rings; in hci_dma_init()
215 rings->total = nr_rings; in hci_dma_init()
227 rh = &rings->headers[i]; in hci_dma_init()
369 rh = &rings->headers[ring]; in hci_dma_queue_xfer()
[all …]
/linux-6.15/Documentation/devicetree/bindings/soc/ti/
H A Dk3-ringacc.yaml56 ti,num-rings:
58 description: Number of rings supported by RA
60 ti,sci-rm-range-gp-rings:
69 - ti,num-rings
70 - ti,sci-rm-range-gp-rings
90 ti,num-rings = <818>;
91 ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */
/linux-6.15/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 …]
H A Dtoeplitz.c104 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()
/linux-6.15/Documentation/mhi/
H A Dmhi.rst58 Transfer rings: Used by the host to schedule work items for a channel. The
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
113 Event rings
119 to the host. Event rings are the array of EDs that resides in the host
128 Below is the basic usage of event rings:
[all …]
/linux-6.15/tools/lib/bpf/
H A Dringbuf.c38 struct ring **rings; member
103 tmp = libbpf_reallocarray(rb->rings, rb->ring_cnt + 1, sizeof(*rb->rings)); in ring_buffer__add()
106 rb->rings = tmp; in ring_buffer__add()
116 rb->rings[rb->ring_cnt] = r; in ring_buffer__add()
181 ringbuf_free_ring(rb, rb->rings[i]); in ring_buffer__free()
186 free(rb->rings); in ring_buffer__free()
294 struct ring *ring = rb->rings[i]; in ring_buffer__consume_n()
319 struct ring *ring = rb->rings[i]; in ring_buffer__consume()
348 struct ring *ring = rb->rings[ring_id]; in ring_buffer__poll()
371 return rb->rings[idx]; in ring_buffer__ring()
/linux-6.15/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_gen4_hw_data.c509 state->rings[i].head = ops->read_csr_ring_head(base, bank, i); in bank_state_save()
510 state->rings[i].tail = ops->read_csr_ring_tail(base, bank, i); in bank_state_save()
511 state->rings[i].config = ops->read_csr_ring_config(base, bank, i); in bank_state_save()
512 state->rings[i].base = ops->read_csr_ring_base(base, bank, i); in bank_state_save()
533 ops->write_csr_ring_base(base, bank, i, state->rings[i].base); in bank_state_restore()
542 ops->write_csr_ring_head(base, bank, tx, state->rings[tx].head); in bank_state_restore()
543 ops->write_csr_ring_tail(base, bank, tx, state->rings[tx].tail); in bank_state_restore()
554 ops->write_csr_ring_head(base, bank, tx, state->rings[tx].head); in bank_state_restore()
557 ops->write_csr_ring_tail(base, bank, rx, state->rings[rx].tail); in bank_state_restore()
562 ops->write_csr_ring_head(base, bank, rx, state->rings[rx].head); in bank_state_restore()
[all …]
/linux-6.15/drivers/soc/ti/
H A Dk3-ringacc.c219 struct k3_ring *rings; member
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()
422 ringacc->rings[fwd_id].use_count++; in k3_dmaring_request_dual_ring()
1409 ringacc->rings = devm_kzalloc(dev, in k3_ringacc_init()
1410 sizeof(*ringacc->rings) * in k3_ringacc_init()
1422 ringacc->rings[i].rt = base_rt + in k3_ringacc_init()
1427 ringacc->rings[i].ring_id = i; in k3_ringacc_init()
1487 ringacc->rings = devm_kzalloc(dev, in k3_ringacc_dmarings_init()
[all …]
/linux-6.15/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()
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) \
393 struct xen_blkif_ring *ring = &blkif->rings[i]; \
[all …]
/linux-6.15/include/linux/
H A Dptr_ring.h621 static inline int ptr_ring_resize_multiple_bh_noprof(struct ptr_ring **rings, in ptr_ring_resize_multiple_bh_noprof() argument
640 spin_lock_bh(&(rings[i])->consumer_lock); in ptr_ring_resize_multiple_bh_noprof()
641 spin_lock(&(rings[i])->producer_lock); in ptr_ring_resize_multiple_bh_noprof()
642 queues[i] = __ptr_ring_swap_queue(rings[i], queues[i], in ptr_ring_resize_multiple_bh_noprof()
644 spin_unlock(&(rings[i])->producer_lock); in ptr_ring_resize_multiple_bh_noprof()
645 spin_unlock_bh(&(rings[i])->consumer_lock); in ptr_ring_resize_multiple_bh_noprof()
/linux-6.15/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
42 UMEM also has two rings: the FILL ring and the COMPLETION ring. The
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
136 one FILL ring, one COMPLETION ring, four TX rings and four RX rings.
138 The rings are head(producer)/tail(consumer) based rings. A producer
149 The size of the rings need to be of size power of two.
264 rings as usual, but you are going to have one or more FILL and
[all …]
/linux-6.15/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()
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()
1331 priv->config.rings = min_t(u32, priv->config.rings, in safexcel_configure()
1601 priv->config.rings + 1, in safexcel_probe_generic()
1602 priv->config.rings + 1, in safexcel_probe_generic()
1617 for (i = 0; i < priv->config.rings; i++) { in safexcel_probe_generic()
[all …]
/linux-6.15/Documentation/devicetree/bindings/soc/qcom/
H A Dqcom,wcnss.yaml75 Should reference the tx-enable and tx-rings-empty SMEM states.
80 - const: tx-rings-empty
131 qcom,smem-state-names = "tx-enable", "tx-rings-empty";
/linux-6.15/drivers/net/ethernet/netronome/nfp/
H A DMakefile24 nfd3/rings.o \
27 nfdk/rings.o \
/linux-6.15/Documentation/gpu/
H A Dmsm-preemption.rst12 When preemption is enabled 4 rings are initialized, corresponding to different
13 priority levels. Having multiple rings is purely a software concept as the GPU
22 This mechanism can be used by the kernel to switch between rings. Whenever a
65 A series of buffers are necessary to store the state of rings while they are not

12345