mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-25 22:20:52 +00:00
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 | ||