Home
last modified time | relevance | path

Searched +full:fe +full:- +full:dai +full:- +full:link (Results 1 – 25 of 83) sorted by relevance

1234

/kernel/linux/linux-5.10/Documentation/sound/soc/
Ddpcm.rst18 DPCM re-uses all the existing component codec, platform and DAI drivers without
23 -------------------------------------
26 document for all examples :-
32 PCM0 <------------> * * <----DAI0-----> Codec Headset
34 PCM1 <------------> * * <----DAI1-----> Codec Speakers
36 PCM2 <------------> * * <----DAI2-----> MODEM
38 PCM3 <------------> * * <----DAI3-----> BT
40 * * <----DAI4-----> DMIC
42 * * <----DAI5-----> FM
47 modem. This sound card exposes 4 DSP front end (FE) ALSA PCM devices and
[all …]
/kernel/linux/linux-6.6/Documentation/sound/soc/
Ddpcm.rst18 DPCM re-uses all the existing component codec, platform and DAI drivers without
23 -------------------------------------
26 document for all examples :-
32 PCM0 <------------> * * <----DAI0-----> Codec Headset
34 PCM1 <------------> * * <----DAI1-----> Codec Speakers
36 PCM2 <------------> * * <----DAI2-----> MODEM
38 PCM3 <------------> * * <----DAI3-----> BT
40 * * <----DAI4-----> DMIC
42 * * <----DAI5-----> FM
47 modem. This sound card exposes 4 DSP front end (FE) ALSA PCM devices and
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/
Dimx-audio-card.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/sound/imx-audio-card.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Shengjiu Wang <shengjiu.wang@nxp.com>
13 - $ref: sound-card-common.yaml#
18 - fsl,imx-audio-card
21 ".*-dai-link$":
23 Each subnode represents a dai link. Subnodes of each dai links would be
29 link-name:
[all …]
/kernel/linux/linux-5.10/include/sound/
Dsoc-dpcm.h1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc-dpcm.h -- ALSA SoC Dynamic PCM Support
18 * Types of runtime_update to perform. e.g. originated from FE PCM ops
28 * Dynamic PCM Frontend -> Backend link management states.
31 SND_SOC_DPCM_LINK_STATE_NEW = 0, /* newly created link */
32 SND_SOC_DPCM_LINK_STATE_FREE, /* link to be dismantled */
36 * Dynamic PCM Frontend -> Backend link PCM states.
65 * Dynamic PCM link
66 * This links together a FE and BE DAI at runtime and stores the link
70 /* FE and BE DAIs*/
[all …]
Dsoc-topology.h1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc-topology.h -- ALSA SoC Firmware Controls and DAPM
9 * algorithms, equalisers, DAIs, widgets, FE caps, BE caps, codec link caps etc.
63 /* generic dynamic object - all dynamic objects belong to this struct */
77 * Kcontrol operations - used to map handlers onto firmware based controls.
99 * DAPM widget event handlers - used to map handlers onto widgets.
108 * Public API - Used by component drivers to load and unload dynamic objects
113 /* external kcontrol init - used for any driver specific init */
125 /* external widget init - used for any driver specific init */
135 /* FE DAI - used for any driver specific init */
[all …]
Dsoc.h1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc.h -- ALSA SoC Layer
201 .mask = xitems ? roundup_pow_of_two(xitems) - 1 : 0}
386 #include <sound/soc-dapm.h>
387 #include <sound/soc-dpcm.h>
388 #include <sound/soc-topology.h>
464 snd_soc_runtime_action(rtd, stream, -1); in snd_soc_runtime_deactivate()
567 int snd_soc_add_dai_controls(struct snd_soc_dai *dai,
620 * struct snd_soc_jack_pin - Describes a pin to update based on jack detection
624 * @invert: if non-zero then pin is enabled when status is not reported
[all …]
/kernel/linux/linux-5.10/sound/soc/
Dsoc-pcm.c1 // SPDX-License-Identifier: GPL-2.0+
3 // soc-pcm.c -- ALSA SoC PCM
26 #include <sound/soc-dpcm.h>
27 #include <sound/soc-link.h>
61 static ssize_t dpcm_show_state(struct snd_soc_pcm_runtime *fe, in dpcm_show_state() argument
64 struct snd_pcm_hw_params *params = &fe->dpcm[stream].hw_params; in dpcm_show_state()
69 /* FE state */ in dpcm_show_state()
70 offset += scnprintf(buf + offset, size - offset, in dpcm_show_state()
71 "[%s - %s]\n", fe->dai_link->name, in dpcm_show_state()
74 offset += scnprintf(buf + offset, size - offset, "State: %s\n", in dpcm_show_state()
[all …]
/kernel/linux/linux-6.6/include/sound/
Dsoc-dpcm.h1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc-dpcm.h -- ALSA SoC Dynamic PCM Support
18 * Types of runtime_update to perform. e.g. originated from FE PCM ops
28 * Dynamic PCM Frontend -> Backend link management states.
31 SND_SOC_DPCM_LINK_STATE_NEW = 0, /* newly created link */
32 SND_SOC_DPCM_LINK_STATE_FREE, /* link to be dismantled */
36 * Dynamic PCM Frontend -> Backend link PCM states.
65 * Dynamic PCM link
66 * This links together a FE and BE DAI at runtime and stores the link
70 /* FE and BE DAIs*/
[all …]
Dsoc-topology.h1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc-topology.h -- ALSA SoC Firmware Controls and DAPM
9 * algorithms, equalisers, DAIs, widgets, FE caps, BE caps, codec link caps etc.
60 /* generic dynamic object - all dynamic objects belong to this struct */
74 * Kcontrol operations - used to map handlers onto firmware based controls.
96 * DAPM widget event handlers - used to map handlers onto widgets.
105 * Public API - Used by component drivers to load and unload dynamic objects
110 /* external kcontrol init - used for any driver specific init */
122 /* external widget init - used for any driver specific init */
132 /* FE DAI - used for any driver specific init */
[all …]
Dsoc.h1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc.h -- ALSA SoC Layer
215 .mask = xitems ? roundup_pow_of_two(xitems) - 1 : 0}
417 #include <sound/soc-dapm.h>
418 #include <sound/soc-dpcm.h>
419 #include <sound/soc-topology.h>
493 snd_soc_runtime_action(rtd, stream, -1); in snd_soc_runtime_deactivate()
558 int snd_soc_add_dai_controls(struct snd_soc_dai *dai,
612 SND_SOC_TRIGGER_ORDER_DEFAULT = 0, /* Link->Component->DAI DAI->Component->Link */
613 SND_SOC_TRIGGER_ORDER_LDC, /* Link->DAI->Component Component->DAI->Link */
[all …]
/kernel/linux/linux-6.6/sound/soc/intel/avs/
Dpcm.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // Copyright(c) 2021-2022 Intel Corporation. All rights reserved.
14 #include <sound/soc-acpi.h>
15 #include <sound/soc-acpi-intel-match.h>
16 #include <sound/soc-component.h>
25 * link stream is stored within substream's runtime
36 avs_dai_find_path_template(struct snd_soc_dai *dai, bool is_fe, int direction) in avs_dai_find_path_template() argument
38 struct snd_soc_dapm_widget *dw = snd_soc_dai_get_widget(dai, direction); in avs_dai_find_path_template()
48 dp = list_first_entry_or_null(&dw->edges[dir], typeof(*dp), list_node[dir]); in avs_dai_find_path_template()
53 dw = (dp->source == dw) ? dp->sink : dp->source; in avs_dai_find_path_template()
[all …]
/kernel/linux/linux-6.6/sound/soc/
Dsoc-pcm.c1 // SPDX-License-Identifier: GPL-2.0+
3 // soc-pcm.c -- ALSA SoC PCM
25 #include <sound/soc-dpcm.h>
26 #include <sound/soc-link.h>
39 case -EPROBE_DEFER: in _soc_pcm_ret()
40 case -ENOTSUPP: in _soc_pcm_ret()
43 dev_err(rtd->dev, in _soc_pcm_ret()
45 func, rtd->dai_link->name, ret); in _soc_pcm_ret()
73 return (rtd)->dai_link->num_cpus == 1 ? asoc_rtd_to_cpu(rtd, 0)->name : "multicpu"; in soc_cpu_dai_name()
77 return (rtd)->dai_link->num_codecs == 1 ? asoc_rtd_to_codec(rtd, 0)->name : "multicodec"; in soc_codec_dai_name()
[all …]
Dsoc-compress.c1 // SPDX-License-Identifier: GPL-2.0+
3 // soc-compress.c -- ALSA SoC Compress
21 #include <sound/soc-dpcm.h>
22 #include <sound/soc-link.h>
26 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in snd_soc_compr_components_open()
47 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in snd_soc_compr_components_free()
59 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in soc_compr_clean()
62 int stream = cstream->direction; /* SND_COMPRESS_xxx is same as SNDRV_PCM_STREAM_xxx */ in soc_compr_clean()
72 cpu_dai->rate = 0; in soc_compr_clean()
75 codec_dai->rate = 0; in soc_compr_clean()
[all …]
/kernel/linux/linux-5.10/sound/soc/samsung/
Dodroid.c1 // SPDX-License-Identifier: GPL-2.0
6 #include <linux/clk-provider.h>
13 #include "i2s-regs.h"
28 struct snd_pcm_runtime *runtime = substream->runtime; in odroid_card_fe_startup()
39 struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card); in odroid_card_fe_hw_params()
43 spin_lock_irqsave(&priv->lock, flags); in odroid_card_fe_hw_params()
44 if (priv->be_active && priv->be_sample_rate != params_rate(params)) in odroid_card_fe_hw_params()
45 ret = -EINVAL; in odroid_card_fe_hw_params()
46 spin_unlock_irqrestore(&priv->lock, flags); in odroid_card_fe_hw_params()
60 struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card); in odroid_card_be_hw_params()
[all …]
/kernel/linux/linux-6.6/sound/soc/samsung/
Dodroid.c1 // SPDX-License-Identifier: GPL-2.0
6 #include <linux/clk-provider.h>
13 #include "i2s-regs.h"
28 struct snd_pcm_runtime *runtime = substream->runtime; in odroid_card_fe_startup()
39 struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card); in odroid_card_fe_hw_params()
43 spin_lock_irqsave(&priv->lock, flags); in odroid_card_fe_hw_params()
44 if (priv->be_active && priv->be_sample_rate != params_rate(params)) in odroid_card_fe_hw_params()
45 ret = -EINVAL; in odroid_card_fe_hw_params()
46 spin_unlock_irqrestore(&priv->lock, flags); in odroid_card_fe_hw_params()
60 struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card); in odroid_card_be_hw_params()
[all …]
/kernel/linux/linux-6.6/sound/soc/generic/
Daudio-graph-card.c1 // SPDX-License-Identifier: GPL-2.0
8 // based on ${LINUX}/sound/soc/generic/simple-card.c
29 struct snd_soc_dapm_context *dapm = w->dapm; in graph_outdrv_event()
30 struct asoc_simple_priv *priv = snd_soc_card_get_drvdata(dapm->card); in graph_outdrv_event()
34 gpiod_set_value_cansleep(priv->pa_gpio, 1); in graph_outdrv_event()
37 gpiod_set_value_cansleep(priv->pa_gpio, 0); in graph_outdrv_event()
40 return -EINVAL; in graph_outdrv_event()
60 struct snd_soc_dai *dai = snd_soc_find_dai_with_mutex(dlc); in soc_component_is_pcm() local
62 if (dai && (dai->component->driver->pcm_construct || in soc_component_is_pcm()
63 (dai->driver->ops && dai->driver->ops->pcm_new))) in soc_component_is_pcm()
[all …]
Dsimple-card.c1 // SPDX-License-Identifier: GPL-2.0
16 #include <sound/soc-dai.h>
21 #define DAI "sound-dai" macro
22 #define CELL "#sound-dai-cells"
23 #define PREFIX "simple-audio-card,"
41 * Get node via "sound-dai = <&phandle port>" in asoc_simple_parse_platform()
44 ret = of_parse_phandle_with_args(node, DAI, CELL, 0, &args); in asoc_simple_parse_platform()
50 dlc->of_node = args.np; in asoc_simple_parse_platform()
61 struct snd_soc_dai *dai; in asoc_simple_parse_dai() local
68 * Get node via "sound-dai = <&phandle port>" in asoc_simple_parse_dai()
[all …]
/kernel/linux/linux-6.6/sound/soc/sof/intel/
Dhda-dai-ops.c1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
10 #include <sound/hda-mlink.h>
13 #include "../ipc4-priv.h"
14 #include "../ipc4-topology.h"
15 #include "../sof-priv.h"
16 #include "../sof-audio.h"
19 /* These ops are only applicable for the HDA DAI's in their current form */
23 * to the link DMA stream_tag argument is assigned to one
24 * of the FEs connected to the BE DAI.
34 fe_substream = snd_soc_dpcm_get_substream(dpcm->fe, dir); in hda_check_fes()
[all …]
/kernel/linux/linux-5.10/sound/soc/generic/
Dsimple-card.c1 // SPDX-License-Identifier: GPL-2.0
16 #include <sound/soc-dai.h>
21 #define DAI "sound-dai" macro
22 #define CELL "#sound-dai-cells"
23 #define PREFIX "simple-audio-card,"
42 * Get node via "sound-dai = <&phandle port>" in asoc_simple_parse_dai()
45 ret = of_parse_phandle_with_args(node, DAI, CELL, 0, &args); in asoc_simple_parse_dai()
52 * Here, dlc->dai_name is pointer to CPU/Codec DAI name. in asoc_simple_parse_dai()
54 * dlc->dai_name is keeping unbinded CPU or Codec in asoc_simple_parse_dai()
57 * If user re-bind CPU or Codec driver again, ALSA SoC will try in asoc_simple_parse_dai()
[all …]
Daudio-graph-card.c1 // SPDX-License-Identifier: GPL-2.0
8 // based on ${LINUX}/sound/soc/generic/simple-card.c
25 #define PREFIX "audio-graph-card,"
31 struct snd_soc_dapm_context *dapm = w->dapm; in graph_outdrv_event()
32 struct asoc_simple_priv *priv = snd_soc_card_get_drvdata(dapm->card); in graph_outdrv_event()
36 gpiod_set_value_cansleep(priv->pa_gpio, 1); in graph_outdrv_event()
39 gpiod_set_value_cansleep(priv->pa_gpio, 0); in graph_outdrv_event()
42 return -EINVAL; in graph_outdrv_event()
69 /* use driver specified DAI ID if exist */ in graph_get_dai_id()
71 if (ret != -ENOTSUPP) in graph_get_dai_id()
[all …]
/kernel/linux/linux-6.6/sound/soc/sof/
Dipc3-topology.c1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
12 #include "sof-priv.h"
13 #include "sof-audio.h"
14 #include "ipc3-priv.h"
80 /* DAI */
90 /* BE DAI link */
316 [SOF_DAI_TOKENS] = {"DAI tokens", dai_tokens, ARRAY_SIZE(dai_tokens)},
317 [SOF_DAI_LINK_TOKENS] = {"DAI link tokens", dai_link_tokens, ARRAY_SIZE(dai_link_tokens)},
331 * sof_comp_alloc - allocate and initialize buffer for a new component
344 size_t ext_size = sizeof(swidget->uuid); in sof_comp_alloc()
[all …]
/kernel/linux/linux-5.10/sound/soc/sof/intel/
Dhda-dai.c1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
13 #include "../sof-priv.h"
14 #include "../sof-audio.h"
35 * to the link DMA stream_tag argument is assigned to one
36 * of the FEs connected to the BE DAI.
46 fe_substream = snd_soc_dpcm_get_substream(dpcm->fe, dir); in hda_check_fes()
47 fe_hstream = fe_substream->runtime->private_data; in hda_check_fes()
48 if (fe_hstream->stream_tag == stream_tag) in hda_check_fes()
64 int stream_dir = substream->stream; in hda_link_stream_assign()
66 if (!bus->ppcap) { in hda_link_stream_assign()
[all …]
/kernel/linux/linux-5.10/sound/soc/sof/
Dtopology.c1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
19 #include "sof-priv.h"
20 #include "sof-audio.h"
26 * from dB gain 20th root of 10 in Q1.16 fixed-point notation
29 /* 40th root of 10 in Q1.16 fixed-point notation*/
61 struct snd_soc_component *scomp = swidget->scomp; in ipc_pcm_params()
71 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in ipc_pcm_params()
73 dev_err(scomp->dev, "error: cannot find PCM for %s\n", in ipc_pcm_params()
74 swidget->widget->name); in ipc_pcm_params()
75 return -EINVAL; in ipc_pcm_params()
[all …]
/kernel/linux/linux-5.10/include/uapi/sound/
Dasoc.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * uapi/sound/asoc.h -- ALSA SoC Firmware Controls and DAPM
38 * Maximum number of physical link's hardware configs
42 /* individual kcontrol info types - can be mixed with other types */
53 /* individual widget kcontrol info types - can be mixed with other types */
60 /* DAPM widget types - add new items to the end */
120 /* vendor block IDs - please add new vendor types to end */
137 /* DAI flags */
142 /* DAI clock gating */
147 /* DAI mclk_direction */
[all …]
/kernel/linux/linux-6.6/include/uapi/sound/
Dasoc.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * uapi/sound/asoc.h -- ALSA SoC Firmware Controls and DAPM
34 * Maximum number of physical link's hardware configs
38 /* individual kcontrol info types - can be mixed with other types */
49 /* individual widget kcontrol info types - can be mixed with other types */
56 /* DAPM widget types - add new items to the end */
116 /* vendor block IDs - please add new vendor types to end */
133 /* DAI flags */
138 /* DAI clock gating */
143 /* DAI mclk_direction */
[all …]

1234