/Linux-v5.15/sound/soc/ |
D | soc-dai.c | 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 52 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, in snd_soc_dai_set_sysclk() argument 57 if (dai->driver->ops && in snd_soc_dai_set_sysclk() 58 dai->driver->ops->set_sysclk) in snd_soc_dai_set_sysclk() [all …]
|
/Linux-v5.15/include/sound/ |
D | soc-dai.h | 165 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, 168 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, 171 int snd_soc_dai_set_pll(struct snd_soc_dai *dai, 174 int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio); 178 u64 snd_soc_dai_get_fmt(struct snd_soc_dai *dai, int priority); 179 int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt); 181 int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, 184 int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai, 188 int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate); 191 int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute, [all …]
|
D | simple_card_utils.h | 150 #define asoc_simple_parse_tdm(np, dai) \ argument 151 snd_soc_of_parse_tdm_slot(np, &(dai)->tx_slot_mask, \ 152 &(dai)->rx_slot_mask, \ 153 &(dai)->slots, \ 154 &(dai)->slot_width); 187 struct asoc_simple_dai *dai) in asoc_simple_debug_dai() argument 192 if (!dai) in asoc_simple_debug_dai() 195 if (dai->name) in asoc_simple_debug_dai() 197 name, dai->name); in asoc_simple_debug_dai() 199 if (dai->slots) in asoc_simple_debug_dai() [all …]
|
/Linux-v5.15/sound/soc/meson/ |
D | axg-tdm-interface.c | 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() 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 …]
|
D | aiu-fifo.c | 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 81 struct snd_soc_component *component = dai->component; in aiu_fifo_prepare() [all …]
|
D | meson-codec-glue.c | 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() 80 data->params.sig_bits = dai->driver->playback.sig_bits; in meson_codec_glue_input_hw_params() [all …]
|
/Linux-v5.15/sound/soc/ux500/ |
D | ux500_msp_dai.c | 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 130 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_framing() [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/sound/ |
D | amlogic,axg-sound-card.txt | 16 - 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 …]
|
D | amlogic,g12a-tohdmitx.txt | 8 - #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 …]
|
/Linux-v5.15/arch/arm64/boot/dts/amlogic/ |
D | meson-g12b-gtking.dts | 23 #sound-dai-cells = <0>; 50 dai-link-0 { 51 sound-dai = <&frddr_a>; 54 dai-link-1 { 55 sound-dai = <&frddr_b>; 58 dai-link-2 { 59 sound-dai = <&frddr_c>; 63 dai-link-3 { 64 sound-dai = <&tdmif_b>; 65 dai-format = "i2s"; [all …]
|
D | meson-g12b-ugoos-am6.dts | 18 #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 …]
|
D | meson-g12b-gtking-pro.dts | 63 dai-link-0 { 64 sound-dai = <&frddr_a>; 67 dai-link-1 { 68 sound-dai = <&frddr_b>; 71 dai-link-2 { 72 sound-dai = <&frddr_c>; 76 dai-link-3 { 77 sound-dai = <&tdmif_b>; 78 dai-format = "i2s"; 79 dai-tdm-slot-tx-mask-0 = <1 1>; [all …]
|
D | meson-g12b-gsking-x.dts | 54 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>; 67 dai-link-3 { 68 sound-dai = <&tdmif_a>; 69 dai-format = "i2s"; 70 dai-tdm-slot-tx-mask-0 = <1 1>; [all …]
|
/Linux-v5.15/sound/soc/fsl/ |
D | imx-spdif.c | 10 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 …]
|
D | imx-rpmsg.c | 20 struct snd_soc_dai_link dai; member 56 data->dai.cpus = &dlc[0]; in imx_rpmsg_probe() 57 data->dai.num_cpus = 1; in imx_rpmsg_probe() 58 data->dai.platforms = &dlc[1]; in imx_rpmsg_probe() 59 data->dai.num_platforms = 1; in imx_rpmsg_probe() 60 data->dai.codecs = &dlc[2]; in imx_rpmsg_probe() 61 data->dai.num_codecs = 1; in imx_rpmsg_probe() 63 data->dai.name = "rpmsg hifi"; in imx_rpmsg_probe() 64 data->dai.stream_name = "rpmsg hifi"; in imx_rpmsg_probe() 65 data->dai.dai_fmt = SND_SOC_DAIFMT_I2S | in imx_rpmsg_probe() [all …]
|
D | p1022_rdk.c | 71 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 …]
|
D | imx-hdmi.c | 24 struct snd_soc_dai_link dai; member 132 data->dai.cpus = &dlc[0]; in imx_hdmi_probe() 133 data->dai.num_cpus = 1; in imx_hdmi_probe() 134 data->dai.platforms = &dlc[1]; in imx_hdmi_probe() 135 data->dai.num_platforms = 1; in imx_hdmi_probe() 136 data->dai.codecs = &dlc[2]; in imx_hdmi_probe() 137 data->dai.num_codecs = 1; in imx_hdmi_probe() 139 data->dai.name = "i.MX HDMI"; in imx_hdmi_probe() 140 data->dai.stream_name = "i.MX HDMI"; in imx_hdmi_probe() 141 data->dai.cpus->dai_name = dev_name(&cpu_pdev->dev); in imx_hdmi_probe() [all …]
|
D | imx-audmix.c | 29 struct snd_soc_dai_link *dai; member 188 priv->dai = devm_kcalloc(&pdev->dev, priv->num_dai, in imx_audmix_probe() 190 if (!priv->dai) in imx_audmix_probe() 241 priv->dai[i].cpus = &dlc[0]; in imx_audmix_probe() 242 priv->dai[i].codecs = &dlc[1]; in imx_audmix_probe() 243 priv->dai[i].platforms = &dlc[2]; in imx_audmix_probe() 245 priv->dai[i].num_cpus = 1; in imx_audmix_probe() 246 priv->dai[i].num_codecs = 1; in imx_audmix_probe() 247 priv->dai[i].num_platforms = 1; in imx_audmix_probe() 249 priv->dai[i].name = dai_name; in imx_audmix_probe() [all …]
|
D | p1022_ds.c | 64 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 …]
|
/Linux-v5.15/sound/soc/mediatek/common/ |
D | mtk-afe-platform-driver.c | 18 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.15/sound/soc/atmel/ |
D | mikroe-proto.c | 65 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 …]
|
D | sam9x5_wm8731.c | 78 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.15/sound/soc/mediatek/mt8195/ |
D | mt8195-dai-pcm.c | 117 struct snd_soc_dai *dai) in mtk_dai_pcm_configure() argument 120 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_configure() 122 struct mtk_dai_pcmif_priv *pcmif_priv = afe_priv->dai_priv[dai->id]; in mtk_dai_pcm_configure() 127 unsigned int bit_width = dai->sample_bits; in mtk_dai_pcm_configure() 211 struct snd_soc_dai *dai) in mtk_dai_pcm_startup() argument 213 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_startup() 216 if (dai->component->active) in mtk_dai_pcm_startup() 227 struct snd_soc_dai *dai) in mtk_dai_pcm_shutdown() argument 229 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_shutdown() 232 if (dai->component->active) in mtk_dai_pcm_shutdown() [all …]
|
/Linux-v5.15/sound/soc/sof/ |
D | compress.c | 22 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-v5.15/sound/soc/qcom/qdsp6/ |
D | q6afe-dai.c | 119 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 …]
|