diff mbox series

[2/5] ASoC: SOF: Intel: hda-loader: keep init cores alive

Message ID 20210128093850.1041387-3-kai.vehmanen@linux.intel.com (mailing list archive)
State Accepted
Commit cedd502d18b5b7a913fa13fa18a037cc51b1798d
Headers show
Series ASoC: SOF: use common code for DSP core pm | expand

Commit Message

Kai Vehmanen Jan. 28, 2021, 9:38 a.m. UTC
From: Bard Liao <yung-chuan.liao@linux.intel.com>

init_core_mask should be the available cores mask after fw boot. So we
should keep not core 0 but init cores alive.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
---
 sound/soc/sof/intel/hda-loader.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c
index 4b2ab351e2cc..07b73fe3c5e5 100644
--- a/sound/soc/sof/intel/hda-loader.c
+++ b/sound/soc/sof/intel/hda-loader.c
@@ -147,8 +147,9 @@  static int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag)
 				       chip->ipc_ack_mask,
 				       chip->ipc_ack_mask);
 
-	/* step 5: power down corex */
-	ret = hda_dsp_core_power_down(sdev, chip->host_managed_cores_mask & ~(BIT(0)));
+	/* step 5: power down cores that are no longer needed */
+	ret = hda_dsp_core_power_down(sdev, chip->host_managed_cores_mask &
+				      ~(chip->init_core_mask));
 	if (ret < 0) {
 		if (hda->boot_iteration == HDA_FW_BOOT_ATTEMPTS)
 			dev_err(sdev->dev,