ASoC: rt5640: Add the MICBIAS1 to the dapm routing
authorOder Chiou <oder_chiou@realtek.com>
Tue, 5 Jul 2022 10:11:34 +0000 (18:11 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 5 Jul 2022 12:00:48 +0000 (13:00 +0100)
The patch adds the MICBIAS1 to the dapm routing while the HDA header used.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Reported-by: Sameer Pujar <spujar@nvidia.com>
Link: https://lore.kernel.org/r/20220705101134.16792-2-oder_chiou@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5640.c

index 56008e4..5092856 100644 (file)
@@ -2556,10 +2556,18 @@ static void rt5640_enable_jack_detect(struct snd_soc_component *component,
        queue_delayed_work(system_long_wq, &rt5640->jack_work, 0);
 }
 
+static const struct snd_soc_dapm_route rt5640_hda_jack_dapm_routes[] = {
+       {"IN1P", NULL, "MICBIAS1"},
+       {"IN2P", NULL, "MICBIAS1"},
+       {"IN3P", NULL, "MICBIAS1"},
+};
+
 static void rt5640_enable_hda_jack_detect(
        struct snd_soc_component *component, struct snd_soc_jack *jack)
 {
        struct rt5640_priv *rt5640 = snd_soc_component_get_drvdata(component);
+       struct snd_soc_dapm_context *dapm =
+               snd_soc_component_get_dapm(component);
        int ret;
 
        /* Select JD1 for Mic */
@@ -2592,6 +2600,9 @@ static void rt5640_enable_hda_jack_detect(
 
        /* sync initial jack state */
        queue_delayed_work(system_long_wq, &rt5640->jack_work, 0);
+
+       snd_soc_dapm_add_routes(dapm, rt5640_hda_jack_dapm_routes,
+               ARRAY_SIZE(rt5640_hda_jack_dapm_routes));
 }
 
 static int rt5640_set_jack(struct snd_soc_component *component,