Lines Matching refs:dai
379 struct snd_soc_dai *dai; in dai_list_read_file() local
387 list_for_each_entry(dai, &component->dai_list, list) { in dai_list_read_file()
389 dai->name); in dai_list_read_file()
604 struct snd_soc_dai *dai = card->rtd[i].codec_dais[j]; in snd_soc_suspend() local
605 struct snd_soc_dai_driver *drv = dai->driver; in snd_soc_suspend()
607 if (drv->ops->digital_mute && dai->playback_active) in snd_soc_suspend()
608 drv->ops->digital_mute(dai, 1); in snd_soc_suspend()
775 struct snd_soc_dai *dai = card->rtd[i].codec_dais[j]; in soc_resume_deferred() local
776 struct snd_soc_dai_driver *drv = dai->driver; in soc_resume_deferred()
778 if (drv->ops->digital_mute && dai->playback_active) in soc_resume_deferred()
779 drv->ops->digital_mute(dai, 0); in soc_resume_deferred()
887 struct snd_soc_dai *dai; in snd_soc_find_dai() local
902 list_for_each_entry(dai, &component->dai_list, list) { in snd_soc_find_dai()
903 if (dlc->dai_name && strcmp(dai->name, dlc->dai_name)) in snd_soc_find_dai()
906 return dai; in snd_soc_find_dai()
1000 static void soc_remove_dai(struct snd_soc_dai *dai, int order) in soc_remove_dai() argument
1004 if (dai && dai->probed && in soc_remove_dai()
1005 dai->driver->remove_order == order) { in soc_remove_dai()
1006 if (dai->driver->remove) { in soc_remove_dai()
1007 err = dai->driver->remove(dai); in soc_remove_dai()
1009 dev_err(dai->dev, in soc_remove_dai()
1011 dai->name, err); in soc_remove_dai()
1013 dai->probed = 0; in soc_remove_dai()
1064 int dai, order; in soc_remove_dai_links() local
1068 for (dai = 0; dai < card->num_rtd; dai++) in soc_remove_dai_links()
1069 soc_remove_link_dais(card, dai, order); in soc_remove_dai_links()
1074 for (dai = 0; dai < card->num_rtd; dai++) in soc_remove_dai_links()
1075 soc_remove_link_components(card, dai, order); in soc_remove_dai_links()
1104 struct snd_soc_dai *dai; in soc_probe_component() local
1140 list_for_each_entry(dai, &component->dai_list, list) { in soc_probe_component()
1141 ret = snd_soc_dapm_new_dai_widgets(dapm, dai); in soc_probe_component()
1259 static int soc_probe_dai(struct snd_soc_dai *dai, int order) in soc_probe_dai() argument
1263 if (!dai->probed && dai->driver->probe_order == order) { in soc_probe_dai()
1264 if (dai->driver->probe) { in soc_probe_dai()
1265 ret = dai->driver->probe(dai); in soc_probe_dai()
1267 dev_err(dai->dev, in soc_probe_dai()
1269 dai->name, ret); in soc_probe_dai()
1274 dai->probed = 1; in soc_probe_dai()
2022 int snd_soc_add_dai_controls(struct snd_soc_dai *dai, in snd_soc_add_dai_controls() argument
2025 struct snd_card *card = dai->component->card->snd_card; in snd_soc_add_dai_controls()
2027 return snd_soc_add_controls(card, dai->dev, controls, num_controls, in snd_soc_add_dai_controls()
2028 NULL, dai); in snd_soc_add_dai_controls()
2041 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, in snd_soc_dai_set_sysclk() argument
2044 if (dai->driver && dai->driver->ops->set_sysclk) in snd_soc_dai_set_sysclk()
2045 return dai->driver->ops->set_sysclk(dai, clk_id, freq, dir); in snd_soc_dai_set_sysclk()
2046 else if (dai->codec && dai->codec->driver->set_sysclk) in snd_soc_dai_set_sysclk()
2047 return dai->codec->driver->set_sysclk(dai->codec, clk_id, 0, in snd_soc_dai_set_sysclk()
2085 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, in snd_soc_dai_set_clkdiv() argument
2088 if (dai->driver && dai->driver->ops->set_clkdiv) in snd_soc_dai_set_clkdiv()
2089 return dai->driver->ops->set_clkdiv(dai, div_id, div); in snd_soc_dai_set_clkdiv()
2105 int snd_soc_dai_set_pll(struct snd_soc_dai *dai, int pll_id, int source, in snd_soc_dai_set_pll() argument
2108 if (dai->driver && dai->driver->ops->set_pll) in snd_soc_dai_set_pll()
2109 return dai->driver->ops->set_pll(dai, pll_id, source, in snd_soc_dai_set_pll()
2111 else if (dai->codec && dai->codec->driver->set_pll) in snd_soc_dai_set_pll()
2112 return dai->codec->driver->set_pll(dai->codec, pll_id, source, in snd_soc_dai_set_pll()
2147 int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio) in snd_soc_dai_set_bclk_ratio() argument
2149 if (dai->driver && dai->driver->ops->set_bclk_ratio) in snd_soc_dai_set_bclk_ratio()
2150 return dai->driver->ops->set_bclk_ratio(dai, ratio); in snd_soc_dai_set_bclk_ratio()
2163 int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) in snd_soc_dai_set_fmt() argument
2165 if (dai->driver == NULL) in snd_soc_dai_set_fmt()
2167 if (dai->driver->ops->set_fmt == NULL) in snd_soc_dai_set_fmt()
2169 return dai->driver->ops->set_fmt(dai, fmt); in snd_soc_dai_set_fmt()
2220 int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, in snd_soc_dai_set_tdm_slot() argument
2223 if (dai->driver && dai->driver->ops->xlate_tdm_slot_mask) in snd_soc_dai_set_tdm_slot()
2224 dai->driver->ops->xlate_tdm_slot_mask(slots, in snd_soc_dai_set_tdm_slot()
2229 dai->tx_mask = tx_mask; in snd_soc_dai_set_tdm_slot()
2230 dai->rx_mask = rx_mask; in snd_soc_dai_set_tdm_slot()
2232 if (dai->driver && dai->driver->ops->set_tdm_slot) in snd_soc_dai_set_tdm_slot()
2233 return dai->driver->ops->set_tdm_slot(dai, tx_mask, rx_mask, in snd_soc_dai_set_tdm_slot()
2252 int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai, in snd_soc_dai_set_channel_map() argument
2256 if (dai->driver && dai->driver->ops->set_channel_map) in snd_soc_dai_set_channel_map()
2257 return dai->driver->ops->set_channel_map(dai, tx_num, tx_slot, in snd_soc_dai_set_channel_map()
2271 int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate) in snd_soc_dai_set_tristate() argument
2273 if (dai->driver && dai->driver->ops->set_tristate) in snd_soc_dai_set_tristate()
2274 return dai->driver->ops->set_tristate(dai, tristate); in snd_soc_dai_set_tristate()
2288 int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute, in snd_soc_dai_digital_mute() argument
2291 if (!dai->driver) in snd_soc_dai_digital_mute()
2294 if (dai->driver->ops->mute_stream) in snd_soc_dai_digital_mute()
2295 return dai->driver->ops->mute_stream(dai, mute, direction); in snd_soc_dai_digital_mute()
2297 dai->driver->ops->digital_mute) in snd_soc_dai_digital_mute()
2298 return dai->driver->ops->digital_mute(dai, mute); in snd_soc_dai_digital_mute()
2550 struct snd_soc_dai *dai, *_dai; in snd_soc_unregister_dais() local
2552 list_for_each_entry_safe(dai, _dai, &component->dai_list, list) { in snd_soc_unregister_dais()
2554 dai->name); in snd_soc_unregister_dais()
2555 list_del(&dai->list); in snd_soc_unregister_dais()
2556 kfree(dai->name); in snd_soc_unregister_dais()
2557 kfree(dai); in snd_soc_unregister_dais()
2575 struct snd_soc_dai *dai; in snd_soc_register_dais() local
2586 dai = kzalloc(sizeof(struct snd_soc_dai), GFP_KERNEL); in snd_soc_register_dais()
2587 if (dai == NULL) { in snd_soc_register_dais()
2602 dai->name = fmt_single_name(dev, &dai->id); in snd_soc_register_dais()
2604 dai->name = fmt_multiple_name(dev, &dai_drv[i]); in snd_soc_register_dais()
2606 dai->id = dai_drv[i].id; in snd_soc_register_dais()
2608 dai->id = i; in snd_soc_register_dais()
2610 if (dai->name == NULL) { in snd_soc_register_dais()
2611 kfree(dai); in snd_soc_register_dais()
2616 dai->component = component; in snd_soc_register_dais()
2617 dai->dev = dev; in snd_soc_register_dais()
2618 dai->driver = &dai_drv[i]; in snd_soc_register_dais()
2619 if (!dai->driver->ops) in snd_soc_register_dais()
2620 dai->driver->ops = &null_dai_ops; in snd_soc_register_dais()
2622 list_add(&dai->list, &component->dai_list); in snd_soc_register_dais()
2624 dev_dbg(dev, "ASoC: Registered DAI '%s'\n", dai->name); in snd_soc_register_dais()
3056 struct snd_soc_dai *dai; in snd_soc_register_codec() local
3125 list_for_each_entry(dai, &codec->component.dai_list, list) in snd_soc_register_codec()
3126 dai->codec = codec; in snd_soc_register_codec()