Home
last modified time | relevance | path

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

12345678910>>...45

/linux-5.10/sound/soc/
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(struct snd_soc_dai *dai, in _soc_dai_ret() argument
27 dev_err(dai->dev, in _soc_dai_ret()
29 func, dai->name, ret); in _soc_dai_ret()
39 #define soc_dai_mark_push(dai, substream, tgt) ((dai)->mark_##tgt = substream) argument
40 #define soc_dai_mark_pop(dai, substream, tgt) ((dai)->mark_##tgt = NULL) argument
41 #define soc_dai_mark_match(dai, substream, tgt) ((dai)->mark_##tgt == substream) argument
44 * snd_soc_dai_set_sysclk - configure DAI system or master clock.
[all …]
/linux-5.10/include/sound/
Dsoc-dai.h3 * linux/sound/soc-dai.h -- ALSA SoC Layer
7 * Digital Audio Interface (DAI) API.
22 * DAI hardware audio formats.
40 * DAI Clock gating.
42 * DAI bit clocks can be gated (disabled) when the DAI is not
49 * DAI hardware signal polarity.
51 * Specifies whether the DAI can also support inverted clocks for the specified
75 * DAI hardware clock masters.
114 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,
[all …]
Dsimple_card_utils.h66 int dais; /* number of dai */
107 #define asoc_simple_parse_tdm(np, dai) \ argument
108 snd_soc_of_parse_tdm_slot(np, &(dai)->tx_slot_mask, \
109 &(dai)->rx_slot_mask, \
110 &(dai)->slots, \
111 &(dai)->slot_width);
141 struct asoc_simple_dai *dai) in asoc_simple_debug_dai() argument
145 /* dai might be NULL */ in asoc_simple_debug_dai()
146 if (!dai) in asoc_simple_debug_dai()
149 if (dai->name) in asoc_simple_debug_dai()
[all …]
/linux-5.10/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,gx-sound-card.yaml41 "^dai-link-[0-9]+$":
44 dai-link child nodes:
45 Container for dai-link level properties and the CODEC sub-nodes.
49 dai-format:
59 sound-dai:
61 description: phandle of the CPU DAI
68 dai-link representing backend links should have at least one subnode.
69 One subnode for each codec of the dai-link. dai-link representing
73 sound-dai:
75 description: phandle of the codec DAI
[all …]
Dsimple-card.yaml15 description: Indicates dai-link frame master.
20 description: Indicates dai-link bit clock master
25 description: dai-link uses frame clock inversion
29 description: dai-link uses bit clock inversion
32 dai-tdm-slot-num:
36 dai-tdm-slot-width:
56 When defined, mclk-fs property defined in dai-link sub nodes are ignored.
109 dai: schema
112 sound-dai:
129 dai-tdm-slot-num:
[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 …]
Dqcom,q6afe.txt16 "dais" subnode of the AFE node. It represents afe dais, each afe dai is a
17 subnode of "dais" representing board specific dai setup.
18 "dais" node should have following properties followed by dai children.
25 - #sound-dai-cells
40 == AFE DAI is subnode of "dais" and represent a dai, it includes board specific
41 configuration of each dai. Must contain the following properties.
46 Definition: Must be dai id
51 Definition: Must be list of serial data lines used by this dai.
127 #sound-dai-cells = <1>;
131 dai@1 {
[all …]
/linux-5.10/sound/soc/meson/
Daxg-tdm-interface.c11 #include <sound/soc-dai.h>
35 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()
82 /* Amend the dai driver and let dpcm merge do its job */ 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()
[all …]
Daiu-fifo.c10 #include <sound/soc-dai.h>
35 struct snd_soc_dai *dai = aiu_fifo_dai(substream); in aiu_fifo_pointer() local
36 struct aiu_fifo *fifo = dai->playback_dma_data; in aiu_fifo_pointer()
45 static void aiu_fifo_enable(struct snd_soc_dai *dai, bool enable) in aiu_fifo_enable() argument
47 struct snd_soc_component *component = dai->component; in aiu_fifo_enable()
48 struct aiu_fifo *fifo = dai->playback_dma_data; in aiu_fifo_enable()
58 struct snd_soc_dai *dai) in aiu_fifo_trigger() argument
64 aiu_fifo_enable(dai, true); in aiu_fifo_trigger()
69 aiu_fifo_enable(dai, false); in aiu_fifo_trigger()
79 struct snd_soc_dai *dai) in aiu_fifo_prepare() argument
[all …]
Dmeson-codec-glue.c9 #include <sound/soc-dai.h>
39 static void meson_codec_glue_input_set_data(struct snd_soc_dai *dai, in meson_codec_glue_input_set_data() argument
42 dai->playback_dma_data = data; in meson_codec_glue_input_set_data()
46 meson_codec_glue_input_get_data(struct snd_soc_dai *dai) in meson_codec_glue_input_get_data() argument
48 return dai->playback_dma_data; in meson_codec_glue_input_get_data()
57 struct snd_soc_dai *dai; in meson_codec_glue_output_get_input_data() local
62 dai = in->priv; in meson_codec_glue_output_get_input_data()
64 return meson_codec_glue_input_get_data(dai); in meson_codec_glue_output_get_input_data()
69 struct snd_soc_dai *dai) in meson_codec_glue_input_hw_params() argument
72 meson_codec_glue_input_get_data(dai); in meson_codec_glue_input_hw_params()
[all …]
/linux-5.10/arch/arm64/boot/dts/amlogic/
Dmeson-g12b-gtking.dts18 #sound-dai-cells = <0>;
45 dai-link-0 {
46 sound-dai = <&frddr_a>;
49 dai-link-1 {
50 sound-dai = <&frddr_b>;
53 dai-link-2 {
54 sound-dai = <&frddr_c>;
58 dai-link-3 {
59 sound-dai = <&tdmif_b>;
60 dai-format = "i2s";
[all …]
Dmeson-g12b-ugoos-am6.dts18 #sound-dai-cells = <0>;
45 dai-link-0 {
46 sound-dai = <&frddr_a>;
49 dai-link-1 {
50 sound-dai = <&frddr_b>;
53 dai-link-2 {
54 sound-dai = <&frddr_c>;
58 dai-link-3 {
59 sound-dai = <&tdmif_b>;
60 dai-format = "i2s";
[all …]
Dmeson-g12b-gtking-pro.dts58 dai-link-0 {
59 sound-dai = <&frddr_a>;
62 dai-link-1 {
63 sound-dai = <&frddr_b>;
66 dai-link-2 {
67 sound-dai = <&frddr_c>;
71 dai-link-3 {
72 sound-dai = <&tdmif_b>;
73 dai-format = "i2s";
74 dai-tdm-slot-tx-mask-0 = <1 1>;
[all …]
/linux-5.10/sound/soc/ux500/
Dux500_msp_dai.c23 #include <sound/soc-dai.h>
30 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
[all …]
/linux-5.10/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 …]
Dimx-audmix.c29 struct snd_soc_dai_link *dai; member
87 /* set DAI configuration */ in imx_audmix_fe_hw_params()
90 dev_err(dev, "failed to set cpu dai fmt: %d\n", ret); in imx_audmix_fe_hw_params()
107 dev_err(dev, "failed to set cpu dai tdm slot: %d\n", ret); in imx_audmix_fe_hw_params()
127 /* set AUDMIX DAI configuration */ in imx_audmix_be_hw_params()
130 dev_err(dev, "failed to set AUDMIX DAI fmt: %d\n", ret); in imx_audmix_be_hw_params()
188 priv->dai = devm_kcalloc(&pdev->dev, priv->num_dai, in imx_audmix_probe()
190 if (!priv->dai) in imx_audmix_probe()
234 dev_info(pdev->dev.parent, "DAI FE name:%s\n", dai_name); in imx_audmix_probe()
243 priv->dai[i].cpus = &dlc[0]; in imx_audmix_probe()
[all …]
/linux-5.10/sound/soc/mediatek/common/
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-5.10/sound/soc/mediatek/mt6797/
Dmt6797-dai-hostless.c3 // MediaTek ALSA SoC Audio DAI Hostless Control
10 /* dai component */
36 /* dai ops */
38 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()
49 /* dai driver */
62 .name = "Hostless LPBK DAI",
81 .name = "Hostless Speech DAI",
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()
[all …]
/linux-5.10/sound/soc/mediatek/mt8183/
Dmt8183-dai-hostless.c3 // MediaTek ALSA SoC Audio DAI Hostless Control
10 /* dai component */
36 /* dai ops */
38 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()
49 /* dai driver */
62 .name = "Hostless LPBK DAI",
81 .name = "Hostless Speech DAI",
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()
[all …]
/linux-5.10/sound/soc/tegra/
Dtegra210_admaif.c267 struct snd_soc_dai *dai) in tegra_admaif_hw_params() argument
269 struct device *dev = dai->dev; in tegra_admaif_hw_params()
270 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_hw_params()
304 reg = CH_TX_REG(TEGRA_ADMAIF_CH_ACIF_TX_CTRL, dai->id); in tegra_admaif_hw_params()
307 reg = CH_RX_REG(TEGRA_ADMAIF_CH_ACIF_RX_CTRL, dai->id); in tegra_admaif_hw_params()
310 cif_conf.mono_conv = admaif->mono_to_stereo[path][dai->id]; in tegra_admaif_hw_params()
311 cif_conf.stereo_conv = admaif->stereo_to_mono[path][dai->id]; in tegra_admaif_hw_params()
320 static int tegra_admaif_start(struct snd_soc_dai *dai, int direction) in tegra_admaif_start() argument
322 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_start()
329 reg = CH_TX_REG(TEGRA_ADMAIF_TX_ENABLE, dai->id); in tegra_admaif_start()
[all …]
Dtegra210_ahub.c98 DAI(ADMAIF1),
99 DAI(ADMAIF2),
100 DAI(ADMAIF3),
101 DAI(ADMAIF4),
102 DAI(ADMAIF5),
103 DAI(ADMAIF6),
104 DAI(ADMAIF7),
105 DAI(ADMAIF8),
106 DAI(ADMAIF9),
107 DAI(ADMAIF10),
[all …]
/linux-5.10/sound/soc/sof/
Dcompress.c22 struct snd_soc_dai *dai) in sof_probe_compr_open() argument
25 snd_soc_component_get_drvdata(dai->component); in sof_probe_compr_open()
28 ret = snd_sof_probe_compr_assign(sdev, cstream, dai); in sof_probe_compr_open()
30 dev_err(dai->dev, "Failed to assign probe stream: %d\n", ret); in sof_probe_compr_open()
40 struct snd_soc_dai *dai) in sof_probe_compr_free() argument
43 snd_soc_component_get_drvdata(dai->component); in sof_probe_compr_free()
51 dev_err(dai->dev, "Failed to get probe points: %d\n", ret); in sof_probe_compr_free()
62 dev_err(dai->dev, "Failed to deinit probe: %d\n", ret); in sof_probe_compr_free()
67 return snd_sof_probe_compr_free(sdev, cstream, dai); in sof_probe_compr_free()
72 struct snd_compr_params *params, struct snd_soc_dai *dai) in sof_probe_compr_set_params() argument
[all …]
/linux-5.10/sound/pci/ctxfi/
Dctdaio.c57 * For DAO, it is the input mapper index. And, for DAI, in daio_master()
273 static int dai_set_srt_srcl(struct dai *dai, struct rsc *src) in dai_set_srt_srcl() argument
276 dai->hw->dai_srt_set_srcm(dai->ctrl_blk, src->ops->index(src)); in dai_set_srt_srcl()
280 static int dai_set_srt_srcr(struct dai *dai, struct rsc *src) in dai_set_srt_srcr() argument
283 dai->hw->dai_srt_set_srco(dai->ctrl_blk, src->ops->index(src)); in dai_set_srt_srcr()
287 static int dai_set_srt_msr(struct dai *dai, unsigned int msr) in dai_set_srt_msr() argument
294 dai->hw->dai_srt_set_rsr(dai->ctrl_blk, rsr); in dai_set_srt_msr()
298 static int dai_set_enb_src(struct dai *dai, unsigned int enb) in dai_set_enb_src() argument
300 dai->hw->dai_srt_set_ec(dai->ctrl_blk, enb); in dai_set_enb_src()
304 static int dai_set_enb_srt(struct dai *dai, unsigned int enb) in dai_set_enb_srt() argument
[all …]
/linux-5.10/sound/soc/qcom/qdsp6/
Dq6afe-dai.c119 struct snd_soc_dai *dai) in q6slim_hw_params() argument
122 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params()
123 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params()
149 struct snd_soc_dai *dai) in q6hdmi_hw_params() argument
151 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6hdmi_hw_params()
153 struct q6afe_hdmi_cfg *hdmi = &dai_data->port_config[dai->id].hdmi; in q6hdmi_hw_params()
189 dev_err(dai->dev, "invalid Channels = %u\n", channels); in q6hdmi_hw_params()
198 struct snd_soc_dai *dai) in q6i2s_hw_params() argument
200 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6i2s_hw_params()
201 struct q6afe_i2s_cfg *i2s = &dai_data->port_config[dai->id].i2s_cfg; in q6i2s_hw_params()
[all …]

12345678910>>...45