Home
last modified time | relevance | path

Searched full:pcm (Results 1 – 25 of 1306) sorted by relevance

12345678910>>...53

/Linux-v5.10/sound/soc/
Dsoc-generic-dmaengine-pcm.c10 #include <sound/pcm.h>
24 static struct device *dmaengine_dma_dev(struct dmaengine_pcm *pcm, in dmaengine_dma_dev() argument
27 if (!pcm->chan[substream->stream]) in dmaengine_dma_dev()
30 return pcm->chan[substream->stream]->device->dev; in dmaengine_dma_dev()
35 * @substream: PCM substream
76 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); in dmaengine_pcm_hw_params() local
86 if (!pcm->config) in dmaengine_pcm_hw_params()
89 prepare_slave_config = pcm->config->prepare_slave_config; in dmaengine_pcm_hw_params()
109 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); in dmaengine_pcm_set_runtime_hwparams() local
110 struct device *dma_dev = dmaengine_dma_dev(pcm, substream); in dmaengine_pcm_set_runtime_hwparams()
[all …]
/Linux-v5.10/sound/core/
Dpcm.c3 * Digital Audio (PCM) abstract layer
16 #include <sound/pcm.h>
24 MODULE_DESCRIPTION("Midlevel PCM code for ALSA.");
33 static int snd_pcm_free(struct snd_pcm *pcm);
40 struct snd_pcm *pcm; in snd_pcm_get() local
42 list_for_each_entry(pcm, &snd_pcm_devices, list) { in snd_pcm_get()
43 if (pcm->card == card && pcm->device == device) in snd_pcm_get()
44 return pcm; in snd_pcm_get()
51 struct snd_pcm *pcm; in snd_pcm_next() local
53 list_for_each_entry(pcm, &snd_pcm_devices, list) { in snd_pcm_next()
[all …]
Dpcm_dmaengine.c7 * imx-pcm-dma-mx2.c, Copyright 2009 Sascha Hauer <s.hauer@pengutronix.de>
8 * mxs-pcm.c, Copyright (C) 2011 Freescale Semiconductor, Inc.
9 * ep93xx-pcm.c, Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
16 #include <sound/pcm.h>
45 * @substream: PCM substream
50 * and hw_params in a dmaengine based PCM driver implementation.
90 * @substream: PCM substream
173 * snd_dmaengine_pcm_trigger - dmaengine based PCM trigger implementation
174 * @substream: PCM substream
179 * This function can be used as the PCM trigger callback for dmaengine based PCM
[all …]
Dpcm_memory.c3 * Digital Audio (PCM) abstract layer
15 #include <sound/pcm.h>
22 MODULE_PARM_DESC(preallocate_dma, "Preallocate DMA memory when the PCM devices are initialized.");
73 struct snd_card *card = substream->pcm->card; in preallocate_pcm_pages()
86 substream->pcm->card->number, substream->pcm->device, in preallocate_pcm_pages()
88 substream->pcm->name, orig_size); in preallocate_pcm_pages()
97 do_free_pages(substream->pcm->card, &substream->dma_buffer); in snd_pcm_lib_preallocate_dma_free()
102 * @substream: the pcm substream instance
112 * snd_pcm_lib_preallocate_free_for_all - release all pre-allocated buffers on the pcm
113 * @pcm: the pcm instance
[all …]
/Linux-v5.10/sound/soc/samsung/
Dpcm.c3 // ALSA SoC Audio Layer - S3C PCM-Controller driver
20 #include "pcm.h"
106 * struct s3c_pcm_info - S3C PCM Controller information
112 * @pclk: the PCLK_PCM (pcm) clock pointer
154 static void s3c_pcm_snd_txctrl(struct s3c_pcm_info *pcm, int on) in s3c_pcm_snd_txctrl() argument
156 void __iomem *regs = pcm->regs; in s3c_pcm_snd_txctrl()
176 if (!pcm->idleclk) in s3c_pcm_snd_txctrl()
185 static void s3c_pcm_snd_rxctrl(struct s3c_pcm_info *pcm, int on) in s3c_pcm_snd_rxctrl() argument
187 void __iomem *regs = pcm->regs; in s3c_pcm_snd_rxctrl()
207 if (!pcm->idleclk) in s3c_pcm_snd_rxctrl()
[all …]
/Linux-v5.10/sound/soc/intel/boards/
Dsof_sdw_hdmi.c31 struct hdmi_pcm *pcm; in sof_sdw_hdmi_init() local
33 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in sof_sdw_hdmi_init()
34 if (!pcm) in sof_sdw_hdmi_init()
37 /* dai_link id is 1:1 mapped to the PCM device */ in sof_sdw_hdmi_init()
38 pcm->device = rtd->dai_link->id; in sof_sdw_hdmi_init()
39 pcm->codec_dai = dai; in sof_sdw_hdmi_init()
41 list_add_tail(&pcm->head, &ctx->hdmi_pcm_list); in sof_sdw_hdmi_init()
50 struct hdmi_pcm *pcm; in sof_sdw_hdmi_card_late_probe() local
61 pcm = list_first_entry(&ctx->hdmi_pcm_list, struct hdmi_pcm, in sof_sdw_hdmi_card_late_probe()
63 component = pcm->codec_dai->component; in sof_sdw_hdmi_card_late_probe()
[all …]
Dskl_hda_dsp_common.c11 #include <sound/pcm.h>
25 struct skl_hda_hdmi_pcm *pcm; in skl_hda_hdmi_add_pcm() local
28 pcm = devm_kzalloc(card->dev, sizeof(*pcm), GFP_KERNEL); in skl_hda_hdmi_add_pcm()
29 if (!pcm) in skl_hda_hdmi_add_pcm()
34 pcm->codec_dai = snd_soc_card_get_codec_dai(card, dai_name); in skl_hda_hdmi_add_pcm()
35 if (!pcm->codec_dai) in skl_hda_hdmi_add_pcm()
38 pcm->device = device; in skl_hda_hdmi_add_pcm()
39 list_add_tail(&pcm->head, &ctx->hdmi_pcm_list); in skl_hda_hdmi_add_pcm()
141 struct skl_hda_hdmi_pcm *pcm; in skl_hda_hdmi_jack_init() local
148 list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { in skl_hda_hdmi_jack_init()
[all …]
Dhda_dsp_common.c5 #include <sound/pcm.h>
16 * Search card topology and return PCM device number
27 spcm = rtd->pcm ? in hda_dsp_hdmi_pcm_handle()
28 rtd->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].pcm : NULL; in hda_dsp_hdmi_pcm_handle()
31 return rtd->pcm; in hda_dsp_hdmi_pcm_handle()
40 * Search card topology and register HDMI PCM related controls
61 hpcm->pcm = spcm; in hda_dsp_hdmi_build_controls()
64 "%s: mapping HDMI converter %d to PCM %d (%p)\n", in hda_dsp_hdmi_build_controls()
67 hpcm->pcm = NULL; in hda_dsp_hdmi_build_controls()
70 "%s: no PCM in topology for HDMI converter %d\n\n", in hda_dsp_hdmi_build_controls()
/Linux-v5.10/Documentation/sound/designs/
Dtracepoints.rst8 Tracepoints in ALSA PCM core
11 ALSA PCM core registers ``snd_pcm`` subsystem to kernel tracepoint system.
12 This subsystem includes two categories of tracepoints; for state of PCM buffer
13 and for processing of PCM hardware parameters. These tracepoints are available
18 Tracepoints for state of PCM buffer
24 Tracepoints for processing of PCM hardware parameters
30 In a design of ALSA PCM core, data transmission is abstracted as PCM substream.
31 Applications manage PCM substream to maintain data transmission for PCM frames.
32 Before starting the data transmission, applications need to configure PCM
33 substream. In this procedure, PCM hardware parameters are decided by
[all …]
Doss-emulation.rst12 The OSS emulation for PCM, mixer and sequencer devices is implemented
13 as add-on kernel modules, snd-pcm-oss, snd-mixer-oss and snd-seq-oss.
14 When you need to access the OSS PCM, mixer or sequencer devices, the
48 PCM:
73 As seen above, PCM and MIDI may have two devices. Usually, the first
74 PCM device (``hw:0,0`` in ALSA) is mapped to /dev/dsp and the secondary
79 snd-pcm-oss and snd-rawmidi. In the case of PCM, the following
80 options are available for snd-pcm-oss:
83 PCM device number assigned to /dev/dspX
86 PCM device number assigned to /dev/adspX
[all …]
Dprocfile.rst42 pcm
43 Lists the currently available PCM devices in format of
66 When PCM devices are available on this card, you can see directories
67 like pcm0p or pcm1c. They hold the PCM information for each PCM
68 stream. The number after ``pcm`` is the PCM device number from 0, and
85 PCM Proc Files
88 ``card*/pcm*/info``
89 The general information of this PCM device: card #, device #,
92 ``card*/pcm*/xrun_debug``
96 invalid PCM position debug/check of ALSA PCM middle layer.
[all …]
/Linux-v5.10/sound/soc/sof/
Dpcm.c10 // PCM Layer, interface between ALSA and IPC.
51 dev_err(scomp->dev, "error: got wrong reply for PCM %d\n", in sof_pcm_dsp_params()
52 spcm->pcm.pcm_id); in sof_pcm_dsp_params()
58 * sof pcm period elapse work
70 * sof pcm period elapse, this could be called at irq thread context.
89 * when the PCM is done draining or xrun happened, a STOP IPC will in snd_sof_pcm_period_elapsed()
127 struct sof_ipc_pcm_params pcm; in sof_pcm_hw_params() local
149 dev_dbg(component->dev, "pcm: hw params stream %d dir %d\n", in sof_pcm_hw_params()
150 spcm->pcm.pcm_id, substream->stream); in sof_pcm_hw_params()
152 memset(&pcm, 0, sizeof(pcm)); in sof_pcm_hw_params()
[all …]
/Linux-v5.10/sound/pci/ac97/
Dac97_pcm.c18 #include <sound/pcm.h>
26 * PCM support
144 static unsigned char get_slot_reg(struct ac97_pcm *pcm, unsigned short cidx, in get_slot_reg() argument
151 if (pcm->spdif) in get_slot_reg()
153 if (pcm->stream == SNDRV_PCM_STREAM_PLAYBACK) in get_slot_reg()
154 return rate_reg_tables[dbl][pcm->r[dbl].rate_table[cidx]][slot - 3]; in get_slot_reg()
393 static unsigned int get_rates(struct ac97_pcm *pcm, unsigned int cidx, unsigned short slots, int db… in get_rates() argument
402 reg = get_slot_reg(pcm, cidx, i, dbl); in get_rates()
411 rates &= pcm->r[dbl].codec[cidx]->rates[idx]; in get_rates()
420 * snd_ac97_pcm_assign - assign AC97 slots to given PCM streams
[all …]
/Linux-v5.10/sound/soc/codecs/
Dhdac_hdmi.c147 struct hdac_hdmi_pcm *pcm; in hdac_hdmi_get_pcm_from_cvt() local
149 list_for_each_entry(pcm, &hdmi->pcm_list, head) { in hdac_hdmi_get_pcm_from_cvt()
150 if (pcm->cvt == cvt) in hdac_hdmi_get_pcm_from_cvt()
151 return pcm; in hdac_hdmi_get_pcm_from_cvt()
157 static void hdac_hdmi_jack_report(struct hdac_hdmi_pcm *pcm, in hdac_hdmi_jack_report() argument
166 * for the first time where same PCM is attached to multiple in hdac_hdmi_jack_report()
169 if (pcm->jack_event == 0) { in hdac_hdmi_jack_report()
171 "jack report for pcm=%d\n", in hdac_hdmi_jack_report()
172 pcm->pcm_id); in hdac_hdmi_jack_report()
173 snd_soc_jack_report(pcm->jack, SND_JACK_AVOUT, in hdac_hdmi_jack_report()
[all …]
/Linux-v5.10/Documentation/sound/cards/
Dsb-live-mixer.rst15 IEC958 (S/PDIF) raw PCM
18 This PCM device (it's the 4th PCM device (index 3!) and first subdevice
22 to 8 raw PCM devices operating at 48kHz, 16-bit little endian. It would
64 This control is used to attenuate samples for left and right PCM FX-bus
65 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
66 The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
70 This control is used to attenuate samples for left and right PCM FX-bus
71 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
77 This control is used to attenuate samples for left and right PCM FX-bus
78 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
[all …]
Daudigy-mixer.rst47 name='PCM Front Playback Volume',index=0
49 This control is used to attenuate samples for left and right front PCM FX-bus
50 accumulators. ALSA uses accumulators 8 and 9 for left and right front PCM
51 samples for 5.1 playback. The result samples are forwarded to the front DAC PCM
54 name='PCM Surround Playback Volume',index=0
56 This control is used to attenuate samples for left and right surround PCM FX-bus
57 accumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM
58 samples for 5.1 playback. The result samples are forwarded to the surround DAC PCM
61 name='PCM Center Playback Volume',index=0
63 This control is used to attenuate samples for center PCM FX-bus accumulator.
[all …]
/Linux-v5.10/sound/pci/lola/
Dlola_pcm.c14 #include <sound/pcm.h>
24 return &chip->pcm[substream->stream]; in lola_get_pcm()
29 struct lola_pcm *pcm = lola_get_pcm(substream); in lola_get_stream() local
31 return &pcm->streams[idx]; in lola_get_stream()
128 if (s->pcm->card != substream->pcm->card) in lola_sync_wait_for_fifo()
159 if (s->pcm->card != substream->pcm->card) in lola_sync_pause()
213 struct lola_pcm *pcm = lola_get_pcm(substream); in lola_pcm_open() local
226 runtime->hw.channels_max = pcm->num_streams - str->index; in lola_pcm_open()
246 static void lola_cleanup_slave_streams(struct lola_pcm *pcm, in lola_cleanup_slave_streams() argument
250 for (i = str->index + 1; i < pcm->num_streams; i++) { in lola_cleanup_slave_streams()
[all …]
/Linux-v5.10/sound/soc/tegra/
Dtegra_pcm.c3 * tegra_pcm.c - Tegra PCM driver
21 #include <sound/pcm.h>
106 "dmaengine pcm open failed with err %d (%s)\n", ret, in tegra_pcm_open()
204 return dma_mmap_wc(substream->pcm->card->dev, vma, runtime->dma_area, in tegra_pcm_mmap()
216 static int tegra_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream, in tegra_pcm_preallocate_dma_buffer() argument
219 struct snd_pcm_substream *substream = pcm->streams[stream].substream; in tegra_pcm_preallocate_dma_buffer()
222 buf->area = dma_alloc_wc(pcm->card->dev, size, &buf->addr, GFP_KERNEL); in tegra_pcm_preallocate_dma_buffer()
228 buf->dev.dev = pcm->card->dev; in tegra_pcm_preallocate_dma_buffer()
234 static void tegra_pcm_deallocate_dma_buffer(struct snd_pcm *pcm, int stream) in tegra_pcm_deallocate_dma_buffer() argument
239 substream = pcm->streams[stream].substream; in tegra_pcm_deallocate_dma_buffer()
[all …]
/Linux-v5.10/sound/pci/au88x0/
Dau88x0_pcm.c6 * Vortex PCM ALSA driver.
14 #include <sound/pcm.h>
146 if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) { in snd_vortex_pcm_open()
148 if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_A3D) { in snd_vortex_pcm_open()
152 if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_SPDIF) { in snd_vortex_pcm_open()
166 if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_ADB in snd_vortex_pcm_open()
167 || VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_I2S) in snd_vortex_pcm_open()
172 VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_ADB) { in snd_vortex_pcm_open()
219 if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) { in snd_vortex_pcm_hw_params()
220 int dma, type = VORTEX_PCM_TYPE(substream->pcm); in snd_vortex_pcm_hw_params()
[all …]
/Linux-v5.10/sound/soc/mediatek/mt6797/
Dmt6797-dai-pcm.c155 {"PCM 1 Playback", NULL, "PCM_1_PB_CH1"},
156 {"PCM 1 Playback", NULL, "PCM_1_PB_CH2"},
157 {"PCM 1 Playback", NULL, "PCM_1_PB_CH4"},
158 {"PCM 2 Playback", NULL, "PCM_2_PB_CH1"},
159 {"PCM 2 Playback", NULL, "PCM_2_PB_CH2"},
160 {"PCM 2 Playback", NULL, "PCM_2_PB_CH4"},
162 {"PCM 1 Playback", NULL, "PCM_1_EN"},
163 {"PCM 2 Playback", NULL, "PCM_2_EN"},
164 {"PCM 1 Capture", NULL, "PCM_1_EN"},
165 {"PCM 2 Capture", NULL, "PCM_2_EN"},
[all …]
/Linux-v5.10/sound/soc/mediatek/mt8183/
Dmt8183-dai-pcm.c155 {"PCM 1 Playback", NULL, "PCM_1_PB_CH1"},
156 {"PCM 1 Playback", NULL, "PCM_1_PB_CH2"},
157 {"PCM 1 Playback", NULL, "PCM_1_PB_CH4"},
158 {"PCM 2 Playback", NULL, "PCM_2_PB_CH1"},
159 {"PCM 2 Playback", NULL, "PCM_2_PB_CH2"},
160 {"PCM 2 Playback", NULL, "PCM_2_PB_CH4"},
162 {"PCM 1 Playback", NULL, "PCM_1_EN"},
163 {"PCM 2 Playback", NULL, "PCM_2_EN"},
164 {"PCM 1 Capture", NULL, "PCM_1_EN"},
165 {"PCM 2 Capture", NULL, "PCM_2_EN"},
[all …]
/Linux-v5.10/sound/soc/fsl/
Dimx-pcm-fiq.c2 // imx-pcm-fiq.c -- ALSA Soc Audio Layer
22 #include <sound/pcm.h>
31 #include "imx-pcm.h"
223 ret = dma_mmap_wc(substream->pcm->card->dev, vma, runtime->dma_area, in snd_imx_pcm_mmap()
233 static int imx_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream) in imx_pcm_preallocate_dma_buffer() argument
235 struct snd_pcm_substream *substream = pcm->streams[stream].substream; in imx_pcm_preallocate_dma_buffer()
240 buf->dev.dev = pcm->card->dev; in imx_pcm_preallocate_dma_buffer()
242 buf->area = dma_alloc_wc(pcm->card->dev, size, &buf->addr, GFP_KERNEL); in imx_pcm_preallocate_dma_buffer()
253 struct snd_pcm *pcm = rtd->pcm; in imx_pcm_new() local
260 if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { in imx_pcm_new()
[all …]
/Linux-v5.10/sound/pci/ctxfi/
Dctpcm.c8 * This file contains the definition of the pcm device functions.
17 #include <sound/pcm.h>
114 /* pcm playback operations */
128 if (IEC958 == substream->pcm->device) { in ct_pcm_playback_open()
133 if (FRONT == substream->pcm->device) in ct_pcm_playback_open()
168 if (IEC958 == substream->pcm->device) in ct_pcm_playback_close()
205 if (IEC958 == substream->pcm->device) in ct_pcm_playback_prepare()
212 "Preparing pcm playback failed!!!\n"); in ct_pcm_playback_prepare()
260 /* pcm capture operations */
321 "Preparing pcm capture failed!!!\n"); in ct_pcm_capture_prepare()
[all …]
/Linux-v5.10/sound/arm/
Dpxa2xx-pcm-lib.c10 #include <sound/pcm.h>
138 return dma_mmap_wc(substream->pcm->card->dev, vma, runtime->dma_area, in pxa2xx_pcm_mmap()
143 int pxa2xx_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream) in pxa2xx_pcm_preallocate_dma_buffer() argument
145 struct snd_pcm_substream *substream = pcm->streams[stream].substream; in pxa2xx_pcm_preallocate_dma_buffer()
149 buf->dev.dev = pcm->card->dev; in pxa2xx_pcm_preallocate_dma_buffer()
151 buf->area = dma_alloc_wc(pcm->card->dev, size, &buf->addr, GFP_KERNEL); in pxa2xx_pcm_preallocate_dma_buffer()
159 void pxa2xx_pcm_free_dma_buffers(struct snd_pcm *pcm) in pxa2xx_pcm_free_dma_buffers() argument
166 substream = pcm->streams[stream].substream; in pxa2xx_pcm_free_dma_buffers()
172 dma_free_wc(pcm->card->dev, buf->bytes, buf->area, buf->addr); in pxa2xx_pcm_free_dma_buffers()
179 struct snd_pcm *pcm) in pxa2xx_soc_pcm_free() argument
[all …]
/Linux-v5.10/sound/soc/atmel/
Datmel-pcm-pdc.c3 * atmel-pcm.c -- ALSA PCM interface for the Atmel atmel SoC.
10 * Based on at91-pcm. by:
14 * Based on pxa2xx-pcm.c by:
30 #include <sound/pcm.h>
34 #include "atmel-pcm.h"
37 static int atmel_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, in atmel_pcm_preallocate_dma_buffer() argument
40 struct snd_pcm_substream *substream = pcm->streams[stream].substream; in atmel_pcm_preallocate_dma_buffer()
45 buf->dev.dev = pcm->card->dev; in atmel_pcm_preallocate_dma_buffer()
47 buf->area = dma_alloc_coherent(pcm->card->dev, size, in atmel_pcm_preallocate_dma_buffer()
49 pr_debug("atmel-pcm: alloc dma buffer: area=%p, addr=%p, size=%zu\n", in atmel_pcm_preallocate_dma_buffer()
[all …]

12345678910>>...53