OSDN Git Service

ASoC: SOF: Intel: hda: call codec wake at chip init
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Wed, 25 Mar 2020 21:12:33 +0000 (16:12 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 26 Mar 2020 18:31:16 +0000 (18:31 +0000)
Further align HDA init sequence to the legacy non-DSP HDA driver by
calling snd_hdac_set_codec_wakeup() during the chip init sequence.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20200325211233.27394-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-ctrl.c

index 93be6fc..f88dbcc 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/module.h>
 #include <sound/hdaudio_ext.h>
 #include <sound/hda_register.h>
+#include <sound/hda_component.h>
 #include "../ops.h"
 #include "hda.h"
 
@@ -176,6 +177,9 @@ int hda_dsp_ctrl_init_chip(struct snd_sof_dev *sdev, bool full_reset)
        if (bus->chip_init)
                return 0;
 
+#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
+       snd_hdac_set_codec_wakeup(bus, true);
+#endif
        hda_dsp_ctrl_misc_clock_gating(sdev, false);
 
        if (full_reset) {
@@ -271,6 +275,9 @@ int hda_dsp_ctrl_init_chip(struct snd_sof_dev *sdev, bool full_reset)
 
 err:
        hda_dsp_ctrl_misc_clock_gating(sdev, true);
+#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
+       snd_hdac_set_codec_wakeup(bus, false);
+#endif
 
        return ret;
 }