Home
last modified time | relevance | path

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

12

/linux/Documentation/devicetree/bindings/sound/
H A 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 …]
/linux/sound/soc/
H A 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()
41 case -EINVAL: in _soc_pcm_ret()
44 dev_err(rtd->dev, in _soc_pcm_ret()
46 func, rtd->dai_link->name, ret); in _soc_pcm_ret()
52 /* is the current PCM operation for this FE ? */
[all …]
H A Dsoc-topology.c1 // SPDX-License-Identifier: GPL-2.0+
3 // soc-topology.c -- ALSA SoC Topology
17 // topology data can contain kcontrols, DAPM graphs, widgets, DAIs, DAI links,
29 #include <sound/soc-dapm.h>
30 #include <sound/soc-topology.h>
83 const u8 *end = tplg->pos + elem_size * count; in soc_tplg_check_elem_count()
85 if (end > tplg->fw->data + tplg->fw->size) { in soc_tplg_check_elem_count()
86 dev_err(tplg->dev, "ASoC: %s overflow end of data\n", in soc_tplg_check_elem_count()
88 return -EINVAL; in soc_tplg_check_elem_count()
94 dev_err(tplg->dev, in soc_tplg_check_elem_count()
[all …]
H A Dsoc-core.c1 // SPDX-License-Identifier: GPL-2.0+
3 // soc-core.c -- ALSA SoC Audio Layer
11 // with code, comments and ideas from :-
39 #include <sound/soc-dpcm.h>
40 #include <sound/soc-topology.h>
41 #include <sound/soc-link.h>
75 return sysfs_emit(buf, "%ld\n", rtd->pmdown_time); in pmdown_time_show()
85 ret = kstrtol(buf, 10, &rtd->pmdown_time); in pmdown_time_store()
109 return attr->mode; /* always visible */ in soc_dev_attr_is_visible()
110 return rtd->dai_link->num_codecs ? attr->mode : 0; /* enabled only with codec */ in soc_dev_attr_is_visible()
[all …]
/linux/include/sound/
H A 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.
64 * Dynamic PCM link
65 * This links together a FE and BE DAI at runtime and stores the link
69 /* FE and BE DAIs*/
[all …]
H A 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 …]
H A Dsoc.h1 /* SPDX-License-Identifier: GPL-2.0
3 * linux/sound/soc.h -- ALSA SoC Layer
238 .mask = xitems ? roundup_pow_of_two(xitems) - 1 : 0}
440 #include <sound/soc-dapm.h>
441 #include <sound/soc-dpcm.h>
442 #include <sound/soc-topology.h>
516 snd_soc_runtime_action(rtd, stream, -1); in snd_soc_runtime_deactivate()
547 substream->runtime->hw = *hw; in snd_soc_set_runtime_hwparams()
586 int snd_soc_add_dai_controls(struct snd_soc_dai *dai,
640 SND_SOC_TRIGGER_ORDER_DEFAULT = 0, /* Link->Component->DAI DAI->Component->Link */
[all …]
/linux/sound/soc/intel/avs/
H A Dpcm.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // Copyright(c) 2021-2022 Intel Corporation
14 #include <sound/soc-acpi.h>
15 #include <sound/soc-acpi-intel-match.h>
16 #include <sound/soc-component.h>
28 /* LINK-stream utilized in BE operations while HOST in FE ones. */
39 avs_dai_find_path_template(struct snd_soc_dai *dai, bool is_fe, int direction) in avs_dai_find_path_template() argument
41 struct snd_soc_dapm_widget *dw = snd_soc_dai_get_widget(dai, direction); in avs_dai_find_path_template()
51 dp = list_first_entry_or_null(&dw->edges[dir], typeof(*dp), list_node[dir]); in avs_dai_find_path_template()
56 dw = (dp->source == dw) ? dp->sink : dp->source; in avs_dai_find_path_template()
[all …]
/linux/sound/soc/mediatek/common/
H A Dmtk-dsp-sof-common.c1 // SPDX-License-Identifier: GPL-2.0
3 * mtk-dsp-sof-common.c -- MediaTek dsp sof common ctrl
9 #include "mtk-dsp-sof-common.h"
10 #include "mtk-soc-card.h"
12 /* fixup the BE DAI link to match any values from topology */
16 struct snd_soc_card *card = rtd->card; in mtk_sof_dai_link_fixup()
18 const struct mtk_sof_priv *sof_priv = soc_card_data->sof_priv; in mtk_sof_dai_link_fixup()
21 for (i = 0; i < sof_priv->num_streams; i++) { in mtk_sof_dai_link_fixup()
25 const struct sof_conn_stream *conn = &sof_priv->conn_streams[i]; in mtk_sof_dai_link_fixup()
27 if (conn->normal_link && strcmp(rtd->dai_link->name, conn->normal_link)) in mtk_sof_dai_link_fixup()
[all …]
H A Dmtk-afe-fe-dai.c1 // SPDX-License-Identifier: GPL-2.0
3 * mtk-afe-fe-dais.c -- Mediatek afe fe dai operator
14 #include "mtk-afe-platform-driver.h"
16 #include "mtk-afe-fe-dai.h"
17 #include "mtk-base-afe.h"
38 struct snd_soc_dai *dai) in mtk_afe_fe_startup() argument
41 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_afe_fe_startup()
42 struct snd_pcm_runtime *runtime = substream->runtime; in mtk_afe_fe_startup()
43 int memif_num = snd_soc_rtd_to_cpu(rtd, 0)->id; in mtk_afe_fe_startup()
44 struct mtk_base_afe_memif *memif = &afe->memif[memif_num]; in mtk_afe_fe_startup()
[all …]
/linux/sound/soc/samsung/
H A Dodroid.c1 // SPDX-License-Identifier: GPL-2.0
6 #include <linux/clk-provider.h>
12 #include "i2s-regs.h"
27 struct snd_pcm_runtime *runtime = substream->runtime; in odroid_card_fe_startup()
38 struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card); in odroid_card_fe_hw_params()
42 spin_lock_irqsave(&priv->lock, flags); in odroid_card_fe_hw_params()
43 if (priv->be_active && priv->be_sample_rate != params_rate(params)) in odroid_card_fe_hw_params()
44 ret = -EINVAL; in odroid_card_fe_hw_params()
45 spin_unlock_irqrestore(&priv->lock, flags); in odroid_card_fe_hw_params()
59 struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card); in odroid_card_be_hw_params()
[all …]
/linux/sound/soc/generic/
H A Daudio-graph-card.c1 // SPDX-License-Identifier: GPL-2.0
8 // based on ${LINUX}/sound/soc/generic/simple-card.c
39 struct snd_soc_dapm_context *dapm = w->dapm; in graph_outdrv_event()
40 struct simple_util_priv *priv = snd_soc_card_get_drvdata(dapm->card); in graph_outdrv_event()
44 gpiod_set_value_cansleep(priv->pa_gpio, 1); in graph_outdrv_event()
47 gpiod_set_value_cansleep(priv->pa_gpio, 0); in graph_outdrv_event()
50 return -EINVAL; in graph_outdrv_event()
70 struct snd_soc_dai *dai = snd_soc_find_dai_with_mutex(dlc); in soc_component_is_pcm() local
72 if (dai && (dai->component->driver->pcm_construct || in soc_component_is_pcm()
73 (dai->driver->ops && dai->driver->ops->pcm_new))) in soc_component_is_pcm()
[all …]
H A Dsimple-card.c1 // SPDX-License-Identifier: GPL-2.0
17 #include <sound/soc-dai.h>
22 #define DAI "sound-dai" macro
23 #define CELL "#sound-dai-cells"
24 #define PREFIX "simple-audio-card,"
41 * Get node via "sound-dai = <&phandle port>" in simple_parse_platform()
44 ret = of_parse_phandle_with_args(node, DAI, CELL, 0, &args); in simple_parse_platform()
50 dlc->of_node = args.np; in simple_parse_platform()
61 struct snd_soc_dai *dai; in simple_parse_dai() local
68 * Get node via "sound-dai = <&phandle port>" in simple_parse_dai()
[all …]
H A Daudio-graph-card2.c1 // SPDX-License-Identifier: GPL-2.0
8 // based on ${LINUX}/sound/soc/generic/audio-graph-card.c
25 bitclock-master;
27 frame-master;
39 sample0: left_j, bitclock-master, frame-master
40 sample1: i2s, bitclock-maste
398 struct simple_util_dai *dai; __graph_parse_node() local
[all...]
/linux/sound/soc/sof/
H A Dipc3-pcm.c1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
11 #include "ipc3-priv.h"
13 #include "sof-priv.h"
14 #include "sof-audio.h"
26 return -EINVAL; in sof_ipc3_pcm_hw_free()
28 if (!spcm->prepared[substream->stream]) in sof_ipc3_pcm_hw_free()
33 stream.comp_id = spcm->stream[substream->stream].comp_id; in sof_ipc3_pcm_hw_free()
36 return sof_ipc_tx_message_no_reply(sdev->ipc, &stream, sizeof(stream)); in sof_ipc3_pcm_hw_free()
46 struct sof_ipc_fw_version *v = &sdev->fw_ready.version; in sof_ipc3_pcm_hw_params()
47 struct snd_pcm_runtime *runtime = substream->runtime; in sof_ipc3_pcm_hw_params()
[all …]
H A 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"
82 /* DAI */
999 sof_link_hda_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_hda_load() argument
1064 sof_link_sai_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_sai_load() argument
1115 sof_link_esai_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_esai_load() argument
1165 sof_link_micfil_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_micfil_load() argument
1196 sof_link_acp_dmic_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_acp_dmic_load() argument
1228 sof_link_acp_bt_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_acp_bt_load() argument
1261 sof_link_acp_sp_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_acp_sp_load() argument
1295 sof_link_acp_hs_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_acp_hs_load() argument
1328 sof_link_acp_sdw_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_acp_sdw_load() argument
1356 sof_link_afe_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_afe_load() argument
1385 sof_link_ssp_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_ssp_load() argument
1458 sof_link_dmic_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_dmic_load() argument
1530 sof_link_alh_load(struct snd_soc_component * scomp,struct snd_sof_dai_link * slink,struct sof_ipc_dai_config * config,struct snd_sof_dai * dai) sof_link_alh_load() argument
1559 struct snd_sof_dai *dai = swidget->private; sof_ipc3_widget_setup_comp_dai() local
1700 struct snd_sof_dai *dai = swidget->private; sof_ipc3_widget_free_comp_dai() local
2130 struct snd_sof_dai *dai = swidget->private; sof_ipc3_dai_config() local
2231 struct snd_sof_dai *dai = swidget->private; sof_ipc3_widget_setup() local
2284 struct snd_sof_dai *dai = swidget->private; sof_ipc3_set_up_all_pipelines() local
2503 sof_ipc3_dai_get_param(struct snd_sof_dev * sdev,struct snd_sof_dai * dai,int param_type) sof_ipc3_dai_get_param() argument
2572 sof_ipc3_link_setup(struct snd_sof_dev * sdev,struct snd_soc_dai_link * link) sof_ipc3_link_setup() argument
[all...]
H A Dtopology.c1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
18 #include "sof-priv.h"
19 #include "sof-audio.h"
25 * from dB gain 20th root of 10 in Q1.16 fixed-point notation
28 /* 40th root of 10 in Q1.16 fixed-point notation*/
40 * sof_update_ipc_object - Parse multiple sets of tokens within the token array associated with the
62 token_list = tplg_ops ? tplg_ops->token_list : NULL; in sof_update_ipc_object()
68 dev_err(scomp->dev, "Invalid token count for token ID: %d\n", token_id); in sof_update_ipc_object()
69 return -EINVAL; in sof_update_ipc_object()
78 dev_err(scomp->dev, "Invalid tokens for token id: %d\n", token_id); in sof_update_ipc_object()
[all …]
H A Dsof-audio.h1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
20 #include <sound/sof/dai.h>
22 #include "sof-priv.h"
24 #define SOF_AUDIO_PCM_DRV_NAME "sof-audio-component"
37 /* max number of FE PCMs before BEs */
69 return volume_map[size - 1]; in mixer_to_ipc()
83 return i - 1; in ipc_to_mixer()
94 int dai_data; /* contains DAI-specific information */
95 int dai_node_id; /* contains DAI-specific information for Gateway configuration */
99 * struct sof_ipc_pcm_ops - IPC-specific PCM ops
[all …]
H A Dipc4-topology.h1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
15 #define SOF_IPC4_FW_PAGE(x) ((((x) + BIT(12) - 1) & ~(BIT(12) - 1)) >> 12)
16 #define SOF_IPC4_FW_ROUNDUP(x) (((x) + BIT(6) - 1) & (~(BIT(6) -
[all...]
/linux/include/uapi/sound/
H A 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 …]
/linux/sound/soc/sof/intel/
H A Dhda-dai-ops.c1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
11 #include <sound/hda-mlink.h>
14 #include "../ipc4-priv.h"
15 #include "../ipc4-topology.h"
16 #include "../sof-priv.h"
17 #include "../sof-audio.h"
20 /* These ops are only applicable for the HDA DAI's in their current form */
24 * to the link DMA stream_tag argument is assigned to one
25 * of the FEs connected to the BE DAI.
35 fe_substream = snd_soc_dpcm_get_substream(dpcm->fe, dir); in hda_check_fes()
[all …]
/linux/sound/soc/fsl/
H A Dimx-card.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2017-2021 NXP
14 #include <sound/soc-dapm.h>
55 * struct imx_card_plat_data - specific info for codecs
89 * struct dai_link_data - specific info for dai link
93 * @cpu_sysclk_id: sysclk id for cpu dai
104 * struct imx_card_data - platform device data
108 * @link_data: private data for dai link
143 * Table 13 - Audio Interface Format
154 * Table 7 - mapping multiplier and speed mode
[all …]
/linux/sound/soc/intel/boards/
H A Dbytcht_da7213.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * bytcht-da7213.c - ASoc Machine driver for Intel Baytrail and
4 * Cherrytrail-based platforms, with Dialog DA7213 codec
7 * Author: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
21 #include <sound/soc-acpi.h>
23 #include "../atom/sst-atom-controls.h"
46 /* Assume Mic1 is linked to Headset and Mic2 to on-board mic */
50 /* SOC-codec link */
69 /* The DSP will convert the FE rate to 48k, stereo, 24bits */ in codec_fixup()
70 rate->min = rate->max = 48000; in codec_fixup()
[all …]
/linux/sound/soc/meson/
H A Dmeson-card-utils.c1 // SPDX-License-Identifier: GPL-2.0
10 #include "meson-card.h"
29 if (ret && ret != -ENOTSUPP) in meson_card_i2s_set_sysclk()
35 if (ret && ret != -ENOTSUPP) in meson_card_i2s_set_sysclk()
49 links = krealloc(priv->card.dai_link, in meson_card_reallocate_links()
50 num_links * sizeof(*priv->card.dai_link), in meson_card_reallocate_links()
55 ldata = krealloc(priv->link_data, in meson_card_reallocate_links()
56 num_links * sizeof(*priv->link_data), in meson_card_reallocate_links()
61 priv->card.dai_link = links; in meson_card_reallocate_links()
62 priv->link_data = ldata; in meson_card_reallocate_links()
[all …]
/linux/sound/soc/mediatek/mt2701/
H A Dmt2701-afe-pcm.c1 // SPDX-License-Identifier: GPL-2.0
17 #include "mt2701-afe-common.h"
18 #include "mt2701-afe-clock-ctrl.h"
19 #include "../common/mtk-afe-platform-driver.h"
20 #include "../common/mtk-afe-fe-dai.h"
84 struct mt2701_afe_private *afe_priv = afe->platform_priv; in mt2701_dai_num_to_i2s()
85 int val = num - MT2701_IO_I2S; in mt2701_dai_num_to_i2s()
87 if (val < 0 || val >= afe_priv->soc->i2s_num) { in mt2701_dai_num_to_i2s()
88 dev_err(afe->dev, "%s, num not available, num %d, val %d\n", in mt2701_dai_num_to_i2s()
90 return -EINVAL; in mt2701_dai_num_to_i2s()
[all …]

12