Lines Matching refs:dai

387 	struct snd_soc_dai *dai;  in dai_list_read_file()  local
395 list_for_each_entry(dai, &component->dai_list, list) { in dai_list_read_file()
397 dai->name); in dai_list_read_file()
612 struct snd_soc_dai *dai = card->rtd[i].codec_dais[j]; in snd_soc_suspend() local
613 struct snd_soc_dai_driver *drv = dai->driver; in snd_soc_suspend()
615 if (drv->ops->digital_mute && dai->playback_active) in snd_soc_suspend()
616 drv->ops->digital_mute(dai, 1); in snd_soc_suspend()
794 struct snd_soc_dai *dai = card->rtd[i].codec_dais[j]; in soc_resume_deferred() local
795 struct snd_soc_dai_driver *drv = dai->driver; in soc_resume_deferred()
797 if (drv->ops->digital_mute && dai->playback_active) in soc_resume_deferred()
798 drv->ops->digital_mute(dai, 0); in soc_resume_deferred()
906 struct snd_soc_dai *dai; in snd_soc_find_dai() local
916 list_for_each_entry(dai, &component->dai_list, list) { in snd_soc_find_dai()
917 if (dlc->dai_name && strcmp(dai->name, dlc->dai_name)) in snd_soc_find_dai()
920 return dai; in snd_soc_find_dai()
1014 static void soc_remove_dai(struct snd_soc_dai *dai, int order) in soc_remove_dai() argument
1018 if (dai && dai->probed && in soc_remove_dai()
1019 dai->driver->remove_order == order) { in soc_remove_dai()
1020 if (dai->driver->remove) { in soc_remove_dai()
1021 err = dai->driver->remove(dai); in soc_remove_dai()
1023 dev_err(dai->dev, in soc_remove_dai()
1025 dai->name, err); in soc_remove_dai()
1027 dai->probed = 0; in soc_remove_dai()
1078 int dai, order; in soc_remove_dai_links() local
1082 for (dai = 0; dai < card->num_rtd; dai++) in soc_remove_dai_links()
1083 soc_remove_link_dais(card, dai, order); in soc_remove_dai_links()
1088 for (dai = 0; dai < card->num_rtd; dai++) in soc_remove_dai_links()
1089 soc_remove_link_components(card, dai, order); in soc_remove_dai_links()
1118 struct snd_soc_dai *dai; in soc_probe_component() local
1144 list_for_each_entry(dai, &component->dai_list, list) { in soc_probe_component()
1145 ret = snd_soc_dapm_new_dai_widgets(dapm, dai); in soc_probe_component()
1263 static int soc_probe_dai(struct snd_soc_dai *dai, int order) in soc_probe_dai() argument
1267 if (!dai->probed && dai->driver->probe_order == order) { in soc_probe_dai()
1268 if (dai->driver->probe) { in soc_probe_dai()
1269 ret = dai->driver->probe(dai); in soc_probe_dai()
1271 dev_err(dai->dev, in soc_probe_dai()
1273 dai->name, ret); in soc_probe_dai()
1278 dai->probed = 1; in soc_probe_dai()
2025 int snd_soc_add_dai_controls(struct snd_soc_dai *dai, in snd_soc_add_dai_controls() argument
2028 struct snd_card *card = dai->component->card->snd_card; in snd_soc_add_dai_controls()
2030 return snd_soc_add_controls(card, dai->dev, controls, num_controls, in snd_soc_add_dai_controls()
2031 NULL, dai); in snd_soc_add_dai_controls()
2044 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, in snd_soc_dai_set_sysclk() argument
2047 if (dai->driver && dai->driver->ops->set_sysclk) in snd_soc_dai_set_sysclk()
2048 return dai->driver->ops->set_sysclk(dai, clk_id, freq, dir); in snd_soc_dai_set_sysclk()
2049 else if (dai->codec && dai->codec->driver->set_sysclk) in snd_soc_dai_set_sysclk()
2050 return dai->codec->driver->set_sysclk(dai->codec, clk_id, 0, in snd_soc_dai_set_sysclk()
2088 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, in snd_soc_dai_set_clkdiv() argument
2091 if (dai->driver && dai->driver->ops->set_clkdiv) in snd_soc_dai_set_clkdiv()
2092 return dai->driver->ops->set_clkdiv(dai, div_id, div); in snd_soc_dai_set_clkdiv()
2108 int snd_soc_dai_set_pll(struct snd_soc_dai *dai, int pll_id, int source, in snd_soc_dai_set_pll() argument
2111 if (dai->driver && dai->driver->ops->set_pll) in snd_soc_dai_set_pll()
2112 return dai->driver->ops->set_pll(dai, pll_id, source, in snd_soc_dai_set_pll()
2114 else if (dai->codec && dai->codec->driver->set_pll) in snd_soc_dai_set_pll()
2115 return dai->codec->driver->set_pll(dai->codec, pll_id, source, in snd_soc_dai_set_pll()
2150 int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio) in snd_soc_dai_set_bclk_ratio() argument
2152 if (dai->driver && dai->driver->ops->set_bclk_ratio) in snd_soc_dai_set_bclk_ratio()
2153 return dai->driver->ops->set_bclk_ratio(dai, ratio); in snd_soc_dai_set_bclk_ratio()
2166 int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) in snd_soc_dai_set_fmt() argument
2168 if (dai->driver == NULL) in snd_soc_dai_set_fmt()
2170 if (dai->driver->ops->set_fmt == NULL) in snd_soc_dai_set_fmt()
2172 return dai->driver->ops->set_fmt(dai, fmt); in snd_soc_dai_set_fmt()
2223 int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, in snd_soc_dai_set_tdm_slot() argument
2226 if (dai->driver && dai->driver->ops->xlate_tdm_slot_mask) in snd_soc_dai_set_tdm_slot()
2227 dai->driver->ops->xlate_tdm_slot_mask(slots, in snd_soc_dai_set_tdm_slot()
2232 dai->tx_mask = tx_mask; in snd_soc_dai_set_tdm_slot()
2233 dai->rx_mask = rx_mask; in snd_soc_dai_set_tdm_slot()
2235 if (dai->driver && dai->driver->ops->set_tdm_slot) in snd_soc_dai_set_tdm_slot()
2236 return dai->driver->ops->set_tdm_slot(dai, tx_mask, rx_mask, in snd_soc_dai_set_tdm_slot()
2255 int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai, in snd_soc_dai_set_channel_map() argument
2259 if (dai->driver && dai->driver->ops->set_channel_map) in snd_soc_dai_set_channel_map()
2260 return dai->driver->ops->set_channel_map(dai, tx_num, tx_slot, in snd_soc_dai_set_channel_map()
2274 int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate) in snd_soc_dai_set_tristate() argument
2276 if (dai->driver && dai->driver->ops->set_tristate) in snd_soc_dai_set_tristate()
2277 return dai->driver->ops->set_tristate(dai, tristate); in snd_soc_dai_set_tristate()
2291 int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute, in snd_soc_dai_digital_mute() argument
2294 if (!dai->driver) in snd_soc_dai_digital_mute()
2297 if (dai->driver->ops->mute_stream) in snd_soc_dai_digital_mute()
2298 return dai->driver->ops->mute_stream(dai, mute, direction); in snd_soc_dai_digital_mute()
2300 dai->driver->ops->digital_mute) in snd_soc_dai_digital_mute()
2301 return dai->driver->ops->digital_mute(dai, mute); in snd_soc_dai_digital_mute()
2552 struct snd_soc_dai *dai, *_dai; in snd_soc_unregister_dais() local
2554 list_for_each_entry_safe(dai, _dai, &component->dai_list, list) { in snd_soc_unregister_dais()
2556 dai->name); in snd_soc_unregister_dais()
2557 list_del(&dai->list); in snd_soc_unregister_dais()
2558 kfree(dai->name); in snd_soc_unregister_dais()
2559 kfree(dai); in snd_soc_unregister_dais()
2577 struct snd_soc_dai *dai; in snd_soc_register_dais() local
2588 dai = kzalloc(sizeof(struct snd_soc_dai), GFP_KERNEL); in snd_soc_register_dais()
2589 if (dai == NULL) { in snd_soc_register_dais()
2603 dai->name = fmt_single_name(dev, &dai->id); in snd_soc_register_dais()
2605 dai->name = fmt_multiple_name(dev, &dai_drv[i]); in snd_soc_register_dais()
2607 dai->id = dai_drv[i].id; in snd_soc_register_dais()
2609 dai->id = i; in snd_soc_register_dais()
2611 if (dai->name == NULL) { in snd_soc_register_dais()
2612 kfree(dai); in snd_soc_register_dais()
2617 dai->component = component; in snd_soc_register_dais()
2618 dai->dev = dev; in snd_soc_register_dais()
2619 dai->driver = &dai_drv[i]; in snd_soc_register_dais()
2620 if (!dai->driver->ops) in snd_soc_register_dais()
2621 dai->driver->ops = &null_dai_ops; in snd_soc_register_dais()
2623 list_add(&dai->list, &component->dai_list); in snd_soc_register_dais()
2625 dev_dbg(dev, "ASoC: Registered DAI '%s'\n", dai->name); in snd_soc_register_dais()
3052 struct snd_soc_dai *dai; in snd_soc_register_codec() local
3120 list_for_each_entry(dai, &codec->component.dai_list, list) in snd_soc_register_codec()
3121 dai->codec = codec; in snd_soc_register_codec()