]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: Intel: sof_da7219: disable max98373 speaker pins in late_probe
authorBrent Lu <brent.lu@intel.com>
Mon, 27 May 2024 19:35:52 +0000 (14:35 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 29 May 2024 10:10:59 +0000 (11:10 +0100)
Commit 94d2d0897474 ("ASoC: Intel: Boards: tgl_max98373: add dai_trigger
function") disables speaker pins in late_probe to allow DSP to enter
low power state. Add same code to sof_da7219 driver.

Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://msgid.link/r/20240527193552.165567-19-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_da7219.c

index 0e3c352a1672340f464b1811f85075df068271fc..fa1f7d2d82787ea4f6beca1f3767b2f2b38100a4 100644 (file)
@@ -180,6 +180,19 @@ static void da7219_codec_exit(struct snd_soc_pcm_runtime *rtd)
 
 static int card_late_probe(struct snd_soc_card *card)
 {
+       struct sof_card_private *ctx = snd_soc_card_get_drvdata(card);
+       struct snd_soc_dapm_context *dapm = &card->dapm;
+       int err;
+
+       if (ctx->amp_type == CODEC_MAX98373) {
+               /* 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 sof_intel_board_card_late_probe(card);
 }