Home
last modified time | relevance | path

Searched full:dai (Results 1 – 25 of 1726) sorted by relevance

12345678910>>...70

/linux/sound/soc/
H A Dsoc-dai.c3 // soc-dai.c
10 #include <sound/soc-dai.h>
13 #define soc_dai_ret(dai, ret) _soc_dai_ret(dai, __func__, ret) argument
14 static inline int _soc_dai_ret(const struct snd_soc_dai *dai, in _soc_dai_ret() argument
17 return snd_soc_ret(dai->dev, ret, in _soc_dai_ret()
18 "at %s() on %s\n", func, dai->name); in _soc_dai_ret()
25 #define soc_dai_mark_push(dai, substream, tgt) ((dai)->mark_##tgt = substream) argument
26 #define soc_dai_mark_pop(dai, tgt) ((dai)->mark_##tgt = NULL) argument
27 #define soc_dai_mark_match(dai, substream, tgt) ((dai)->mark_##tgt == substream) argument
30 * snd_soc_dai_set_sysclk - configure DAI system or master clock.
[all …]
/linux/sound/soc/tegra/
H A Dtegra210_ahub.c101 DAI(ADMAIF1),
102 DAI(ADMAIF2),
103 DAI(ADMAIF3),
104 DAI(ADMAIF4),
105 DAI(ADMAIF5),
106 DAI(ADMAIF6),
107 DAI(ADMAIF7),
108 DAI(ADMAIF8),
109 DAI(ADMAIF9),
110 DAI(ADMAIF10),
[all …]
H A Dtegra210_admaif.c317 struct snd_soc_dai *dai) in tegra_admaif_prepare() argument
319 return tegra_isomgr_adma_setbw(substream, dai, true); in tegra_admaif_prepare()
323 struct snd_soc_dai *dai) in tegra_admaif_shutdown() argument
325 tegra_isomgr_adma_setbw(substream, dai, false); in tegra_admaif_shutdown()
330 struct snd_soc_dai *dai) in tegra_admaif_hw_params() argument
332 struct device *dev = dai->dev; in tegra_admaif_hw_params()
333 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_hw_params()
372 reg = CH_TX_REG(TEGRA_ADMAIF_CH_ACIF_TX_CTRL, dai->id); in tegra_admaif_hw_params()
375 reg = CH_RX_REG(TEGRA_ADMAIF_CH_ACIF_RX_CTRL, dai->id); in tegra_admaif_hw_params()
378 cif_conf.mono_conv = admaif->mono_to_stereo[path][dai->id]; in tegra_admaif_hw_params()
[all …]
/linux/sound/soc/qcom/qdsp6/
H A Dq6apm-lpass-dais.c27 static int q6dma_set_channel_map(struct snd_soc_dai *dai, in q6dma_set_channel_map() argument
34 struct q6apm_lpass_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6dma_set_channel_map()
35 struct audioreach_module_config *cfg = &dai_data->module_config[dai->id]; in q6dma_set_channel_map()
38 switch (dai->id) { in q6dma_set_channel_map()
52 dev_err(dai->dev, "tx slot not found\n"); in q6dma_set_channel_map()
57 dev_err(dai->dev, "invalid tx num %d\n", in q6dma_set_channel_map()
77 dev_err(dai->dev, "rx slot not found\n"); in q6dma_set_channel_map()
81 dev_err(dai->dev, "invalid rx num %d\n", in q6dma_set_channel_map()
90 dev_err(dai->dev, "%s: invalid dai id 0x%x\n", in q6dma_set_channel_map()
91 __func__, dai->id); in q6dma_set_channel_map()
[all …]
H A Dq6afe-dai.c39 struct snd_soc_dai *dai) in q6slim_hw_params() argument
42 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params()
43 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params()
69 struct snd_soc_dai *dai) in q6hdmi_hw_params() argument
71 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6hdmi_hw_params()
73 struct q6afe_hdmi_cfg *hdmi = &dai_data->port_config[dai->id].hdmi; in q6hdmi_hw_params()
97 struct snd_soc_dai *dai) in q6afe_usb_hw_params() argument
99 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6afe_usb_hw_params()
102 struct q6afe_usb_cfg *usb = &dai_data->port_config[dai->id].usb_audio; in q6afe_usb_hw_params()
120 dev_err(dai->dev, "%s: invalid format %d\n", in q6afe_usb_hw_params()
[all …]
/linux/Documentation/devicetree/bindings/sound/
H A Dfsl,qmc-audio.yaml15 It provides several DAIs. For each DAI, the DAI is working in interleaved mode
16 if only one QMC channel is used by the DAI or it is working in non-interleaved
17 mode if several QMC channels are used by the DAI.
20 - $ref: dai-common.yaml#
30 '#sound-dai-cells':
34 '^dai@([0-9]|[1-5][0-9]|6[0-3])$':
36 A DAI managed by this controller
45 The DAI number
56 and the QMC channel pair to use for this DAI.
57 If only one phandle/number pair is provided, this DAI works in
[all …]
H A Damlogic,axg-sound-card.yaml37 "^dai-link-[0-9]+$":
41 Container for dai-link level properties and the CODEC sub-nodes.
45 dai-format:
49 dai-tdm-slot-num:
56 dai-tdm-slot-width:
68 sound-dai:
70 description: phandle of the CPU DAI
73 "^dai-tdm-slot-(t|r)x-mask-[0-3]$":
87 dai-link representing backend links should have at least one subnode.
88 One subnode for each codec of the dai-link. dai-link representing
[all …]
H A Dmt8192-mt6359-rt1015-rt5682.yaml66 sound-dai:
69 - sound-dai
77 sound-dai:
83 - sound-dai
86 ".*-dai-link$":
91 Container for dai-link level properties and CODEC sub-nodes.
95 description: Indicates dai-link name and PCM stream name
110 description: Holds subnode which indicates codec dai.
114 sound-dai:
118 - sound-dai
[all …]
H A Dimx-audio-card.yaml21 ".*-dai-link$":
23 Each subnode represents a dai link. Subnodes of each dai links would be
30 description: Indicates dai-link name and PCM stream name.
41 dai-tdm-slot-num:
45 dai-tdm-slot-width:
58 description: Holds subnode which indicates cpu dai.
62 sound-dai:
66 description: Holds subnode which indicates codec dai.
70 sound-dai:
100 pri-dai-link {
[all …]
H A Dmt8186-mt6366-rt1019-rt5682s.yaml69 sound-dai:
72 - sound-dai
79 sound-dai:
86 - sound-dai
92 mediatek,dai-link:
95 A list of the desired dai-links in the sound card. Each entry is a
99 ".*-dai-link$":
103 Container for dai-link level properties and CODEC sub-nodes.
107 description: Indicates dai-link name and PCM stream name
111 description: Holds subnode which indicates codec dai.
[all …]
H A Dqcom,apq8016-sbc-sndcard.yaml56 ".*-dai-link$":
58 Each subnode represents a dai link. Subnodes of each dai links would be
65 description: Indicates dai-link name and PCM stream name.
70 description: Holds subnode which indicates cpu dai.
75 sound-dai:
79 description: Holds subnode which indicates platform dai.
84 sound-dai:
88 description: Holds subnode which indicates codec dai.
93 sound-dai:
128 quaternary-dai-link {
[all …]
H A Dsimple-card.yaml15 description: Indicates dai-link frame master.
19 description: Indicates dai-link bit clock master
23 description: dai-link uses frame clock inversion
27 description: dai-link uses bit clock inversion
30 dai-tdm-slot-num:
34 dai-tdm-slot-width:
63 When defined, mclk-fs property defined in dai-link sub nodes are ignored.
116 dai: schema
119 sound-dai:
136 dai-tdm-slot-num:
[all …]
H A Dmt8195-mt6359.yaml77 mediatek,dai-link:
80 A list of the desired dai-links in the sound card. Each entry is a
84 ".*-dai-link$":
88 Container for dai-link level properties and CODEC sub-nodes.
92 description: Indicates dai-link name and PCM stream name
104 description: Holds subnode which indicates codec dai.
108 sound-dai:
112 - sound-dai
114 dai-format:
120 description: Indicates dai-link clock master.
[all …]
H A Dgoogle,sc7180-trogdor.yaml36 "^dai-link(@[0-9])?$":
38 Each subnode represents a dai link. Subnodes of each dai links would be
45 description: Indicates dai-link name and PCM stream name.
51 description: dai link address.
54 description: Holds subnode which indicates cpu dai.
59 sound-dai:
63 description: Holds subnode which indicates codec dai.
68 sound-dai:
102 dai-link@0 {
106 sound-dai = <&lpass_cpu 0>;
[all …]
/linux/sound/soc/ux500/
H A Dux500_msp_dai.c20 #include <sound/soc-dai.h>
27 static int setup_pcm_multichan(struct snd_soc_dai *dai, in setup_pcm_multichan() argument
30 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_multichan()
51 dev_dbg(dai->dev, in setup_pcm_multichan()
60 static int setup_frameper(struct snd_soc_dai *dai, unsigned int rate, in setup_frameper() argument
63 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_frameper()
89 dev_err(dai->dev, in setup_frameper()
108 dev_err(dai->dev, in setup_frameper()
117 dev_dbg(dai->dev, "%s: Clocks per frame: %u\n", in setup_frameper()
124 static int setup_pcm_framing(struct snd_soc_dai *dai, unsigned int rate, in setup_pcm_framing() argument
[all …]
/linux/arch/arm64/boot/dts/qcom/
H A Dmsm8916-modem-qdsp6.dtsi6 * but boards can define additional codecs by adding additional backend DAI links.
49 dai@16 {
53 dai@20 {
60 dai@0 {
64 dai@1 {
68 dai@2 {
72 dai@3 {
75 is-compress-dai;
89 frontend0-dai-link {
93 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
[all …]
/linux/arch/arm64/boot/dts/amlogic/
H A Dmeson-g12b-dreambox.dtsi24 #sound-dai-cells = <0>;
55 dai-link-0 {
56 sound-dai = <&frddr_a>;
59 dai-link-1 {
60 sound-dai = <&frddr_b>;
63 dai-link-2 {
64 sound-dai = <&frddr_c>;
68 dai-link-3 {
69 sound-dai = <&tdmif_b>;
70 dai-format = "i2s";
[all …]
H A Dmeson-g12b-gtking.dts23 #sound-dai-cells = <0>;
52 dai-link-0 {
53 sound-dai = <&frddr_a>;
56 dai-link-1 {
57 sound-dai = <&frddr_b>;
60 dai-link-2 {
61 sound-dai = <&frddr_c>;
65 dai-link-3 {
66 sound-dai = <&tdmif_b>;
67 dai-format = "i2s";
[all …]
H A Dmeson-g12b-odroid-n2l.dts54 dai-link-0 {
55 sound-dai = <&frddr_a>;
58 dai-link-1 {
59 sound-dai = <&frddr_b>;
62 dai-link-2 {
63 sound-dai = <&frddr_c>;
66 dai-link-3 {
67 sound-dai = <&toddr_a>;
70 dai-link-4 {
71 sound-dai = <&toddr_b>;
[all …]
/linux/sound/soc/intel/avs/
H A Dpcm.c45 avs_dai_find_path_template(struct snd_soc_dai *dai, bool is_fe, int direction) in avs_dai_find_path_template() argument
47 struct snd_soc_dapm_widget *dw = snd_soc_dai_get_widget(dai, direction); in avs_dai_find_path_template()
77 struct snd_soc_dai *dai = snd_soc_rtd_to_cpu(rtd, 0); in avs_period_elapsed() local
78 struct avs_dma_data *data = snd_soc_dai_get_dma_data(dai, substream); in avs_period_elapsed()
84 static int avs_hw_constraints_init(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) in avs_hw_constraints_init() argument
95 data = snd_soc_dai_get_dma_data(dai, substream); in avs_hw_constraints_init()
119 static int avs_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) in avs_dai_startup() argument
122 struct avs_dev *adev = to_avs_dev(dai->component->dev); in avs_dai_startup()
126 template = avs_dai_find_path_template(dai, !rtd->dai_link->no_pcm, substream->stream); in avs_dai_startup()
128 dev_err(dai->dev, "no %s path for dai %s, invalid tplg?\n", in avs_dai_startup()
[all …]
/linux/sound/soc/mediatek/mt8365/
H A Dmt8365-dai-pcm.c3 * MediaTek 8365 ALSA SoC Audio DAI PCM Control
23 /* DAI Drivers */
38 struct snd_soc_dai *dai) in mt8365_dai_configure_pcm1() argument
40 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mt8365_dai_configure_pcm1()
47 unsigned int bit_width = dai->symmetric_sample_bits; in mt8365_dai_configure_pcm1()
108 struct snd_soc_dai *dai) in mt8365_dai_pcm1_startup() argument
110 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mt8365_dai_pcm1_startup()
112 if (snd_soc_dai_active(dai)) in mt8365_dai_pcm1_startup()
121 struct snd_soc_dai *dai) in mt8365_dai_pcm1_shutdown() argument
123 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mt8365_dai_pcm1_shutdown()
[all …]
H A Dmt8365-dai-dmic.c3 * MediaTek 8365 ALSA SoC Audio DAI DMIC Control
50 /* DAI Drivers */
70 struct snd_soc_dai *dai) in mt8365_dai_enable_dmic() argument
90 struct snd_soc_dai *dai) in mt8365_dai_disable_dmic() argument
113 struct snd_soc_dai *dai) in mt8365_dai_configure_dmic() argument
121 unsigned int rate = dai->symmetric_rate; in mt8365_dai_configure_dmic()
122 int reg = get_chan_reg(dai->symmetric_channels); in mt8365_dai_configure_dmic()
127 dmic_data->dmic_channel = dai->symmetric_channels; in mt8365_dai_configure_dmic()
163 struct snd_soc_dai *dai) in mt8365_dai_dmic_startup() argument
165 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mt8365_dai_dmic_startup()
[all …]
/linux/sound/soc/meson/
H A Daiu-fifo.c11 #include <sound/soc-dai.h>
36 struct snd_soc_dai *dai = aiu_fifo_dai(substream); in aiu_fifo_pointer() local
37 struct aiu_fifo *fifo = snd_soc_dai_dma_data_get_playback(dai); in aiu_fifo_pointer()
46 static void aiu_fifo_enable(struct snd_soc_dai *dai, bool enable) in aiu_fifo_enable() argument
48 struct snd_soc_component *component = dai->component; in aiu_fifo_enable()
49 struct aiu_fifo *fifo = snd_soc_dai_dma_data_get_playback(dai); in aiu_fifo_enable()
59 struct snd_soc_dai *dai) in aiu_fifo_trigger() argument
65 aiu_fifo_enable(dai, true); in aiu_fifo_trigger()
70 aiu_fifo_enable(dai, false); in aiu_fifo_trigger()
80 struct snd_soc_dai *dai) in aiu_fifo_prepare() argument
[all …]
/linux/sound/soc/mediatek/common/
H A Dmtk-afe-platform-driver.c18 struct mtk_base_afe_dai *dai; in mtk_afe_combine_sub_dai() local
21 /* calcualte total dai driver size */ in mtk_afe_combine_sub_dai()
22 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_combine_sub_dai()
23 num_dai_drivers += dai->num_dai_drivers; in mtk_afe_combine_sub_dai()
26 dev_info(afe->dev, "%s(), num of dai %zd\n", __func__, num_dai_drivers); in mtk_afe_combine_sub_dai()
37 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_combine_sub_dai()
38 /* dai driver */ in mtk_afe_combine_sub_dai()
40 dai->dai_drivers, in mtk_afe_combine_sub_dai()
41 dai->num_dai_drivers * in mtk_afe_combine_sub_dai()
43 dai_idx += dai->num_dai_drivers; in mtk_afe_combine_sub_dai()
[all …]
/linux/sound/soc/fsl/
H A Dimx-hdmi.c24 struct snd_soc_dai_link dai; member
55 dev_err(dev, "failed to set cpu dai tdm slot: %d\n", ret); in imx_hdmi_hw_params()
115 dev_err(&pdev->dev, "cpu dai phandle missing or invalid\n"); in imx_hdmi_probe()
134 data->dai.cpus = &dlc[0]; in imx_hdmi_probe()
135 data->dai.num_cpus = 1; in imx_hdmi_probe()
136 data->dai.platforms = &dlc[1]; in imx_hdmi_probe()
137 data->dai.num_platforms = 1; in imx_hdmi_probe()
138 data->dai.codecs = &dlc[2]; in imx_hdmi_probe()
139 data->dai.num_codecs = 1; in imx_hdmi_probe()
141 data->dai.name = "i.MX HDMI"; in imx_hdmi_probe()
[all …]

12345678910>>...70