/openbmc/linux/sound/soc/ |
H A 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 …]
|
/openbmc/linux/include/sound/ |
H A D | soc-dai.h | 171 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, 174 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, 177 int snd_soc_dai_set_pll(struct snd_soc_dai *dai, 180 int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio); 184 u64 snd_soc_dai_get_fmt(struct snd_soc_dai *dai, int priority); 185 int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt); 187 int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, 190 int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai, 194 int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate); 197 int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute, [all …]
|
/openbmc/linux/sound/soc/qcom/qdsp6/ |
H A D | q6apm-lpass-dais.c | 26 static int q6dma_set_channel_map(struct snd_soc_dai *dai, in q6dma_set_channel_map() argument 31 struct q6apm_lpass_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6dma_set_channel_map() 32 struct audioreach_module_config *cfg = &dai_data->module_config[dai->id]; in q6dma_set_channel_map() 35 switch (dai->id) { in q6dma_set_channel_map() 49 dev_err(dai->dev, "tx slot not found\n"); in q6dma_set_channel_map() 54 dev_err(dai->dev, "invalid tx num %d\n", in q6dma_set_channel_map() 73 dev_err(dai->dev, "rx slot not found\n"); in q6dma_set_channel_map() 77 dev_err(dai->dev, "invalid rx num %d\n", in q6dma_set_channel_map() 85 dev_err(dai->dev, "%s: invalid dai id 0x%x\n", in q6dma_set_channel_map() 86 __func__, dai->id); in q6dma_set_channel_map() [all …]
|
H A D | q6afe-dai.c | 38 struct snd_soc_dai *dai) in q6slim_hw_params() argument 41 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params() 42 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params() 68 struct snd_soc_dai *dai) in q6hdmi_hw_params() argument 70 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6hdmi_hw_params() 72 struct q6afe_hdmi_cfg *hdmi = &dai_data->port_config[dai->id].hdmi; in q6hdmi_hw_params() 96 struct snd_soc_dai *dai) in q6i2s_hw_params() argument 98 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6i2s_hw_params() 99 struct q6afe_i2s_cfg *i2s = &dai_data->port_config[dai->id].i2s_cfg; in q6i2s_hw_params() 104 i2s->sd_line_mask = dai_data->priv[dai->id].sd_line_mask; in q6i2s_hw_params() [all …]
|
/openbmc/linux/sound/soc/meson/ |
H A D | axg-tdm-interface.c | 38 int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask, in axg_tdm_set_tdm_slots() argument 42 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots() 43 struct axg_tdm_stream *tx = snd_soc_dai_dma_data_get_playback(dai); in axg_tdm_set_tdm_slots() 44 struct axg_tdm_stream *rx = snd_soc_dai_dma_data_get_capture(dai); in axg_tdm_set_tdm_slots() 53 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() 77 dev_err(dai->dev, "unsupported slot width: %d\n", slot_width); in axg_tdm_set_tdm_slots() 86 dai->driver->playback.channels_max = tx_slots; in axg_tdm_set_tdm_slots() 87 dai->driver->playback.formats = fmt; in axg_tdm_set_tdm_slots() 92 dai->driver->capture.channels_max = rx_slots; in axg_tdm_set_tdm_slots() 93 dai->driver->capture.formats = fmt; in axg_tdm_set_tdm_slots() [all …]
|
H A D | aiu-fifo.c | 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 82 struct snd_soc_component *component = dai->component; in aiu_fifo_prepare() [all …]
|
H A 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 snd_soc_dai_dma_data_set_playback(dai, 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 snd_soc_dai_dma_data_get_playback(dai); 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 …]
|
/openbmc/linux/sound/soc/ux500/ |
H A D | ux500_msp_dai.c | 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 127 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_framing() [all …]
|
/openbmc/linux/sound/soc/intel/avs/ |
H A D | pcm.c | 36 avs_dai_find_path_template(struct snd_soc_dai *dai, bool is_fe, int direction) in avs_dai_find_path_template() argument 38 struct snd_soc_dapm_widget *dw = snd_soc_dai_get_widget(dai, direction); in avs_dai_find_path_template() 58 static int avs_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai, bool is_fe, in avs_dai_startup() argument 62 struct avs_dev *adev = to_avs_dev(dai->dev); in avs_dai_startup() 66 template = avs_dai_find_path_template(dai, is_fe, substream->stream); in avs_dai_startup() 68 dev_err(dai->dev, "no %s path for dai %s, invalid tplg?\n", in avs_dai_startup() 69 snd_pcm_stream_str(substream), dai->name); in avs_dai_startup() 79 snd_soc_dai_set_dma_data(dai, substream, data); in avs_dai_startup() 89 struct snd_pcm_hw_params *be_hw_params, struct snd_soc_dai *dai, in avs_dai_hw_params() argument 94 struct avs_dev *adev = to_avs_dev(dai->dev); in avs_dai_hw_params() [all …]
|
/openbmc/linux/arch/arm64/boot/dts/amlogic/ |
H A D | meson-sm1-bananapi-m5.dts | 68 dai-link-0 { 69 sound-dai = <&frddr_a>; 72 dai-link-1 { 73 sound-dai = <&frddr_b>; 76 dai-link-2 { 77 sound-dai = <&frddr_c>; 80 dai-link-3 { 81 sound-dai = <&toddr_a>; 84 dai-link-4 { 85 sound-dai = <&toddr_b>; [all …]
|
H A D | meson-g12b-gtking.dts | 23 #sound-dai-cells = <0>; 49 dai-link-0 { 50 sound-dai = <&frddr_a>; 53 dai-link-1 { 54 sound-dai = <&frddr_b>; 57 dai-link-2 { 58 sound-dai = <&frddr_c>; 62 dai-link-3 { 63 sound-dai = <&tdmif_b>; 64 dai-format = "i2s"; [all …]
|
H A D | meson-g12b-odroid-n2l.dts | 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>; 62 dai-link-3 { 63 sound-dai = <&toddr_a>; 66 dai-link-4 { 67 sound-dai = <&toddr_b>; [all …]
|
H A D | meson-g12b-ugoos-am6.dts | 18 #sound-dai-cells = <0>; 44 dai-link-0 { 45 sound-dai = <&frddr_a>; 48 dai-link-1 { 49 sound-dai = <&frddr_b>; 52 dai-link-2 { 53 sound-dai = <&frddr_c>; 57 dai-link-3 { 58 sound-dai = <&tdmif_b>; 59 dai-format = "i2s"; [all …]
|
H A D | meson-sm1-bananapi-m2-pro.dts | 33 dai-link-0 { 34 sound-dai = <&frddr_a>; 37 dai-link-1 { 38 sound-dai = <&frddr_b>; 41 dai-link-2 { 42 sound-dai = <&frddr_c>; 46 dai-link-3 { 47 sound-dai = <&tdmif_b>; 48 dai-format = "i2s"; 49 dai-tdm-slot-tx-mask-0 = <1 1>; [all …]
|
H A D | meson-sm1-a95xf3-air.dts | 33 dai-link-0 { 34 sound-dai = <&frddr_a>; 37 dai-link-1 { 38 sound-dai = <&frddr_b>; 41 dai-link-2 { 42 sound-dai = <&frddr_c>; 46 dai-link-3 { 47 sound-dai = <&tdmif_b>; 48 dai-format = "i2s"; 49 dai-tdm-slot-tx-mask-0 = <1 1>; [all …]
|
H A D | meson-sm1-x96-air.dts | 33 dai-link-0 { 34 sound-dai = <&frddr_a>; 37 dai-link-1 { 38 sound-dai = <&frddr_b>; 41 dai-link-2 { 42 sound-dai = <&frddr_c>; 46 dai-link-3 { 47 sound-dai = <&tdmif_b>; 48 dai-format = "i2s"; 49 dai-tdm-slot-tx-mask-0 = <1 1>; [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A 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 …]
|
/openbmc/linux/sound/soc/fsl/ |
H A D | imx-spdif.c | 10 struct snd_soc_dai_link dai; member 39 data->dai.cpus = in imx_spdif_audio_probe() 40 data->dai.platforms = comp; in imx_spdif_audio_probe() 41 data->dai.codecs = &asoc_dummy_dlc; in imx_spdif_audio_probe() 43 data->dai.num_cpus = 1; in imx_spdif_audio_probe() 44 data->dai.num_codecs = 1; in imx_spdif_audio_probe() 45 data->dai.num_platforms = 1; in imx_spdif_audio_probe() 47 data->dai.name = "S/PDIF PCM"; in imx_spdif_audio_probe() 48 data->dai.stream_name = "S/PDIF PCM"; in imx_spdif_audio_probe() 49 data->dai.cpus->of_node = spdif_np; in imx_spdif_audio_probe() [all …]
|
H A 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 …]
|
H A D | imx-rpmsg.c | 20 struct snd_soc_dai_link dai; member 79 data->dai.cpus = &dlc[0]; in imx_rpmsg_probe() 80 data->dai.num_cpus = 1; in imx_rpmsg_probe() 81 data->dai.platforms = &dlc[1]; in imx_rpmsg_probe() 82 data->dai.num_platforms = 1; in imx_rpmsg_probe() 83 data->dai.codecs = &dlc[2]; in imx_rpmsg_probe() 84 data->dai.num_codecs = 1; in imx_rpmsg_probe() 86 data->dai.name = "rpmsg hifi"; in imx_rpmsg_probe() 87 data->dai.stream_name = "rpmsg hifi"; in imx_rpmsg_probe() 88 data->dai.dai_fmt = SND_SOC_DAIFMT_I2S | in imx_rpmsg_probe() [all …]
|
H A D | imx-hdmi.c | 24 struct snd_soc_dai_link dai; member 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() 142 data->dai.stream_name = "i.MX HDMI"; in imx_hdmi_probe() 143 data->dai.cpus->dai_name = dev_name(&cpu_pdev->dev); in imx_hdmi_probe() [all …]
|
/openbmc/linux/sound/soc/mediatek/common/ |
H A 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 …]
|
/openbmc/linux/sound/soc/atmel/ |
H A 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 …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | hda-dai.c | 12 static int hda_codec_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) in hda_codec_dai_startup() argument 19 codec = dev_to_hda_codec(dai->dev); in hda_codec_dai_startup() 20 stream_info = snd_soc_dai_get_dma_data(dai, substream); in hda_codec_dai_startup() 23 dev_dbg(dai->dev, "open stream codec: %08x, info: %p, pcm: %p %s substream: %p\n", in hda_codec_dai_startup() 30 dev_err(dai->dev, "codec open failed: %d\n", ret); in hda_codec_dai_startup() 38 static void hda_codec_dai_shutdown(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) in hda_codec_dai_shutdown() argument 45 codec = dev_to_hda_codec(dai->dev); in hda_codec_dai_shutdown() 46 stream_info = snd_soc_dai_get_dma_data(dai, substream); in hda_codec_dai_shutdown() 49 dev_dbg(dai->dev, "close stream codec: %08x, info: %p, pcm: %p %s substream: %p\n", in hda_codec_dai_shutdown() 54 dev_err(dai->dev, "codec close failed: %d\n", ret); in hda_codec_dai_shutdown() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8195/ |
H A D | mt8195-dai-pcm.c | 120 struct snd_soc_dai *dai) in mtk_dai_pcm_configure() argument 123 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_pcm_configure() 130 unsigned int bit_width = dai->sample_bits; in mtk_dai_pcm_configure() 136 if (dai->id != MT8195_AFE_IO_PCM) in mtk_dai_pcm_configure() 139 pcmif_priv = afe_priv->dai_priv[dai->id]; in mtk_dai_pcm_configure() 223 struct snd_soc_dai *dai) in mtk_dai_pcm_prepare() argument 225 struct snd_soc_dapm_widget *p = snd_soc_dai_get_widget_playback(dai); in mtk_dai_pcm_prepare() 226 struct snd_soc_dapm_widget *c = snd_soc_dai_get_widget_capture(dai); in mtk_dai_pcm_prepare() 228 dev_dbg(dai->dev, "%s(), id %d, stream %d, widget active p %d, c %d\n", in mtk_dai_pcm_prepare() 229 __func__, dai->id, substream->stream, in mtk_dai_pcm_prepare() [all …]
|