/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
A D | flowring.c | 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() 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/net/9p/ |
A D | trans_xen.c | 58 struct xen_9pfs_dataring *rings; member 135 ring = &priv->rings[num]; in p9_xen_request() 271 if (!priv->rings[i].intf) in xen_9pfs_front_free() 273 if (priv->rings[i].irq > 0) in xen_9pfs_front_free() 275 if (priv->rings[i].data.in) { in xen_9pfs_front_free() 291 kfree(priv->rings); in xen_9pfs_front_free() 399 priv->rings = kcalloc(priv->num_rings, sizeof(*priv->rings), in xen_9pfs_front_probe() 401 if (!priv->rings) { in xen_9pfs_front_probe() 407 priv->rings[i].priv = priv; in xen_9pfs_front_probe() 433 priv->rings[i].ref); in xen_9pfs_front_probe() [all …]
|
/linux/drivers/i3c/master/mipi-i3c-hci/ |
A D | dma.c | 171 if (!rings) 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(sizeof(*rings) + nr_rings * sizeof(*rh), 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() 239 rh = &rings->headers[i]; in hci_dma_init() 364 rh = &rings->headers[ring]; in hci_dma_queue_xfer() [all …]
|
/linux/tools/lib/bpf/ |
A D | ringbuf.c | 36 struct ring *rings; member 81 tmp = libbpf_reallocarray(rb->rings, rb->ring_cnt + 1, sizeof(*rb->rings)); in ring_buffer__add() 84 rb->rings = tmp; in ring_buffer__add() 91 r = &rb->rings[rb->ring_cnt]; in ring_buffer__add() 151 ringbuf_unmap_ring(rb, &rb->rings[i]); in ring_buffer__free() 156 free(rb->rings); in ring_buffer__free() 259 struct ring *ring = &rb->rings[i]; in ring_buffer__consume() 286 struct ring *ring = &rb->rings[ring_id]; in ring_buffer__poll()
|
/linux/tools/testing/selftests/net/ |
A D | psock_fanout.c | 234 static int sock_fanout_read(int fds[], char *rings[], const int expect[]) in sock_fanout_read() argument 238 ret[0] = sock_fanout_read_ring(fds[0], rings[0]); in sock_fanout_read() 239 ret[1] = sock_fanout_read_ring(fds[1], rings[1]); in sock_fanout_read() 411 char *rings[2]; in test_datapath() local 430 rings[0] = sock_fanout_open_ring(fds[0]); in test_datapath() 431 rings[1] = sock_fanout_open_ring(fds[1]); in test_datapath() 434 sock_fanout_read(fds, rings, expect0); in test_datapath() 439 ret = sock_fanout_read(fds, rings, expect1); in test_datapath() 444 ret |= sock_fanout_read(fds, rings, expect2); in test_datapath() 446 if (munmap(rings[1], RING_NUM_FRAMES * getpagesize()) || in test_datapath() [all …]
|
A D | toeplitz.c | 102 static struct ring_state rings[RSS_MAX_CPUS]; variable 246 recv_block(&rings[i]); in process_rings() 400 rings[i].cpu = i; in setup_rings() 401 rings[i].fd = create_ring(&rings[i].mmap); in setup_rings() 406 set_filter(rings[i].fd); in setup_rings() 414 if (munmap(rings[i].mmap, ring_block_nr * ring_block_sz)) in cleanup_rings() 416 if (close(rings[i].fd)) in cleanup_rings()
|
/linux/Documentation/mhi/ |
A D | mhi.rst | 58 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/Documentation/devicetree/bindings/soc/ti/ |
A D | k3-ringacc.yaml | 49 ti,num-rings: 51 description: Number of rings supported by RA 53 ti,sci-rm-range-gp-rings: 70 - ti,num-rings 71 - ti,sci-rm-range-gp-rings 90 ti,num-rings = <818>; 91 ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */
|
/linux/drivers/soc/ti/ |
A D | k3-ringacc.c | 219 struct k3_ring *rings; member 378 ringacc->rings[id].use_count++; in k3_ringacc_request_ring() 380 return &ringacc->rings[id]; in k3_ringacc_request_ring() 408 *fwd_ring = &ringacc->rings[fwd_id]; in k3_dmaring_request_dual_ring() 411 ringacc->rings[fwd_id].use_count++; in k3_dmaring_request_dual_ring() 1401 ringacc->rings = devm_kzalloc(dev, in k3_ringacc_init() 1402 sizeof(*ringacc->rings) * in k3_ringacc_init() 1416 ringacc->rings[i].rt = base_rt + in k3_ringacc_init() 1421 ringacc->rings[i].ring_id = i; in k3_ringacc_init() 1482 ringacc->rings = devm_kzalloc(dev, in k3_ringacc_dmarings_init() [all …]
|
/linux/drivers/crypto/qat/qat_common/ |
A D | adf_transport.c | 258 ring = &bank->rings[ring_num]; in adf_create_ring() 327 adf_handle_response(&bank->rings[i]); in adf_ring_response_handler() 395 bank->rings = kzalloc_node(size, GFP_KERNEL, in adf_init_bank() 397 if (!bank->rings) in adf_init_bank() 414 ring = &bank->rings[i]; in adf_init_bank() 428 tx_ring = &bank->rings[i - hw_data->tx_rx_gap]; in adf_init_bank() 445 ring = &bank->rings[i]; in adf_init_bank() 449 kfree(bank->rings); in adf_init_bank() 521 struct adf_etr_ring_data *ring = &bank->rings[i]; in cleanup_bank() 529 kfree(bank->rings); in cleanup_bank() [all …]
|
/linux/Documentation/networking/ |
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 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. 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 309 rings, and they are single producer, single consumer rings, you need [all …]
|
/linux/drivers/block/xen-blkback/ |
A D | xenbus.c | 83 if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev) in xen_update_blkif_status() 109 ring = &blkif->rings[i]; in xen_update_blkif_status() 123 ring = &blkif->rings[i]; in xen_update_blkif_status() 135 if (!blkif->rings) in xen_blkif_alloc_rings() 139 struct xen_blkif_ring *ring = &blkif->rings[r]; in xen_blkif_alloc_rings() 268 struct xen_blkif_ring *ring = &blkif->rings[r]; in xen_blkif_disconnect() 332 kfree(blkif->rings); in xen_blkif_disconnect() 333 blkif->rings = NULL; in xen_blkif_disconnect() 383 if (!blkif->rings) \ 387 struct xen_blkif_ring *ring = &blkif->rings[i]; \ [all …]
|
/linux/drivers/crypto/inside-secure/ |
A D | safexcel.c | 51 for (i = 0; i < priv->config.rings; i++) { in eip197_trc_cache_setupvirt() 502 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_setup_cdesc_rings() 550 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_setup_rdesc_rings() 592 priv->config.pes, priv->config.rings); in safexcel_hw_init() 712 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_init() 738 for (i = 0; i < priv->config.rings; i++) { in safexcel_hw_init() 1338 priv->config.rings = min_t(u32, priv->config.rings, in safexcel_configure() 1608 priv->config.rings + 1, in safexcel_probe_generic() 1609 priv->config.rings + 1, in safexcel_probe_generic() 1624 for (i = 0; i < priv->config.rings; i++) { in safexcel_probe_generic() [all …]
|
/linux/include/linux/ |
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()
|
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()
|
/linux/Documentation/devicetree/bindings/soc/qcom/ |
A D | qcom,wcnss.txt | 74 Definition: should reference the tx-enable and tx-rings-empty SMEM states 79 Definition: must contain "tx-enable" and "tx-rings-empty" 118 qcom,smem-state-names = "tx-enable", "tx-rings-empty";
|
/linux/Documentation/networking/device_drivers/ethernet/google/ |
A D | gve.rst | 116 The descriptor rings are power-of-two-sized ring buffers consisting of 127 gve maps the buffers for transmit rings into a FIFO and copies the packets 132 The buffers for receive rings are put into a data ring that is the same 134 the rings together.
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
A D | amdgpu_ring.c | 193 adev->rings[ring->idx] = ring; in amdgpu_ring_init() 287 if (!(ring->adev) || !(ring->adev->rings[ring->idx])) in amdgpu_ring_fini() 306 ring->adev->rings[ring->idx] = NULL; in amdgpu_ring_fini()
|
A D | amdgpu_fence.c | 545 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_hw_fini() 572 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_sw_fini() 605 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_fence_driver_hw_init() 781 struct amdgpu_ring *ring = adev->rings[i]; in amdgpu_debugfs_fence_info_show()
|
/linux/drivers/net/ |
A D | tap.c | 1278 struct ptr_ring **rings; in tap_queue_resize() local 1282 rings = kmalloc_array(n, sizeof(*rings), GFP_KERNEL); in tap_queue_resize() 1283 if (!rings) in tap_queue_resize() 1287 rings[i++] = &q->ring; in tap_queue_resize() 1289 ret = ptr_ring_resize_multiple(rings, n, in tap_queue_resize() 1293 kfree(rings); in tap_queue_resize()
|
/linux/net/ethtool/ |
A D | built-in.a | 15 rings.o/
|
A D | Makefile | 8 linkstate.o debug.o wol.o features.o privflags.o rings.o \
|
/linux/drivers/net/ethernet/broadcom/ |
A D | bcm4908_enet.c | 236 struct bcm4908_enet_dma_ring *rings[] = { &enet->rx_ring, &enet->tx_ring }; in bcm4908_enet_dma_reset() local 240 for (i = 0; i < ARRAY_SIZE(rings); i++) in bcm4908_enet_dma_reset() 241 enet_write(enet, rings[i]->cfg_block + ENET_DMA_CH_CFG, 0); in bcm4908_enet_dma_reset() 245 for (i = 0; i < ARRAY_SIZE(rings); i++) { in bcm4908_enet_dma_reset() 246 struct bcm4908_enet_dma_ring *ring = rings[i]; in bcm4908_enet_dma_reset()
|
/linux/drivers/mailbox/ |
A D | bcm-flexrm-mailbox.c | 295 struct flexrm_ring *rings; member 941 ring = &mbox->rings[i]; in flexrm_write_config_in_seqfile() 969 ring = &mbox->rings[i]; in flexrm_write_stats_in_seqfile() 1487 struct flexrm_ring *ring = &mbox->rings[desc->platform.msi_index]; in flexrm_mbox_msi_write() 1547 mbox->rings = ring; in flexrm_mbox_probe() 1552 ring = &mbox->rings[index]; in flexrm_mbox_probe() 1612 ring = &mbox->rings[desc->platform.msi_index]; in flexrm_mbox_probe() 1647 mbox->controller.chans[index].con_priv = &mbox->rings[index]; in flexrm_mbox_probe()
|
/linux/fs/ |
A D | io_uring.c | 1684 struct io_rings *rings = ctx->rings; in io_get_cqe() local 2460 struct io_rings *rings = ctx->rings; in io_sqring_entries() local 7301 struct io_rings *rings = ctx->rings; in io_commit_sqring() local 7641 struct io_rings *rings = ctx->rings; in io_cqring_wait() local 9357 if (ctx->rings) in io_ring_ctx_free() 9571 if (ctx->rings) in io_ring_ctx_wait_and_kill() 9911 ptr = ctx->rings; in io_uring_validate_mmap_request() 10305 if (!rings) in io_allocate_scq_urings() 10308 ctx->rings = rings; in io_allocate_scq_urings() 10318 ctx->rings = NULL; in io_allocate_scq_urings() [all …]
|