mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 06:55:07 +07:00
b80d19c166
There is no need to restore and restart PCM streams in case ADSP didn't reach reset and power off state during system suspend/resume cycle. In that case stream is still active but paused and firmware doesn't allow allocating a new stream before paused stream is freed. ADSP remains active in case suspend sequence didn't go to suspend_late stage. This can happen when either suspend sequence is aborted by a wakeup or by letting only devices suspend by "echo devices >/sys/power/pm_test". Currently stream restoring fails in these suspend cases. Fix this by adding a flag that indicates is complete stream reinitialization needed or is it enough to resume paused stream. Flag is set when we know that ADSP reached suspend_late. Initial fix to this issue came from Fang Yang. I modified it a little and forward ported it to top of two other suspend/resume patches from me. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Tested-by: Borun Fu <borun.fu@intel.com> Cc: yang fang <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> |
||
---|---|---|
.. | ||
byt-max98090.c | ||
byt-rt5640.c | ||
haswell.c | ||
Kconfig | ||
Makefile | ||
mfld_machine.c | ||
sst-acpi.c | ||
sst-baytrail-dsp.c | ||
sst-baytrail-ipc.c | ||
sst-baytrail-ipc.h | ||
sst-baytrail-pcm.c | ||
sst-dsp-priv.h | ||
sst-dsp.c | ||
sst-dsp.h | ||
sst-firmware.c | ||
sst-haswell-dsp.c | ||
sst-haswell-ipc.c | ||
sst-haswell-ipc.h | ||
sst-haswell-pcm.c | ||
sst-mfld-dsp.h | ||
sst-mfld-platform-compress.c | ||
sst-mfld-platform-pcm.c | ||
sst-mfld-platform.h |