ASoC: SOF: Intel: hda: turn off display power in resume
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Wed, 24 Feb 2021 14:15:41 +0000 (16:15 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 10 Mar 2021 13:07:19 +0000 (13:07 +0000)
Turn off display power at the end of controller resume flow. This is now
possible with the changes done in commit 87fc20e4a0cb ("ASoC: SOF:
Intel: hda: use hdac_ext fine-grained link management"). As codec driver
is able to request the HDA link to be brought back up, the controller
no longer needs to blindly keep display power enabled.

Co-developed-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Keyon Jie <yang.jie@intel.com>
Link: https://lore.kernel.org/r/20210224141541.3331254-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-dsp.c

index c3b757c..6e24e1c 100644 (file)
@@ -678,7 +678,7 @@ static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume)
        if (ret < 0) {
                dev_err(sdev->dev,
                        "error: failed to start controller after resume\n");
-               return ret;
+               goto cleanup;
        }
 
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
@@ -704,6 +704,10 @@ static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume)
        hda_dsp_ctrl_ppcap_enable(sdev, true);
        hda_dsp_ctrl_ppcap_int_enable(sdev, true);
 
+cleanup:
+       /* display codec can powered off after controller init */
+       hda_codec_i915_display_power(sdev, false);
+
        return 0;
 }