diff options
author | Mark Brown <broonie@kernel.org> | 2022-06-18 02:18:16 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-06-18 02:18:16 +0300 |
commit | 57b06e9711a5ed5accd04b301da0f27f04aa21d3 (patch) | |
tree | b879e8d5f05649c05bc98980f658a58b04cfb5db /sound/soc/sof/intel | |
parent | a37a9224d0500f0cf5bf13cb225163c21b29e0f6 (diff) | |
parent | 58ecb11eab44dd5d64e35664ac4d62fecb6328f4 (diff) | |
download | linux-57b06e9711a5ed5accd04b301da0f27f04aa21d3.tar.xz |
ASoC: SOF: Intel: fix resume from hibernate
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
The enablement of IMR-based DSP boot helped reduce resume latency, but
unfortunately the context is not saved in S4 and S5 which leads to
multiple reports of boot failures.
This patchset forces a full firmware reload/reboot when resuming from
S4/S5 and restores functionality.
Diffstat (limited to 'sound/soc/sof/intel')
-rw-r--r-- | sound/soc/sof/intel/hda-loader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c index d3ec5996a9a3..145d483bd129 100644 --- a/sound/soc/sof/intel/hda-loader.c +++ b/sound/soc/sof/intel/hda-loader.c @@ -389,7 +389,8 @@ int hda_dsp_cl_boot_firmware(struct snd_sof_dev *sdev) struct snd_dma_buffer dmab; int ret, ret1, i; - if (hda->imrboot_supported && !sdev->first_boot) { + if (sdev->system_suspend_target < SOF_SUSPEND_S4 && + hda->imrboot_supported && !sdev->first_boot) { dev_dbg(sdev->dev, "IMR restore supported, booting from IMR directly\n"); hda->boot_iteration = 0; ret = hda_dsp_boot_imr(sdev); |