Lines Matching refs:afe
80 static int get_i2s_id_by_name(struct mtk_base_afe *afe, in get_i2s_id_by_name() argument
97 static struct mtk_afe_i2s_priv *get_i2s_priv_by_name(struct mtk_base_afe *afe, in get_i2s_priv_by_name() argument
100 struct mt8183_afe_private *afe_priv = afe->platform_priv; in get_i2s_priv_by_name()
101 int dai_id = get_i2s_id_by_name(afe, name); in get_i2s_priv_by_name()
123 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8183_i2s_hd_get() local
126 i2s_priv = get_i2s_priv_by_name(afe, kcontrol->id.name); in mt8183_i2s_hd_get()
129 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mt8183_i2s_hd_get()
142 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mt8183_i2s_hd_set() local
152 dev_info(afe->dev, "%s(), kcontrol name %s, hd_en %d\n", in mt8183_i2s_hd_set()
155 i2s_priv = get_i2s_priv_by_name(afe, kcontrol->id.name); in mt8183_i2s_hd_set()
158 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mt8183_i2s_hd_set()
278 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_apll_event() local
286 mt8183_apll1_enable(afe); in mtk_apll_event()
288 mt8183_apll2_enable(afe); in mtk_apll_event()
292 mt8183_apll1_disable(afe); in mtk_apll_event()
294 mt8183_apll2_disable(afe); in mtk_apll_event()
308 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_mclk_en_event() local
314 i2s_priv = get_i2s_priv_by_name(afe, w->name); in mtk_mclk_en_event()
317 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_mclk_en_event()
323 mt8183_mck_enable(afe, i2s_priv->mclk_id, i2s_priv->mclk_rate); in mtk_mclk_en_event()
327 mt8183_mck_disable(afe, i2s_priv->mclk_id); in mtk_mclk_en_event()
429 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_afe_i2s_share_connect() local
432 i2s_priv = get_i2s_priv_by_name(afe, sink->name); in mtk_afe_i2s_share_connect()
435 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_afe_i2s_share_connect()
442 return i2s_priv->share_i2s_id == get_i2s_id_by_name(afe, source->name); in mtk_afe_i2s_share_connect()
450 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_afe_i2s_hd_connect() local
453 i2s_priv = get_i2s_priv_by_name(afe, sink->name); in mtk_afe_i2s_hd_connect()
456 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_afe_i2s_hd_connect()
460 if (get_i2s_id_by_name(afe, sink->name) == in mtk_afe_i2s_hd_connect()
461 get_i2s_id_by_name(afe, source->name)) in mtk_afe_i2s_hd_connect()
468 if (i2s_priv->share_i2s_id == get_i2s_id_by_name(afe, source->name)) in mtk_afe_i2s_hd_connect()
479 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_afe_i2s_apll_connect() local
484 i2s_priv = get_i2s_priv_by_name(afe, w->name); in mtk_afe_i2s_apll_connect()
487 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_afe_i2s_apll_connect()
492 cur_apll = mt8183_get_apll_by_name(afe, source->name); in mtk_afe_i2s_apll_connect()
495 i2s_need_apll = mt8183_get_apll_by_rate(afe, i2s_priv->rate); in mtk_afe_i2s_apll_connect()
505 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_afe_i2s_mclk_connect() local
508 i2s_priv = get_i2s_priv_by_name(afe, sink->name); in mtk_afe_i2s_mclk_connect()
511 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_afe_i2s_mclk_connect()
515 if (get_i2s_id_by_name(afe, sink->name) == in mtk_afe_i2s_mclk_connect()
516 get_i2s_id_by_name(afe, source->name)) in mtk_afe_i2s_mclk_connect()
523 if (i2s_priv->share_i2s_id == get_i2s_id_by_name(afe, source->name)) in mtk_afe_i2s_mclk_connect()
534 struct mtk_base_afe *afe = snd_soc_component_get_drvdata(cmpnt); in mtk_afe_mclk_apll_connect() local
538 i2s_priv = get_i2s_priv_by_name(afe, w->name); in mtk_afe_mclk_apll_connect()
541 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_afe_mclk_apll_connect()
546 cur_apll = mt8183_get_apll_by_name(afe, source->name); in mtk_afe_mclk_apll_connect()
705 static int mtk_dai_i2s_config(struct mtk_base_afe *afe, in mtk_dai_i2s_config() argument
709 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mtk_dai_i2s_config()
713 unsigned int rate_reg = mt8183_rate_transform(afe->dev, in mtk_dai_i2s_config()
719 dev_info(afe->dev, "%s(), id %d, rate %d, format %d\n", in mtk_dai_i2s_config()
730 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_dai_i2s_config()
735 regmap_update_bits(afe->regmap, AFE_DAC_CON1, in mtk_dai_i2s_config()
740 regmap_update_bits(afe->regmap, AFE_I2S_CON, in mtk_dai_i2s_config()
748 regmap_update_bits(afe->regmap, AFE_I2S_CON1, in mtk_dai_i2s_config()
756 regmap_update_bits(afe->regmap, AFE_I2S_CON2, in mtk_dai_i2s_config()
763 regmap_update_bits(afe->regmap, AFE_I2S_CON3, in mtk_dai_i2s_config()
770 regmap_update_bits(afe->regmap, AFE_I2S_CON4, in mtk_dai_i2s_config()
774 dev_warn(afe->dev, "%s(), id %d not support\n", in mtk_dai_i2s_config()
781 ret = mtk_dai_i2s_config(afe, params, i2s_priv->share_i2s_id); in mtk_dai_i2s_config()
790 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_i2s_hw_params() local
792 return mtk_dai_i2s_config(afe, params, dai->id); in mtk_dai_i2s_hw_params()
798 struct mtk_base_afe *afe = dev_get_drvdata(dai->dev); in mtk_dai_i2s_set_sysclk() local
799 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mtk_dai_i2s_set_sysclk()
805 dev_warn(afe->dev, "%s(), i2s_priv == NULL", __func__); in mtk_dai_i2s_set_sysclk()
810 dev_warn(afe->dev, "%s(), dir != SND_SOC_CLOCK_OUT", __func__); in mtk_dai_i2s_set_sysclk()
814 dev_info(afe->dev, "%s(), freq %d\n", __func__, freq); in mtk_dai_i2s_set_sysclk()
816 apll = mt8183_get_apll_by_rate(afe, freq); in mtk_dai_i2s_set_sysclk()
817 apll_rate = mt8183_get_apll_rate(afe, apll); in mtk_dai_i2s_set_sysclk()
820 dev_warn(afe->dev, "%s(), freq > apll rate", __func__); in mtk_dai_i2s_set_sysclk()
825 dev_warn(afe->dev, "%s(), APLL cannot generate freq Hz", in mtk_dai_i2s_set_sysclk()
838 dev_warn(afe->dev, "%s(), share_i2s_priv == NULL", in mtk_dai_i2s_set_sysclk()
852 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_i2s_set_fmt() local
853 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mtk_dai_i2s_set_fmt()
864 dev_warn(afe->dev, "%s(), id %d not support\n", in mtk_dai_i2s_set_fmt()
878 dev_warn(afe->dev, "%s(), DAI format %d not support\n", in mtk_dai_i2s_set_fmt()
1009 static int mt8183_dai_i2s_get_share(struct mtk_base_afe *afe) in mt8183_dai_i2s_get_share() argument
1011 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mt8183_dai_i2s_get_share()
1012 const struct device_node *of_node = afe->dev->of_node; in mt8183_dai_i2s_get_share()
1023 i2s_priv->share_i2s_id = get_i2s_id_by_name(afe, of_str); in mt8183_dai_i2s_get_share()
1029 static int mt8183_dai_i2s_set_priv(struct mtk_base_afe *afe) in mt8183_dai_i2s_set_priv() argument
1031 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mt8183_dai_i2s_set_priv()
1036 i2s_priv = devm_kzalloc(afe->dev, in mt8183_dai_i2s_set_priv()
1051 int mt8183_dai_i2s_register(struct mtk_base_afe *afe) in mt8183_dai_i2s_register() argument
1056 dai = devm_kzalloc(afe->dev, sizeof(*dai), GFP_KERNEL); in mt8183_dai_i2s_register()
1060 list_add(&dai->list, &afe->sub_dais); in mt8183_dai_i2s_register()
1073 ret = mt8183_dai_i2s_set_priv(afe); in mt8183_dai_i2s_register()
1078 ret = mt8183_dai_i2s_get_share(afe); in mt8183_dai_i2s_register()