Home
last modified time | relevance | path

Searched +full:fifo +full:- +full:size (Results 1 – 25 of 1029) sorted by relevance

12345678910>>...42

/Linux-v6.1/lib/
Dkfifo.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * A generic kernel FIFO implementation
17 * internal helper to calculate the unused elements in a fifo
19 static inline unsigned int kfifo_unused(struct __kfifo *fifo) in kfifo_unused() argument
21 return (fifo->mask + 1) - (fifo->in - fifo->out); in kfifo_unused()
24 int __kfifo_alloc(struct __kfifo *fifo, unsigned int size, in __kfifo_alloc() argument
31 size = roundup_pow_of_two(size); in __kfifo_alloc()
33 fifo->in = 0; in __kfifo_alloc()
34 fifo->out = 0; in __kfifo_alloc()
35 fifo->esize = esize; in __kfifo_alloc()
[all …]
/Linux-v6.1/include/linux/
Dkfifo.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * A generic kernel FIFO implementation
12 * How to porting drivers to the new generic FIFO API:
14 * - Modify the declaration of the "struct kfifo *" object into a
15 * in-place "struct kfifo" object
16 * - Init the in-place object with kfifo_alloc() or kfifo_init()
17 * Note: The address of the in-place "struct kfifo" object must be
19 * - Replace the use of __kfifo_put into kfifo_in and __kfifo_get
21 * - Replace the use of kfifo_put into kfifo_in_spinlocked and kfifo_get
26 * - The formerly __kfifo_* functions are renamed into kfifo_*
[all …]
Dpxa2xx_ssp.h1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * This driver supports the following PXA CPU/SSP ports:-
49 #define SSCR0_DSS GENMASK(3, 0) /* Data Size Select (mask) */
50 #define SSCR0_DataSize(x) ((x) - 1) /* Data Size Select [4..16] */
60 #define SSCR0_EDSS BIT(20) /* Extended data size select */
62 #define SSCR0_RIM BIT(22) /* Receive FIFO overrun interrupt mask */
63 #define SSCR0_TUM BIT(23) /* Transmit FIFO underrun interrupt mask */
65 #define SSCR0_SlotsPerFrm(x) (((x) - 1) << 24) /* Time slots per frame [1..8] */
66 #define SSCR0_FPCKE BIT(29) /* FIFO packing enable */
70 #define SSCR1_RIE BIT(0) /* Receive FIFO Interrupt Enable */
[all …]
/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
Dbase.c37 nvkm_fifo_recover_chan(struct nvkm_fifo *fifo, int chid) in nvkm_fifo_recover_chan() argument
40 if (WARN_ON(!fifo->func->recover_chan)) in nvkm_fifo_recover_chan()
42 spin_lock_irqsave(&fifo->lock, flags); in nvkm_fifo_recover_chan()
43 fifo->func->recover_chan(fifo, chid); in nvkm_fifo_recover_chan()
44 spin_unlock_irqrestore(&fifo->lock, flags); in nvkm_fifo_recover_chan()
48 nvkm_fifo_pause(struct nvkm_fifo *fifo, unsigned long *flags) in nvkm_fifo_pause() argument
50 return fifo->func->pause(fifo, flags); in nvkm_fifo_pause()
54 nvkm_fifo_start(struct nvkm_fifo *fifo, unsigned long *flags) in nvkm_fifo_start() argument
56 return fifo->func->start(fifo, flags); in nvkm_fifo_start()
60 nvkm_fifo_fault(struct nvkm_fifo *fifo, struct nvkm_fault_data *info) in nvkm_fifo_fault() argument
[all …]
Dchan.c41 int engi = chan->fifo->func->engine_id(chan->fifo, engine); in nvkm_fifo_chan_engn()
43 return &chan->engn[engi]; in nvkm_fifo_chan_engn()
52 struct nvkm_engine *engine = object->oproxy.object->engine; in nvkm_fifo_chan_child_fini()
53 struct nvkm_fifo_chan *chan = object->chan; in nvkm_fifo_chan_child_fini()
55 const char *name = engine->subdev.name; in nvkm_fifo_chan_child_fini()
58 if (--engn->usecount) in nvkm_fifo_chan_child_fini()
61 if (chan->func->engine_fini) { in nvkm_fifo_chan_child_fini()
62 ret = chan->func->engine_fini(chan, engine, suspend); in nvkm_fifo_chan_child_fini()
64 nvif_error(&chan->object, in nvkm_fifo_chan_child_fini()
70 if (engn->object) { in nvkm_fifo_chan_child_fini()
[all …]
Ddmanv04.c39 struct nvkm_instmem *imem = chan->fifo->base.engine.subdev.device->imem; in nv04_fifo_dma_object_dtor()
41 mutex_lock(&chan->fifo->base.mutex); in nv04_fifo_dma_object_dtor()
42 nvkm_ramht_remove(imem->ramht, cookie); in nv04_fifo_dma_object_dtor()
43 mutex_unlock(&chan->fifo->base.mutex); in nv04_fifo_dma_object_dtor()
51 struct nvkm_instmem *imem = chan->fifo->base.engine.subdev.device->imem; in nv04_fifo_dma_object_ctor()
52 u32 context = 0x80000000 | chan->base.chid << 24; in nv04_fifo_dma_object_ctor()
53 u32 handle = object->handle; in nv04_fifo_dma_object_ctor()
56 switch (object->engine->subdev.type) { in nv04_fifo_dma_object_ctor()
63 return -EINVAL; in nv04_fifo_dma_object_ctor()
66 mutex_lock(&chan->fifo->base.mutex); in nv04_fifo_dma_object_ctor()
[all …]
Dgpfifogf100.c41 *pevent = &chan->fifo->uevent; in gf100_fifo_chan_ntfy()
44 *pevent = &chan->fifo->kevent; in gf100_fifo_chan_ntfy()
49 return -EINVAL; in gf100_fifo_chan_ntfy()
55 switch (engine->subdev.type) { in gf100_fifo_gpfifo_engine_addr()
58 case NVKM_ENGINE_CE : return 0x0230 + (engine->subdev.inst * 0x10); in gf100_fifo_gpfifo_engine_addr()
71 int engi = chan->base.fifo->func->engine_id(chan->base.fifo, engine); in gf100_fifo_gpfifo_engine()
73 return &chan->engn[engi]; in gf100_fifo_gpfifo_engine()
83 struct nvkm_subdev *subdev = &chan->fifo->base.engine.subdev; in gf100_fifo_gpfifo_engine_fini()
84 struct nvkm_device *device = subdev->device; in gf100_fifo_gpfifo_engine_fini()
85 struct nvkm_gpuobj *inst = chan->base.inst; in gf100_fifo_gpfifo_engine_fini()
[all …]
/Linux-v6.1/drivers/platform/mellanox/
Dmlxbf-tmfifo.c1 // SPDX-License-Identifier: GPL-2.0+
24 #include "mlxbf-tmfifo-regs.h"
26 /* Vring size. */
29 /* Console Tx buffer size. */
35 /* House-keeping timer interval. */
38 /* Virtual devices sharing the TM FIFO. */
53 * mlxbf_tmfifo_vring - Structure of the TmFifo virtual ring
63 * @num: vring size (number of descriptors)
64 * @align: vring alignment size
67 * @fifo: pointer to the tmfifo structure
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/powerpc/fsl/
Dmpc5121-psc.txt4 ----------------
7 are specified by fsl,mpc5121-psc-uart nodes in the
8 fsl,mpc5121-immr SoC node. Additionally the PSC FIFO
9 Controller node fsl,mpc5121-psc-fifo is required there:
11 fsl,mpc512x-psc-uart nodes
12 --------------------------
15 - compatible : Should contain "fsl,<soc>-psc-uart" and "fsl,<soc>-psc"
17 - reg : Offset and length of the register set for the PSC device
18 - interrupts : <a b> where a is the interrupt number of the
19 PSC FIFO Controller and b is a field that represents an
[all …]
/Linux-v6.1/drivers/md/bcache/
Dutil.h1 /* SPDX-License-Identifier: GPL-2.0 */
36 size_t size, used; \
43 (heap)->used = 0; \
44 (heap)->size = (_size); \
45 _bytes = (heap)->size * sizeof(*(heap)->data); \
46 (heap)->data = kvmalloc(_bytes, (gfp) & GFP_KERNEL); \
47 (heap)->data; \
52 kvfree((heap)->data); \
53 (heap)->data = NULL; \
56 #define heap_swap(h, i, j) swap((h)->data[i], (h)->data[j])
[all …]
/Linux-v6.1/sound/soc/meson/
Daiu-fifo.c1 // SPDX-License-Identifier: GPL-2.0
8 #include <linux/dma-mapping.h>
11 #include <sound/soc-dai.h>
13 #include "aiu-fifo.h"
28 struct snd_soc_pcm_runtime *rtd = ss->private_data; in aiu_fifo_dai()
37 struct aiu_fifo *fifo = dai->playback_dma_data; in aiu_fifo_pointer() local
38 struct snd_pcm_runtime *runtime = substream->runtime; in aiu_fifo_pointer()
41 addr = snd_soc_component_read(component, fifo->mem_offset + AIU_MEM_RD); in aiu_fifo_pointer()
43 return bytes_to_frames(runtime, addr - (unsigned int)runtime->dma_addr); in aiu_fifo_pointer()
48 struct snd_soc_component *component = dai->component; in aiu_fifo_enable()
[all …]
Daxg-fifo.c1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
14 #include <sound/soc-dai.h>
16 #include "axg-fifo.h"
20 * capture frontend DAI. The logic behind this two types of fifo is very
48 struct snd_soc_pcm_runtime *rtd = ss->private_data; in axg_fifo_dai()
64 return dai->dev; in axg_fifo_dev()
67 static void __dma_enable(struct axg_fifo *fifo, bool enable) in __dma_enable() argument
69 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_DMA_EN, in __dma_enable()
76 struct axg_fifo *fifo = axg_fifo_data(ss); in axg_fifo_pcm_trigger() local
82 __dma_enable(fifo, true); in axg_fifo_pcm_trigger()
[all …]
/Linux-v6.1/drivers/net/ethernet/intel/fm10k/
Dfm10k_mbx.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2013 - 2019 Intel Corporation. */
7 * fm10k_fifo_init - Initialize a message FIFO
8 * @fifo: pointer to FIFO
9 * @buffer: pointer to memory to be used to store FIFO
10 * @size: maximum message size to store in FIFO, must be 2^n - 1
12 static void fm10k_fifo_init(struct fm10k_mbx_fifo *fifo, u32 *buffer, u16 size) in fm10k_fifo_init() argument
14 fifo->buffer = buffer; in fm10k_fifo_init()
15 fifo->size = size; in fm10k_fifo_init()
16 fifo->head = 0; in fm10k_fifo_init()
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/net/
Dibm,emac.txt8 correct clock-frequency property.
13 - device_type : "network"
15 - compatible : compatible list, contains 2 entries, first is
16 "ibm,emac-CHIP" where CHIP is the host ASIC (440gx,
18 "ibm,emac4". For Axon, thus, we have: "ibm,emac-axon",
20 - interrupts : <interrupt mapping for EMAC IRQ and WOL IRQ>
21 - reg : <registers mapping>
22 - local-mac-address : 6 bytes, MAC address
23 - mal-device : phandle of the associated McMAL node
24 - mal-tx-channel : 1 cell, index of the tx channel on McMAL associated
[all …]
/Linux-v6.1/arch/powerpc/boot/dts/
Dmpc5121.dtsi1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright 2007-2008 Freescale Semiconductor Inc.
8 #include <dt-bindings/clock/mpc512x-clock.h>
10 /dts-v1/;
15 #address-cells = <1>;
16 #size-cells = <1>;
17 interrupt-parent = <&ipic>;
25 #address-cells = <1>;
26 #size-cells = <0>;
31 d-cache-line-size = <0x20>; /* 32 bytes */
[all …]
Deiger.dts11 /dts-v1/;
14 #address-cells = <2>;
15 #size-cells = <1>;
18 dcr-parent = <&{/cpus/cpu@0}>;
30 #address-cells = <1>;
31 #size-cells = <0>;
37 clock-frequency = <0>; /* Filled in by U-Boot */
38 timebase-frequency = <0>; /* Filled in by U-Boot */
39 i-cache-line-size = <32>;
40 d-cache-line-size = <32>;
[all …]
/Linux-v6.1/drivers/net/wireless/realtek/rtw88/
Dmac.c1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2 /* Copyright(c) 2018-2019 Realtek Corporation
83 return -EINVAL; in rtw_mac_pre_system_cfg()
132 if (cmd->base == RTW_PWR_ADDR_SDIO) in rtw_pwr_cmd_polling()
133 offset = cmd->offset | SDIO_LOCAL_OFFSET; in rtw_pwr_cmd_polling()
135 offset = cmd->offset; in rtw_pwr_cmd_polling()
137 if (do_pwr_poll_cmd(rtwdev, offset, cmd->mask, cmd->value)) in rtw_pwr_cmd_polling()
145 if (rtwdev->chip->id == RTW_CHIP_TYPE_8723D) in rtw_pwr_cmd_polling()
149 if (rtwdev->chip->id == RTW_CHIP_TYPE_8723D) in rtw_pwr_cmd_polling()
152 if (do_pwr_poll_cmd(rtwdev, offset, cmd->mask, cmd->value)) in rtw_pwr_cmd_polling()
[all …]
/Linux-v6.1/drivers/gpu/drm/msm/
Dmsm_rd.c1 // SPDX-License-Identifier: GPL-2.0-only
9 * tail -f /sys/kernel/debug/dri/<minor>/rd > logfile.rd
18 * tail -f /sys/kernel/debug/dri/<minor>/hangrd > logfile.rd
26 * The module-param "rd_full", which defaults to false, enables snapshotting
27 * all (non-written) buffers in the submit, rather than just cmdstream bo's.
54 RD_GPUADDR, /* u32 gpuaddr, u32 size */
72 (CIRC_CNT((circ)->head, (circ)->tail, BUF_SZ))
74 (CIRC_CNT_TO_END((circ)->head, (circ)->tail, BUF_SZ))
77 (CIRC_SPACE((circ)->head, (circ)->tail, BUF_SZ))
79 (CIRC_SPACE_TO_END((circ)->head, (circ)->tail, BUF_SZ))
[all …]
/Linux-v6.1/drivers/net/wireless/broadcom/brcm80211/brcmsmac/
Dampdu.c31 /* max Tx ba window size (in pdu) */
33 /* default Tx ba window size (in pdu) */
35 /* default Rx ba window size (in pdu) */
37 /* max Rx ba window size (in pdu) */
52 #define NUM_FFPLD_FIFO 4 /* number of fifo concerned by pre-loading */
56 #define FFPLD_MPDU_SIZE 1800 /* estimate of maximum mpdu size */
76 #define MODADD_POW2(x, y, bound) (((x) + (y)) & ((bound) - 1))
77 #define MODSUB_POW2(x, y, bound) (((x) - (y)) & ((bound) - 1))
79 /* structure to hold tx fifo information and pre-loading state
85 * ampdu_pld_size: number of bytes to be pre-loaded
[all …]
/Linux-v6.1/samples/kfifo/
Ddma-example.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Sample fifo dma implementation
13 * This module shows how to handle fifo dma operations.
16 /* fifo size in elements (bytes) */
19 static struct kfifo fifo; variable
28 printk(KERN_INFO "DMA fifo test start\n"); in example_init()
30 if (kfifo_alloc(&fifo, FIFO_SIZE, GFP_KERNEL)) { in example_init()
32 return -ENOMEM; in example_init()
35 printk(KERN_INFO "queue size: %u\n", kfifo_size(&fifo)); in example_init()
37 kfifo_in(&fifo, "test", 4); in example_init()
[all …]
/Linux-v6.1/drivers/rpmsg/
Dqcom_glink_smem.c1 // SPDX-License-Identifier: GPL-2.0
30 #define TX_BLOCKED_CMD_RESERVE 8 /* size of struct read_notif_request */
42 void *fifo; member
53 void *fifo; in glink_smem_rx_avail() local
57 if (!pipe->fifo) { in glink_smem_rx_avail()
58 fifo = qcom_smem_get(pipe->remote_pid, in glink_smem_rx_avail()
60 if (IS_ERR(fifo)) { in glink_smem_rx_avail()
61 pr_err("failed to acquire RX fifo handle: %ld\n", in glink_smem_rx_avail()
62 PTR_ERR(fifo)); in glink_smem_rx_avail()
66 pipe->fifo = fifo; in glink_smem_rx_avail()
[all …]
/Linux-v6.1/drivers/char/xilinx_hwicap/
Dfifo_icap.c24 * (c) Copyright 2007-2008 Xilinx Inc.
39 #define XHI_WF_OFFSET 0x100 /* Write FIFO */
40 #define XHI_RF_OFFSET 0x104 /* Read FIFO */
41 #define XHI_SZ_OFFSET 0x108 /* Size Register */
44 #define XHI_WFV_OFFSET 0x114 /* Write FIFO Vacancy Register */
45 #define XHI_RFO_OFFSET 0x118 /* Read FIFO Occupancy Register */
66 #define XHI_IPIXR_RFULL_MASK 0x00000008 /* Read FIFO Full */
67 #define XHI_IPIXR_WEMPTY_MASK 0x00000004 /* Write FIFO Empty */
68 #define XHI_IPIXR_RDP_MASK 0x00000002 /* Read FIFO half full */
69 #define XHI_IPIXR_WRP_MASK 0x00000001 /* Write FIFO half full */
[all …]
/Linux-v6.1/drivers/iio/imu/inv_icm42600/
Dinv_icm42600_buffer.c1 // SPDX-License-Identifier: GPL-2.0-or-later
19 /* FIFO header: 1 byte */
51 /* FIFO empty */ in inv_icm42600_fifo_decode_packet()
71 *accel = &pack2->accel; in inv_icm42600_fifo_decode_packet()
72 *gyro = &pack2->gyro; in inv_icm42600_fifo_decode_packet()
73 *temp = &pack2->temp; in inv_icm42600_fifo_decode_packet()
74 *timestamp = &pack2->timestamp; in inv_icm42600_fifo_decode_packet()
80 *accel = &pack1->data; in inv_icm42600_fifo_decode_packet()
82 *temp = &pack1->temp; in inv_icm42600_fifo_decode_packet()
90 *gyro = &pack1->data; in inv_icm42600_fifo_decode_packet()
[all …]
/Linux-v6.1/drivers/net/ethernet/google/gve/
Dgve_tx.c1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
4 * Copyright (C) 2015-2021 Google, Inc.
19 iowrite32be(val, &priv->db_bar2[be32_to_cpu(q_resources->db_index)]); in gve_tx_put_doorbell()
26 * gve_tx_fifo_* manages the Registered Segment as a FIFO - clients must
30 static int gve_tx_fifo_init(struct gve_priv *priv, struct gve_tx_fifo *fifo) in gve_tx_fifo_init() argument
32 fifo->base = vmap(fifo->qpl->pages, fifo->qpl->num_entries, VM_MAP, in gve_tx_fifo_init()
34 if (unlikely(!fifo->base)) { in gve_tx_fifo_init()
35 netif_err(priv, drv, priv->dev, "Failed to vmap fifo, qpl_id = %d\n", in gve_tx_fifo_init()
36 fifo->qpl->id); in gve_tx_fifo_init()
37 return -ENOMEM; in gve_tx_fifo_init()
[all …]
/Linux-v6.1/tools/testing/selftests/tc-testing/tc-tests/qdiscs/
Dfifo.json5 …"__comment": "When omitted, queue size in bfifo is calculated as: txqueuelen * (MTU + LinkLayerHdr…
8 "fifo"
16 "matchPattern": "qdisc bfifo 1: root.*limit [0-9]+b",
26 …"__comment": "When omitted, queue size in pfifo is defaulted to the interface's txqueuelen value.",
29 "fifo"
37 "matchPattern": "qdisc pfifo 1: root.*limit [0-9]+p",
49 "fifo"
57 "matchPattern": "qdisc bfifo ffff: root.*limit [0-9]+b",
66 "name": "Add bfifo qdisc on egress with queue size of 3000 bytes",
69 "fifo"
[all …]

12345678910>>...42