Home
last modified time | relevance | path

Searched +full:playback +full:- +full:dma (Results 1 – 25 of 316) sorted by relevance

12345678910>>...13

/linux-6.14.4/Documentation/sound/designs/
Dtimestamping.rst7 - Trigger_tstamp is the system time snapshot taken when the .trigger
11 estimate with a delay. In the latter two cases, the low-level driver
17 - tstamp is the current system timestamp updated during the last
19 The difference (tstamp - trigger_tstamp) defines the elapsed time.
29 - ``avail`` reports how much can be written in the ring buffer
30 - ``delay`` reports the time it will take to hear a new sample after all
43 ascii-art, this could be represented as follows (for the playback
47 --------------------------------------------------------------> time
50 analog link dma app FullBuffer
53 |< codec delay >|<--hw delay-->|<queued samples>|<---avail->|
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/sound/
Dfsl,ssi.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Shengjiu Wang <[email protected]>
13 Notes on fsl,playback-dma and fsl,capture-dma
14 On SOCs that have an SSI, specific DMA channels are hard-wired for playback
15 and capture. On the MPC8610, for example, SSI1 must use DMA channel 0 for
16 playback and DMA channel 1 for capture. SSI2 must use DMA channel 2 for
17 playback and DMA channel 3 for capture. The developer can choose which
18 DMA controller to use, but the channels themselves are hard-wired. The
[all …]
Dsamsung-i2s.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/sound/samsung-i2s.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Krzysztof Kozlowski <[email protected]>
11 - Sylwester Nawrocki <[email protected]>
14 - $ref: dai-common.yaml#
19 samsung,s3c6410-i2s: for 8/16/24bit stereo I2S.
21 samsung,s5pv210-i2s: for 8/16/24bit multichannel (5.1) I2S with
25 samsung,exynos5420-i2s: for 8/16/24bit multichannel (5.1) I2S for
[all …]
Drenesas,rsnd.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Renesas R-Car Sound Driver
10 - Kuninori Morimoto <[email protected]>
17 - items:
18 - enum:
19 - renesas,rcar_sound-r8a7778 # R-Car M1A
20 - renesas,rcar_sound-r8a7779 # R-Car H1
21 - const: renesas,rcar_sound-gen1
[all …]
Drockchip-i2s.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/sound/rockchip-i2s.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 The I2S bus (Inter-IC sound bus) is a serial link for digital
14 - Heiko Stuebner <[email protected]>
17 - $ref: dai-common.yaml#
22 - const: rockchip,rk3066-i2s
23 - items:
24 - enum:
[all …]
/linux-6.14.4/sound/soc/amd/
Dacp.h1 /* SPDX-License-Identifier: GPL-2.0 */
13 /* Playback and Capture Offset for Stoney */
26 * playback and SRAM Bank 2 for capture where as in case of BT I2S
27 * Instance, Stoney uses SRAM Bank 3 for playback & SRAM Bank 4 will
29 * 1, 2, 3, 4 will be used for playback & SRAM Banks 5, 6, 7, 8 will be used
73 /* Playback DMA channels */
77 /* Capture DMA channels */
81 /* Playback DMA Channels for I2S BT instance */
85 /* Capture DMA Channels for I2S BT Instance */
89 /* Playback DMA channels for I2S MICSP instance */
[all …]
/linux-6.14.4/sound/soc/fsl/
Dmpc5200_dma.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // Freescale MPC5200 PSC DMA
10 #include <linux/dma-mapping.h>
33 struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; in psc_dma_status_irq()
36 isr = in_be16(&regs->mpc52xx_psc_isr); in psc_dma_status_irq()
38 /* Playback underrun error */ in psc_dma_status_irq()
39 if (psc_dma->playback.active && (isr & MPC52xx_PSC_IMR_TXEMP)) in psc_dma_status_irq()
40 psc_dma->stats.underrun_count++; in psc_dma_status_irq()
43 if (psc_dma->capture.active && (isr & MPC52xx_PSC_IMR_ORERR)) in psc_dma_status_irq()
44 psc_dma->stats.overrun_count++; in psc_dma_status_irq()
[all …]
Dmpc5200_dma.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Freescale MPC5200 Audio DMA driver
12 * psc_ac97_stream - Data specific to a single stream (playback or capture)
17 * @period_end: physical address of end of DMA region
18 * @period_next_pt: physical address of next DMA buffer to enqueue
19 * @period_bytes: size of DMA period in bytes
39 * psc_dma - Private driver data
48 * @playback: Playback stream context data
65 /* per-stream data */
66 struct psc_dma_stream playback; member
[all …]
Dp1022_rdk.c1 // SPDX-License-Identifier: GPL-2.0
10 // to be enabled, because they control the clock. So for playback, for
28 /* P1022-specific PMUXCR and DMUXCR bit definitions */
37 #define CCSR_GUTS_DMUXCR_PAD 1 /* DMA controller/channel set to pad */
38 #define CCSR_GUTS_DMUXCR_SSI 2 /* DMA controller/channel set to SSI */
44 * channel on each DMA controller. Rather than have a bunch of repetitive
49 * co: The DMA controller (0 or 1)
50 * ch: The channel on the DMA controller (0, 1, 2, or 3)
56 unsigned int shift = 16 + (8 * (1 - co) + 2 * (3 - ch)); in guts_set_dmuxcr()
58 clrsetbits_be32(&guts->dmuxcr, 3 << shift, device << shift); in guts_set_dmuxcr()
[all …]
Dp1022_ds.c1 // SPDX-License-Identifier: GPL-2.0
21 /* P1022-specific PMUXCR and DMUXCR bit definitions */
30 #define CCSR_GUTS_DMUXCR_PAD 1 /* DMA controller/channel set to pad */
31 #define CCSR_GUTS_DMUXCR_SSI 2 /* DMA controller/channel set to SSI */
37 * channel on each DMA controller. Rather than have a bunch of repetitive
42 * co: The DMA controller (0 or 1)
43 * ch: The channel on the DMA controller (0, 1, 2, or 3)
49 unsigned int shift = 16 + (8 * (1 - co) + 2 * (3 - ch)); in guts_set_dmuxcr()
51 clrsetbits_be32(&guts->dmuxcr, 3 << shift, device << shift); in guts_set_dmuxcr()
58 * machine_data: machine-specific ASoC device data
[all …]
Dfsl_dma.c1 // SPDX-License-Identifier: GPL-2.0
3 // Freescale DMA ALSA SoC PCM driver
7 // Copyright 2007-2010 Freescale Semiconductor, Inc.
9 // This driver implements ASoC support for the Elo DMA controller, which is
10 // the DMA controller on Freescale 83xx, 85xx, and 86xx SOCs. In ALSA terms,
11 // the PCM driver is what handles the DMA buffer.
16 #include <linux/dma-mapping.h>
39 * The formats that the DMA controller supports, which is anything
67 * The number of DMA links to use. Two is the bare minimum, but if you
72 /** fsl_dma_private: p-substream DMA data
[all …]
/linux-6.14.4/sound/soc/renesas/
Drz-ssi.c1 // SPDX-License-Identifier: GPL-2.0
3 // Renesas RZ/G2L ASoC Serial Sound Interface (SSIF-2) Driver
75 #define SSI_RATES SNDRV_PCM_RATE_8000_48000 /* 8k-48kHz */
87 int dma_buffer_pos; /* The address for the next DMA descriptor */
117 * The SSI supports full-duplex transmission and reception.
120 * So it is better to use as half-duplex (playing and recording
123 struct rz_ssi_stream playback; member
148 writel(data, (priv->base + reg)); in rz_ssi_reg_writel()
153 return readl(priv->base + reg); in rz_ssi_reg_readl()
161 val = readl(priv->base + reg); in rz_ssi_reg_mask_setl()
[all …]
Dsiu_pcm.c1 // SPDX-License-Identifier: GPL-2.0+
3 // siu_pcm.c - ALSA driver for Renesas SH7343, SH7722 SIU peripheral.
5 // Copyright (C) 2009-2010 Guennadi Liakhovetski <[email protected]>
9 #include <linux/dma-mapping.h>
25 #define DRV_NAME "siu-i2s"
36 /* transfersize is number of u32 dma transfers per period */
40 u32 __iomem *base = info->reg; in siu_pcm_stmwrite_stop()
41 struct siu_stream *siu_stream = &port_info->playback; in siu_pcm_stmwrite_stop()
44 if (!siu_stream->rw_flg) in siu_pcm_stmwrite_stop()
45 return -EPERM; in siu_pcm_stmwrite_stop()
[all …]
/linux-6.14.4/sound/pci/emu10k1/
Dp16v.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Copyright (c) by James Courtier-Dutton <[email protected]>
11 /* Audigy2 P16V pointer-offset register set, accessed through the PTR2 and DATA2 registers …
19 #define PLAYBACK_LIST_ADDR 0x00 /* Base DMA address of a list of pointers to each period/size */
20 /* One list entry: 4 bytes for DMA address,
25 #define PLAYBACK_LIST_SIZE 0x01 /* Size of list in bytes << 16. E.g. 8 periods -> 0x00380000 */
28 #define PLAYBACK_DMA_ADDR 0x04 /* Playback DMA address */
29 #define PLAYBACK_PERIOD_SIZE 0x05 /* Playback period size. win2000 uses 0x04000000 */
30 #define PLAYBACK_POINTER 0x06 /* Playback period pointer. Used with PLAYBACK_LIST_PTR to determine…
31 #define PLAYBACK_FIFO_END_ADDRESS 0x07 /* Playback FIFO end address */
[all …]
/linux-6.14.4/sound/soc/ti/
Ddavinci-i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
9 * based on davinci-mcasp.c DT support
12 * on DA850 implement HW FIFOs instead of DMA into DXR and DRR registers
30 #include "edma-pcm.h"
31 #include "davinci-i2s.h"
33 #define DRV_NAME "davinci-i2s"
38 * - This driver supports the "Audio Serial Port" (ASP),
41 * - But it labels it a "Multi-channel Buffered Serial Port"
43 * backward-compatible, possibly explaining that confusion.
45 * - OMAP chips have a controller called McBSP, which is
[all …]
/linux-6.14.4/sound/ppc/
Dpmac.c1 // SPDX-License-Identifier: GPL-2.0-or-later
17 #include <linux/dma-mapping.h>
54 rec->space = dma_alloc_coherent(&chip->pdev->dev, rsize, in snd_pmac_dbdma_alloc()
55 &rec->dma_base, GFP_KERNEL); in snd_pmac_dbdma_alloc()
56 if (rec->space == NULL) in snd_pmac_dbdma_alloc()
57 return -ENOMEM; in snd_pmac_dbdma_alloc()
58 rec->size = size; in snd_pmac_dbdma_alloc()
59 memset(rec->space, 0, rsize); in snd_pmac_dbdma_alloc()
60 rec->cmds = (void __iomem *)DBDMA_ALIGN(rec->space); in snd_pmac_dbdma_alloc()
61 rec->addr = rec->dma_base + (unsigned long)((char *)rec->cmds - (char *)rec->space); in snd_pmac_dbdma_alloc()
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/dma/
Dloongson,ls1b-apbdma.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/dma/loongson,ls1b-apbdma.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Loongson-1 APB DMA Controller
10 - Keguang Zhang <[email protected]>
13 Loongson-1 APB DMA controller provides 3 independent channels for
14 peripherals such as NAND, audio playback and capture.
19 - const: loongson,ls1b-apbdma
20 - items:
[all …]
/linux-6.14.4/sound/pci/
Dazt3328.h1 /* SPDX-License-Identifier: GPL-2.0 */
5 /* "PU" == "power-up value", as tested on PCI168 PCI rev. 10
15 * from 0x00 (playback codec), from 0x20 (recording codec)
27 * 0x0001 is the only bit that's able to start the DMA counter */
29 /* 0x0002 *temporarily* set during DMA stopping. hmm
30 * both 0x0002 and 0x0004 set in playback setup. */
52 /* start address of 1st DMA transfer area, PU:0x00000000 */
54 /* start address of 2nd DMA transfer area, PU:0x00000000 */
56 /* both lengths of DMA transfer areas, PU:0x00000000
59 #define IDX_IO_CODEC_DMA_CURRPOS 0x10 /* current DMA position, PU:0x00000000 */
[all …]
/linux-6.14.4/sound/pci/ice1712/
Denvy24ht.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
39 #define ICEREG1724(ice, x) ((ice)->port + VT1724_REG_##x)
49 #define VT1724_REG_SYS_CFG 0x04 /* byte - system configuration PCI60 on Envy24*/
60 #define VT1724_CFG_AC97_PACKED 0x01 /* split or packed mode - AC'97 */
65 #define VT1724_CFG_I2S_RESMASK 0x30 /* resolution mask, 16,18,20,24-bit */
106 bit3 - during reset used for Eeprom power-on strapping
114 * Professional multi-track direct control registers
117 #define ICEMT1724(ice, x) ((ice)->profi_port + VT1724_MT_##x)
119 #define VT1724_MT_IRQ 0x00 /* byte - interrupt mask */
124 #define VT1724_MULTI_FIFO_ERR 0x08 /* DMA FIFO underrun/overrun. */
[all …]
/linux-6.14.4/sound/isa/
Dsc6000.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Driver for Gallant SC-6000 soundcard. This card is also known as
5 * These cards use CompuMedia ASC-9308 chip + AD1848 codec.
6 * SC-6600 and SC-7000 cards are also supported. They are based on
7 * CompuMedia ASC-9408 chip and CS4231 codec.
19 #include <asm/dma.h>
30 MODULE_DESCRIPTION("Gallant SC-6000");
33 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
42 static int dma[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; /* 0, 1, 3 */ variable
43 static bool joystick[SNDRV_CARDS] = { [0 ... (SNDRV_CARDS-1)] = false };
[all …]
Dcmi8330.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Driver for C-Media's CMI8330 and CMI8329 soundcards.
19 * modprobe -a snd-cmi8330 sbport=0x220 sbirq=5 sbdma8=1
23 * that recording and playback can be done through the same device.
25 * and playback to the SB16 codec. This allows for full-duplex mode
27 * The utilities in alsa-utils are aware of both devices, so passing
52 MODULE_DESCRIPTION("C-Media CMI8330/CMI8329");
59 static bool isapnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
87 module_param_hw_array(sbdma8, int, dma, NULL, 0444);
89 module_param_hw_array(sbdma16, int, dma, NULL, 0444);
[all …]
Dcmi8328.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Driver for C-Media CMI8328-based soundcards, such as AudioExcel AV500
7 * - CMI8328 - main chip (SB Pro emulation, gameport, OPL3, MPU401, CD-ROM)
8 * - CS4231A - WSS codec
9 * - Dream SAM9233+GMS950400+RAM+ROM: Wavetable MIDI, connected to MPU401
16 #include <asm/dma.h>
26 MODULE_AUTHOR("Ondrej Zary <linux@rainbow-software.org>");
27 MODULE_DESCRIPTION("C-Media CMI8328");
38 static int index[CMI8328_MAX] = {[0 ... (CMI8328_MAX-1)] = -1};
39 static char *id[CMI8328_MAX] = {[0 ... (CMI8328_MAX-1)] = NULL};
[all …]
/linux-6.14.4/sound/usb/misc/
Dua101.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Edirol UA-101/UA-1000 driver
19 MODULE_DESCRIPTION("Edirol UA-101/1000 driver");
32 * This magic value optimizes memory usage efficiency for the UA-101's packet
55 __stringify(MIN_QUEUE_LENGTH)"-"__stringify(MAX_QUEUE_LENGTH));
92 /* FIFO to synchronize playback rate to capture rate */
119 dma_addr_t dma; member
121 } capture, playback; member
134 case -ENODEV: in usb_error_string()
136 case -ENOENT: in usb_error_string()
[all …]
/linux-6.14.4/sound/isa/gus/
Dgusextreme.c1 // SPDX-License-Identifier: GPL-2.0-or-later
13 #include <asm/dma.h>
31 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
35 static long gf1_port[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS) - 1] = -1}; /* 0x210,0x220,0x230,0x240,0x…
36 static long mpu_port[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS) - 1] = -1}; /* 0x300,0x310,0x320 */
42 static int joystick_dac[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 29};
43 /* 0 to 31, (0.59V-4.52V or 0.389V-2.98V) */
44 static int channels[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 24};
45 static int pcm_channels[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 2};
58 MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver.");
[all …]
Dgusmax.c1 // SPDX-License-Identifier: GPL-2.0-or-later
13 #include <asm/dma.h>
25 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
32 static int joystick_dac[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 29};
33 /* 0 to 31, (0.59V-4.52V or 0.389V-2.98V) */
34 static int channels[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 24};
35 static int pcm_channels[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 2};
47 module_param_hw_array(dma1, int, dma, NULL, 0444);
49 module_param_hw_array(dma2, int, dma, NULL, 0444);
52 MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS MAX driver."…
[all …]

12345678910>>...13