Home
last modified time | relevance | path

Searched refs:dai (Results 1 – 25 of 744) sorted by relevance

12345678910>>...30

/Linux-v5.4/sound/soc/
Dsoc-dai.c21 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, in snd_soc_dai_set_sysclk() argument
24 if (dai->driver->ops->set_sysclk) in snd_soc_dai_set_sysclk()
25 return dai->driver->ops->set_sysclk(dai, clk_id, freq, dir); in snd_soc_dai_set_sysclk()
27 return snd_soc_component_set_sysclk(dai->component, clk_id, 0, in snd_soc_dai_set_sysclk()
42 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, in snd_soc_dai_set_clkdiv() argument
45 if (dai->driver->ops->set_clkdiv) in snd_soc_dai_set_clkdiv()
46 return dai->driver->ops->set_clkdiv(dai, div_id, div); in snd_soc_dai_set_clkdiv()
62 int snd_soc_dai_set_pll(struct snd_soc_dai *dai, int pll_id, int source, in snd_soc_dai_set_pll() argument
65 if (dai->driver->ops->set_pll) in snd_soc_dai_set_pll()
66 return dai->driver->ops->set_pll(dai, pll_id, source, in snd_soc_dai_set_pll()
[all …]
/Linux-v5.4/include/sound/
Dsoc-dai.h114 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id,
117 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai,
120 int snd_soc_dai_set_pll(struct snd_soc_dai *dai,
123 int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio);
126 int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt);
128 int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
131 int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai,
135 int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate);
138 int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute,
142 int snd_soc_dai_get_channel_map(struct snd_soc_dai *dai,
[all …]
Dsimple_card_utils.h106 #define asoc_simple_parse_tdm(np, dai) \ argument
107 snd_soc_of_parse_tdm_slot(np, &(dai)->tx_slot_mask, \
108 &(dai)->rx_slot_mask, \
109 &(dai)->slots, \
110 &(dai)->slot_width);
140 struct asoc_simple_dai *dai) in asoc_simple_debug_dai() argument
145 if (!dai) in asoc_simple_debug_dai()
148 if (dai->name) in asoc_simple_debug_dai()
150 name, dai->name); in asoc_simple_debug_dai()
151 if (dai->sysclk) in asoc_simple_debug_dai()
[all …]
/Linux-v5.4/sound/soc/meson/
Daxg-tdm-interface.c35 int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask, in axg_tdm_set_tdm_slots() argument
39 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots()
41 dai->playback_dma_data; in axg_tdm_set_tdm_slots()
43 dai->capture_dma_data; in axg_tdm_set_tdm_slots()
52 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots()
76 dev_err(dai->dev, "unsupported slot width: %d\n", slot_width); in axg_tdm_set_tdm_slots()
85 dai->driver->playback.channels_max = tx_slots; in axg_tdm_set_tdm_slots()
86 dai->driver->playback.formats = fmt; in axg_tdm_set_tdm_slots()
91 dai->driver->capture.channels_max = rx_slots; in axg_tdm_set_tdm_slots()
92 dai->driver->capture.formats = fmt; in axg_tdm_set_tdm_slots()
[all …]
/Linux-v5.4/sound/soc/ux500/
Dux500_msp_dai.c30 static int setup_pcm_multichan(struct snd_soc_dai *dai, in setup_pcm_multichan() argument
33 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_multichan()
54 dev_dbg(dai->dev, in setup_pcm_multichan()
63 static int setup_frameper(struct snd_soc_dai *dai, unsigned int rate, in setup_frameper() argument
66 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_frameper()
92 dev_err(dai->dev, in setup_frameper()
111 dev_err(dai->dev, in setup_frameper()
120 dev_dbg(dai->dev, "%s: Clocks per frame: %u\n", in setup_frameper()
127 static int setup_pcm_framing(struct snd_soc_dai *dai, unsigned int rate, in setup_pcm_framing() argument
130 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_framing()
[all …]
/Linux-v5.4/Documentation/devicetree/bindings/sound/
Damlogic,axg-sound-card.txt16 - dai-link: Container for dai-link level properties and the CODEC
20 Required dai-link properties:
22 - sound-dai: phandle and port of the CPU DAI.
24 Required TDM Backend dai-link properties:
25 - dai-format : CPU/CODEC common audio format
27 Optional TDM Backend dai-link properties:
28 - dai-tdm-slot-rx-mask-{0,1,2,3}: Receive direction slot masks
29 - dai-tdm-slot-tx-mask-{0,1,2,3}: Transmit direction slot masks
34 - dai-tdm-slot-num : Please refer to tdm-slot.txt.
37 - dai-tdm-slot-width : Please refer to tdm-slot.txt. default to 32 if omitted.
[all …]
Damlogic,g12a-tohdmitx.txt8 - #sound-dai-cells: should be 1.
16 #sound-dai-cells = <1>;
27 dai-link-x {
28 sound-dai = <&tdmif_a>;
29 dai-format = "i2s";
30 dai-tdm-slot-tx-mask-0 = <1 1>;
33 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
37 sound-dai = <&external_dac>;
41 dai-link-y {
42 sound-dai = <&tdmif_c>;
[all …]
Dsimple-card.txt20 dai-link sub nodes are ignored.
32 - simple-audio-card,dai-link : Container for dai-link level
41 If dai-link subnode is omitted and the subnode properties are directly
45 Required dai-link subnodes:
50 Optional dai-link subnode properties:
55 - frame-master : Indicates dai-link frame master.
57 - bitclock-master : Indicates dai-link bit clock master.
60 dai-link uses bit clock inversion.
62 dai-link uses frame clock inversion.
65 the dai-link.
[all …]
/Linux-v5.4/sound/soc/fsl/
Dimx-spdif.c10 struct snd_soc_dai_link dai; member
35 data->dai.cpus = &comp[0]; in imx_spdif_audio_probe()
36 data->dai.codecs = &comp[1]; in imx_spdif_audio_probe()
37 data->dai.platforms = &comp[2]; in imx_spdif_audio_probe()
39 data->dai.num_cpus = 1; in imx_spdif_audio_probe()
40 data->dai.num_codecs = 1; in imx_spdif_audio_probe()
41 data->dai.num_platforms = 1; in imx_spdif_audio_probe()
43 data->dai.name = "S/PDIF PCM"; in imx_spdif_audio_probe()
44 data->dai.stream_name = "S/PDIF PCM"; in imx_spdif_audio_probe()
45 data->dai.codecs->dai_name = "snd-soc-dummy-dai"; in imx_spdif_audio_probe()
[all …]
Dp1022_rdk.c71 struct snd_soc_dai_link dai[2]; member
229 mdata->dai[0].cpus = &comp[0]; in p1022_rdk_probe()
230 mdata->dai[0].codecs = &comp[1]; in p1022_rdk_probe()
231 mdata->dai[0].platforms = &comp[2]; in p1022_rdk_probe()
233 mdata->dai[0].num_cpus = 1; in p1022_rdk_probe()
234 mdata->dai[0].num_codecs = 1; in p1022_rdk_probe()
235 mdata->dai[0].num_platforms = 1; in p1022_rdk_probe()
237 mdata->dai[1].cpus = &comp[3]; in p1022_rdk_probe()
238 mdata->dai[1].codecs = &comp[4]; in p1022_rdk_probe()
239 mdata->dai[1].platforms = &comp[5]; in p1022_rdk_probe()
[all …]
Dimx-audmix.c29 struct snd_soc_dai_link *dai; member
188 priv->dai = devm_kzalloc(&pdev->dev, priv->num_dai * in imx_audmix_probe()
190 if (!priv->dai) in imx_audmix_probe()
243 priv->dai[i].cpus = &dlc[0]; in imx_audmix_probe()
244 priv->dai[i].codecs = &dlc[1]; in imx_audmix_probe()
245 priv->dai[i].platforms = &dlc[2]; in imx_audmix_probe()
247 priv->dai[i].num_cpus = 1; in imx_audmix_probe()
248 priv->dai[i].num_codecs = 1; in imx_audmix_probe()
249 priv->dai[i].num_platforms = 1; in imx_audmix_probe()
251 priv->dai[i].name = dai_name; in imx_audmix_probe()
[all …]
Dp1022_ds.c64 struct snd_soc_dai_link dai[2]; member
226 mdata->dai[0].cpus = &comp[0]; in p1022_ds_probe()
227 mdata->dai[0].codecs = &comp[1]; in p1022_ds_probe()
228 mdata->dai[0].platforms = &comp[2]; in p1022_ds_probe()
230 mdata->dai[0].num_cpus = 1; in p1022_ds_probe()
231 mdata->dai[0].num_codecs = 1; in p1022_ds_probe()
232 mdata->dai[0].num_platforms = 1; in p1022_ds_probe()
234 mdata->dai[1].cpus = &comp[3]; in p1022_ds_probe()
235 mdata->dai[1].codecs = &comp[4]; in p1022_ds_probe()
236 mdata->dai[1].platforms = &comp[5]; in p1022_ds_probe()
[all …]
Dmpc8610_hpcd.c31 struct snd_soc_dai_link dai[2]; member
216 machine_data->dai[0].cpus = &comp[0]; in mpc8610_hpcd_probe()
217 machine_data->dai[0].codecs = &comp[1]; in mpc8610_hpcd_probe()
218 machine_data->dai[0].platforms = &comp[2]; in mpc8610_hpcd_probe()
220 machine_data->dai[0].num_cpus = 1; in mpc8610_hpcd_probe()
221 machine_data->dai[0].num_codecs = 1; in mpc8610_hpcd_probe()
222 machine_data->dai[0].num_platforms = 1; in mpc8610_hpcd_probe()
224 machine_data->dai[1].cpus = &comp[3]; in mpc8610_hpcd_probe()
225 machine_data->dai[1].codecs = &comp[4]; in mpc8610_hpcd_probe()
226 machine_data->dai[1].platforms = &comp[5]; in mpc8610_hpcd_probe()
[all …]
/Linux-v5.4/sound/soc/atmel/
Dmikroe-proto.c65 struct snd_soc_dai_link *dai; in snd_proto_probe() local
84 dai = devm_kzalloc(&pdev->dev, sizeof(*dai), GFP_KERNEL); in snd_proto_probe()
85 if (!dai) in snd_proto_probe()
93 snd_proto.dai_link = dai; in snd_proto_probe()
96 dai->cpus = &comp[0]; in snd_proto_probe()
97 dai->num_cpus = 1; in snd_proto_probe()
98 dai->codecs = &comp[1]; in snd_proto_probe()
99 dai->num_codecs = 1; in snd_proto_probe()
100 dai->platforms = &comp[2]; in snd_proto_probe()
101 dai->num_platforms = 1; in snd_proto_probe()
[all …]
Dsam9x5_wm8731.c78 struct snd_soc_dai_link *dai; in sam9x5_wm8731_driver_probe() local
90 dai = devm_kzalloc(&pdev->dev, sizeof(*dai), GFP_KERNEL); in sam9x5_wm8731_driver_probe()
92 if (!dai || !card || !priv || !comp) { in sam9x5_wm8731_driver_probe()
101 card->dai_link = dai; in sam9x5_wm8731_driver_probe()
106 dai->cpus = &comp[0]; in sam9x5_wm8731_driver_probe()
107 dai->num_cpus = 1; in sam9x5_wm8731_driver_probe()
108 dai->codecs = &comp[1]; in sam9x5_wm8731_driver_probe()
109 dai->num_codecs = 1; in sam9x5_wm8731_driver_probe()
110 dai->platforms = &comp[2]; in sam9x5_wm8731_driver_probe()
111 dai->num_platforms = 1; in sam9x5_wm8731_driver_probe()
[all …]
/Linux-v5.4/sound/soc/mediatek/common/
Dmtk-afe-platform-driver.c18 struct mtk_base_afe_dai *dai; in mtk_afe_combine_sub_dai() local
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()
37 list_for_each_entry(dai, &afe->sub_dais, list) { 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()
52 struct mtk_base_afe_dai *dai; in mtk_afe_add_sub_dai_control() local
54 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_add_sub_dai_control()
55 if (dai->controls) in mtk_afe_add_sub_dai_control()
[all …]
/Linux-v5.4/sound/soc/qcom/qdsp6/
Dq6afe-dai.c77 struct snd_soc_dai *dai) in q6slim_hw_params() argument
80 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params()
81 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params()
107 struct snd_soc_dai *dai) in q6hdmi_hw_params() argument
109 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6hdmi_hw_params()
111 struct q6afe_hdmi_cfg *hdmi = &dai_data->port_config[dai->id].hdmi; in q6hdmi_hw_params()
147 dev_err(dai->dev, "invalid Channels = %u\n", channels); in q6hdmi_hw_params()
156 struct snd_soc_dai *dai) in q6i2s_hw_params() argument
158 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6i2s_hw_params()
159 struct q6afe_i2s_cfg *i2s = &dai_data->port_config[dai->id].i2s_cfg; in q6i2s_hw_params()
[all …]
/Linux-v5.4/sound/soc/codecs/
Dhdac_hda.c36 struct snd_soc_dai *dai);
38 struct snd_soc_dai *dai);
40 struct snd_soc_dai *dai);
43 struct snd_soc_dai *dai);
45 struct snd_soc_dai *dai);
46 static int hdac_hda_dai_set_tdm_slot(struct snd_soc_dai *dai,
50 struct snd_soc_dai *dai);
128 static int hdac_hda_dai_set_tdm_slot(struct snd_soc_dai *dai, in hdac_hda_dai_set_tdm_slot() argument
132 struct snd_soc_component *component = dai->component; in hdac_hda_dai_set_tdm_slot()
137 pcm = &hda_pvt->pcm[dai->id]; in hdac_hda_dai_set_tdm_slot()
[all …]
/Linux-v5.4/sound/soc/qcom/
Dlpass-cpu.c22 static int lpass_cpu_daiops_set_sysclk(struct snd_soc_dai *dai, int clk_id, in lpass_cpu_daiops_set_sysclk() argument
25 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_set_sysclk()
28 ret = clk_set_rate(drvdata->mi2s_osr_clk[dai->driver->id], freq); in lpass_cpu_daiops_set_sysclk()
30 dev_err(dai->dev, "error setting mi2s osrclk to %u: %d\n", in lpass_cpu_daiops_set_sysclk()
37 struct snd_soc_dai *dai) in lpass_cpu_daiops_startup() argument
39 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_startup()
42 ret = clk_prepare_enable(drvdata->mi2s_osr_clk[dai->driver->id]); in lpass_cpu_daiops_startup()
44 dev_err(dai->dev, "error in enabling mi2s osr clk: %d\n", ret); in lpass_cpu_daiops_startup()
48 ret = clk_prepare_enable(drvdata->mi2s_bit_clk[dai->driver->id]); in lpass_cpu_daiops_startup()
50 dev_err(dai->dev, "error in enabling mi2s bit clk: %d\n", ret); in lpass_cpu_daiops_startup()
[all …]
/Linux-v5.4/sound/soc/mediatek/mt6797/
Dmt6797-dai-pcm.c183 struct snd_soc_dai *dai) in mtk_dai_pcm_hw_params() argument
185 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_hw_params()
187 unsigned int rate_reg = mt6797_rate_transform(afe->dev, rate, dai->id); in mtk_dai_pcm_hw_params()
192 dai->id, in mtk_dai_pcm_hw_params()
196 dai->playback_widget->active, in mtk_dai_pcm_hw_params()
197 dai->capture_widget->active); in mtk_dai_pcm_hw_params()
199 if (dai->playback_widget->active || dai->capture_widget->active) in mtk_dai_pcm_hw_params()
202 switch (dai->id) { in mtk_dai_pcm_hw_params()
233 __func__, dai->id); in mtk_dai_pcm_hw_params()
301 struct mtk_base_afe_dai *dai; in mt6797_dai_pcm_register() local
[all …]
Dmt6797-dai-hostless.c38 struct snd_soc_dai *dai) in mtk_dai_hostless_startup() argument
40 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_hostless_startup()
103 struct mtk_base_afe_dai *dai; in mt6797_dai_hostless_register() local
105 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt6797_dai_hostless_register()
106 if (!dai) in mt6797_dai_hostless_register()
109 list_add(&dai->list, &afe->sub_dais); in mt6797_dai_hostless_register()
111 dai->dai_drivers = mtk_dai_hostless_driver; in mt6797_dai_hostless_register()
112 dai->num_dai_drivers = ARRAY_SIZE(mtk_dai_hostless_driver); in mt6797_dai_hostless_register()
114 dai->dapm_routes = mtk_dai_hostless_routes; in mt6797_dai_hostless_register()
115 dai->num_dapm_routes = ARRAY_SIZE(mtk_dai_hostless_routes); in mt6797_dai_hostless_register()
/Linux-v5.4/sound/soc/mediatek/mt8183/
Dmt8183-dai-pcm.c183 struct snd_soc_dai *dai) in mtk_dai_pcm_hw_params() argument
185 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_hw_params()
187 unsigned int rate_reg = mt8183_rate_transform(afe->dev, rate, dai->id); in mtk_dai_pcm_hw_params()
192 dai->id, in mtk_dai_pcm_hw_params()
196 dai->playback_widget->active, in mtk_dai_pcm_hw_params()
197 dai->capture_widget->active); in mtk_dai_pcm_hw_params()
199 if (dai->playback_widget->active || dai->capture_widget->active) in mtk_dai_pcm_hw_params()
202 switch (dai->id) { in mtk_dai_pcm_hw_params()
233 __func__, dai->id); in mtk_dai_pcm_hw_params()
301 struct mtk_base_afe_dai *dai; in mt8183_dai_pcm_register() local
[all …]
Dmt8183-dai-hostless.c38 struct snd_soc_dai *dai) in mtk_dai_hostless_startup() argument
40 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_hostless_startup()
103 struct mtk_base_afe_dai *dai; in mt8183_dai_hostless_register() local
105 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt8183_dai_hostless_register()
106 if (!dai) in mt8183_dai_hostless_register()
109 list_add(&dai->list, &afe->sub_dais); in mt8183_dai_hostless_register()
111 dai->dai_drivers = mtk_dai_hostless_driver; in mt8183_dai_hostless_register()
112 dai->num_dai_drivers = ARRAY_SIZE(mtk_dai_hostless_driver); in mt8183_dai_hostless_register()
114 dai->dapm_routes = mtk_dai_hostless_routes; in mt8183_dai_hostless_register()
115 dai->num_dapm_routes = ARRAY_SIZE(mtk_dai_hostless_routes); in mt8183_dai_hostless_register()
/Linux-v5.4/drivers/staging/greybus/
Daudio_module.c206 struct gbaudio_data_connection *dai; in gb_audio_add_data_connection() local
208 dai = devm_kzalloc(gbmodule->dev, sizeof(*dai), GFP_KERNEL); in gb_audio_add_data_connection()
209 if (!dai) in gb_audio_add_data_connection()
216 devm_kfree(gbmodule->dev, dai); in gb_audio_add_data_connection()
221 dai->id = 0; in gb_audio_add_data_connection()
222 dai->data_cport = connection->intf_cport_id; in gb_audio_add_data_connection()
223 dai->connection = connection; in gb_audio_add_data_connection()
224 list_add(&dai->list, &gbmodule->data_list); in gb_audio_add_data_connection()
240 struct gbaudio_data_connection *dai, *_dai; in gb_audio_probe() local
326 list_for_each_entry(dai, &gbmodule->data_list, list) { in gb_audio_probe()
[all …]
/Linux-v5.4/sound/pci/ctxfi/
Dctdaio.h57 struct dai { struct
81 int (*set_srt_srcl)(struct dai *dai, struct rsc *src); argument
82 int (*set_srt_srcr)(struct dai *dai, struct rsc *src);
83 int (*set_srt_msr)(struct dai *dai, unsigned int msr);
84 int (*set_enb_src)(struct dai *dai, unsigned int enb);
85 int (*set_enb_srt)(struct dai *dai, unsigned int enb);
86 int (*commit_write)(struct dai *dai);

12345678910>>...30