Lines Matching refs:dai_link
110 return rtd->dai_link->num_codecs ? attr->mode : 0; /* enabled only with codec */ in soc_dev_attr_is_visible()
403 struct snd_soc_dai_link *dai_link) in snd_soc_get_pcm_runtime() argument
408 if (rtd->dai_link == dai_link) in snd_soc_get_pcm_runtime()
411 dev_dbg(card->dev, "ASoC: failed to find rtd %s\n", dai_link->name); in snd_soc_get_pcm_runtime()
494 struct snd_soc_card *card, struct snd_soc_dai_link *dai_link) in soc_new_pcm_runtime() argument
511 dev_set_name(dev, "%s", dai_link->name); in soc_new_pcm_runtime()
524 dai_link->num_cpus + in soc_new_pcm_runtime()
525 dai_link->num_codecs + in soc_new_pcm_runtime()
526 dai_link->num_platforms), in soc_new_pcm_runtime()
545 rtd->dais = devm_kcalloc(dev, dai_link->num_cpus + dai_link->num_codecs, in soc_new_pcm_runtime()
560 rtd->dai_link = dai_link; in soc_new_pcm_runtime()
580 struct snd_soc_dai_link *dai_link; in snd_soc_fill_dummy_dai() local
588 for_each_card_prelinks(card, i, dai_link) { in snd_soc_fill_dummy_dai()
589 if (dai_link->num_cpus == 0 && dai_link->cpus) { in snd_soc_fill_dummy_dai()
590 dai_link->num_cpus = 1; in snd_soc_fill_dummy_dai()
591 dai_link->cpus = &snd_soc_dummy_dlc; in snd_soc_fill_dummy_dai()
593 if (dai_link->num_codecs == 0 && dai_link->codecs) { in snd_soc_fill_dummy_dai()
594 dai_link->num_codecs = 1; in snd_soc_fill_dummy_dai()
595 dai_link->codecs = &snd_soc_dummy_dlc; in snd_soc_fill_dummy_dai()
618 if (rtd->dai_link->ignore_suspend) in soc_playback_digital_mute()
635 if (rtd->dai_link->ignore_suspend) in soc_dapm_suspend_resume()
669 if (rtd->dai_link->ignore_suspend) in snd_soc_suspend()
689 if (rtd->dai_link->ignore_suspend) in snd_soc_suspend()
1072 struct snd_soc_dai_link *dai_link) in snd_soc_compensate_channel_connection_map() argument
1085 if (dai_link->num_cpus > 1 && dai_link->num_codecs > 1 && in snd_soc_compensate_channel_connection_map()
1086 dai_link->num_cpus != dai_link->num_codecs && !dai_link->ch_maps) { in snd_soc_compensate_channel_connection_map()
1088 dai_link->name); in snd_soc_compensate_channel_connection_map()
1093 if (dai_link->ch_maps) in snd_soc_compensate_channel_connection_map()
1097 if (dai_link->num_cpus > MAX_DEFAULT_CH_MAP_SIZE || in snd_soc_compensate_channel_connection_map()
1098 dai_link->num_codecs > MAX_DEFAULT_CH_MAP_SIZE) { in snd_soc_compensate_channel_connection_map()
1104 if (dai_link->num_cpus == dai_link->num_codecs) in snd_soc_compensate_channel_connection_map()
1105 dai_link->ch_maps = default_ch_map_sync; /* for 1:1 or N:N */ in snd_soc_compensate_channel_connection_map()
1106 else if (dai_link->num_cpus < dai_link->num_codecs) in snd_soc_compensate_channel_connection_map()
1107 dai_link->ch_maps = default_ch_map_1cpu; /* for 1:N */ in snd_soc_compensate_channel_connection_map()
1109 dai_link->ch_maps = default_ch_map_1codec; /* for N:1 */ in snd_soc_compensate_channel_connection_map()
1112 dev_dbg(card->dev, "dai_link %s\n", dai_link->stream_name); in snd_soc_compensate_channel_connection_map()
1113 for_each_link_ch_maps(dai_link, i, ch_maps) { in snd_soc_compensate_channel_connection_map()
1114 if ((ch_maps->cpu >= dai_link->num_cpus) || in snd_soc_compensate_channel_connection_map()
1115 (ch_maps->codec >= dai_link->num_codecs)) { in snd_soc_compensate_channel_connection_map()
1119 ch_maps->cpu, dai_link->num_cpus, in snd_soc_compensate_channel_connection_map()
1120 ch_maps->codec, dai_link->num_codecs); in snd_soc_compensate_channel_connection_map()
1146 snd_soc_card_remove_dai_link(card, rtd->dai_link); in snd_soc_remove_pcm_runtime()
1164 struct snd_soc_dai_link *dai_link) in snd_soc_add_pcm_runtime() argument
1176 ret = snd_soc_card_add_dai_link(card, dai_link); in snd_soc_add_pcm_runtime()
1180 if (dai_link->ignore) in snd_soc_add_pcm_runtime()
1183 dev_dbg(card->dev, "ASoC: binding %s\n", dai_link->name); in snd_soc_add_pcm_runtime()
1185 ret = soc_dai_link_sanity_check(card, dai_link); in snd_soc_add_pcm_runtime()
1189 rtd = soc_new_pcm_runtime(card, dai_link); in snd_soc_add_pcm_runtime()
1193 for_each_link_cpus(dai_link, i, cpu) { in snd_soc_add_pcm_runtime()
1204 for_each_link_codecs(dai_link, i, codec) { in snd_soc_add_pcm_runtime()
1216 for_each_link_platforms(dai_link, i, platform) { in snd_soc_add_pcm_runtime()
1236 struct snd_soc_dai_link *dai_link, in snd_soc_add_pcm_runtimes() argument
1242 ret = snd_soc_compensate_channel_connection_map(card, dai_link + i); in snd_soc_add_pcm_runtimes()
1246 ret = snd_soc_add_pcm_runtime(card, dai_link + i); in snd_soc_add_pcm_runtimes()
1257 struct snd_soc_dai_link *dai_link = rtd->dai_link; in snd_soc_runtime_get_dai_fmt() local
1400 if (!(dai_link->dai_fmt & SND_SOC_DAIFMT_FORMAT_MASK)) in snd_soc_runtime_get_dai_fmt()
1402 if (!(dai_link->dai_fmt & SND_SOC_DAIFMT_CLOCK_MASK)) in snd_soc_runtime_get_dai_fmt()
1404 if (!(dai_link->dai_fmt & SND_SOC_DAIFMT_INV_MASK)) in snd_soc_runtime_get_dai_fmt()
1406 if (!(dai_link->dai_fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK)) in snd_soc_runtime_get_dai_fmt()
1409 dai_link->dai_fmt |= (dai_fmt & mask); in snd_soc_runtime_get_dai_fmt()
1458 struct snd_soc_dai_link *dai_link = rtd->dai_link; in soc_init_pcm_runtime() local
1469 ret = snd_soc_runtime_set_dai_fmt(rtd, dai_link->dai_fmt); in soc_init_pcm_runtime()
1487 if (rtd->dai_link->no_pcm) in soc_init_pcm_runtime()
1490 num = rtd->dai_link->id; in soc_init_pcm_runtime()
1502 dai_link->stream_name, ret); in soc_init_pcm_runtime()
1961 struct snd_soc_dai_link *dai_link; in soc_check_tplg_fes() local
1979 for_each_card_prelinks(card, i, dai_link) { in soc_check_tplg_fes()
1982 if (dai_link->dynamic) { in soc_check_tplg_fes()
1983 dai_link->ignore = true; in soc_check_tplg_fes()
1988 card->dai_link[i].name); in soc_check_tplg_fes()
1991 if (!dai_link->platforms) { in soc_check_tplg_fes()
1997 dai_link->platforms->of_node = component->dev->of_node; in soc_check_tplg_fes()
1999 dai_link->platforms->name = component->name; in soc_check_tplg_fes()
2002 if (!dai_link->no_pcm) { in soc_check_tplg_fes()
2003 dai_link->no_pcm = 1; in soc_check_tplg_fes()
2005 if (dai_link->dpcm_playback) in soc_check_tplg_fes()
2008 dai_link->name); in soc_check_tplg_fes()
2009 if (dai_link->dpcm_capture) in soc_check_tplg_fes()
2012 dai_link->name); in soc_check_tplg_fes()
2015 if (!(dai_link->dpcm_playback || in soc_check_tplg_fes()
2016 dai_link->dpcm_capture)) { in soc_check_tplg_fes()
2017 dai_link->dpcm_playback = !dai_link->capture_only; in soc_check_tplg_fes()
2018 dai_link->dpcm_capture = !dai_link->playback_only; in soc_check_tplg_fes()
2027 dai_link->be_hw_params_fixup = in soc_check_tplg_fes()
2034 if (!dai_link->stream_name) in soc_check_tplg_fes()
2035 dai_link->stream_name = dai_link->name; in soc_check_tplg_fes()
2176 ret = snd_soc_add_pcm_runtimes(card, card->dai_link, card->num_links); in snd_soc_bind_card()
3432 int snd_soc_get_stream_cpu(const struct snd_soc_dai_link *dai_link, int stream) in snd_soc_get_stream_cpu() argument
3445 if (!dai_link->c2c_params) in snd_soc_get_stream_cpu()
3664 void snd_soc_of_put_dai_link_codecs(struct snd_soc_dai_link *dai_link) in snd_soc_of_put_dai_link_codecs() argument
3669 for_each_link_codecs(dai_link, index, component) in snd_soc_of_put_dai_link_codecs()
3690 struct snd_soc_dai_link *dai_link) in snd_soc_of_get_dai_link_codecs() argument
3696 &dai_link->codecs, &dai_link->num_codecs); in snd_soc_of_get_dai_link_codecs()
3701 for_each_link_codecs(dai_link, index, component) { in snd_soc_of_get_dai_link_codecs()
3708 snd_soc_of_put_dai_link_codecs(dai_link); in snd_soc_of_get_dai_link_codecs()
3709 dai_link->codecs = NULL; in snd_soc_of_get_dai_link_codecs()
3710 dai_link->num_codecs = 0; in snd_soc_of_get_dai_link_codecs()
3721 void snd_soc_of_put_dai_link_cpus(struct snd_soc_dai_link *dai_link) in snd_soc_of_put_dai_link_cpus() argument
3726 for_each_link_cpus(dai_link, index, component) in snd_soc_of_put_dai_link_cpus()
3744 struct snd_soc_dai_link *dai_link) in snd_soc_of_get_dai_link_cpus() argument
3751 &dai_link->cpus, &dai_link->num_cpus); in snd_soc_of_get_dai_link_cpus()
3756 for_each_link_cpus(dai_link, index, component) { in snd_soc_of_get_dai_link_cpus()
3763 snd_soc_of_put_dai_link_cpus(dai_link); in snd_soc_of_get_dai_link_cpus()
3764 dai_link->cpus = NULL; in snd_soc_of_get_dai_link_cpus()
3765 dai_link->num_cpus = 0; in snd_soc_of_get_dai_link_cpus()