aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWu Zhou <[email protected]>2023-09-29 13:24:35 +0200
committerMark Brown <[email protected]>2023-09-29 14:17:54 +0200
commita5e6ea01265e9ed9ab8511907ebbc82552cd2e9e (patch)
treec20c0372a41575eeda63c6a3a9954da41e55ab3b
parent0a5fb3cc28fda52c761775db2ccb7ccb954aee2a (diff)
ASoC: Intel: avs: Disable DSP before loading basefw
When audio controller is passed-through to the guest machine in virtualized environment, the basefw load will fail the next time guest OS reboots. Disable the DSP main core before loading the base firmware to sanitize the environment. Signed-off-by: Wu Zhou <[email protected]> Signed-off-by: Libin Yang <[email protected]> Signed-off-by: Cezary Rojewski <[email protected]> Signed-off-by: Amadeusz Sławiński <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
-rw-r--r--sound/soc/intel/avs/loader.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/intel/avs/loader.c b/sound/soc/intel/avs/loader.c
index 56bb0a59249d..65dd8f140fc1 100644
--- a/sound/soc/intel/avs/loader.c
+++ b/sound/soc/intel/avs/loader.c
@@ -662,6 +662,10 @@ int avs_dsp_first_boot_firmware(struct avs_dev *adev)
}
}
+ ret = avs_dsp_core_disable(adev, AVS_MAIN_CORE_MASK);
+ if (ret < 0)
+ return ret;
+
ret = avs_dsp_boot_firmware(adev, true);
if (ret < 0) {
dev_err(adev->dev, "firmware boot failed: %d\n", ret);