]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: Intel: sof_rt5682: Perform quirk check first in card late probe
authorYong Zhi <yong.zhi@intel.com>
Mon, 25 Jul 2022 19:49:08 +0000 (14:49 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 25 Jul 2022 21:37:11 +0000 (22:37 +0100)
The check of sof_rt5682_quirk should not be skipped unless the HDMI
handling code exits with error, fix by moving the quirk check to the front.

Fixes: 31b24d087a24 ("ASoC: Intel: Boards: tgl_max98373: add dai_trigger function")
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220725194909.145418-10-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_rt5682.c

index b79d8a497e1db65f5f470bbf0365c02205c16a09..045965312245b4bb5ace04ab3ef2e940b3703f79 100644 (file)
@@ -447,6 +447,15 @@ static int sof_card_late_probe(struct snd_soc_card *card)
        struct sof_hdmi_pcm *pcm;
        int err;
 
+       if (sof_rt5682_quirk & SOF_MAX98373_SPEAKER_AMP_PRESENT) {
+               /* Disable Left and Right Spk pin after boot */
+               snd_soc_dapm_disable_pin(dapm, "Left Spk");
+               snd_soc_dapm_disable_pin(dapm, "Right Spk");
+               err = snd_soc_dapm_sync(dapm);
+               if (err < 0)
+                       return err;
+       }
+
        /* HDMI is not supported by SOF on Baytrail/CherryTrail */
        if (is_legacy_cpu || !ctx->idisp_codec)
                return 0;
@@ -477,15 +486,6 @@ static int sof_card_late_probe(struct snd_soc_card *card)
                        return err;
        }
 
-       if (sof_rt5682_quirk & SOF_MAX98373_SPEAKER_AMP_PRESENT) {
-               /* Disable Left and Right Spk pin after boot */
-               snd_soc_dapm_disable_pin(dapm, "Left Spk");
-               snd_soc_dapm_disable_pin(dapm, "Right Spk");
-               err = snd_soc_dapm_sync(dapm);
-               if (err < 0)
-                       return err;
-       }
-
        return hdac_hdmi_jack_port_init(component, &card->dapm);
 }