ASoC: Intel: sst: Free streams on suspend, re-alloc on resume
authorHans de Goede <hdegoede@redhat.com>
Sun, 18 Feb 2018 22:01:43 +0000 (23:01 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 1 Mar 2018 16:22:48 +0000 (16:22 +0000)
commitbf642bf57398572327072d306e26e38aebd94fa7
treec9ca9bd88ebd9f577fe82540a0779953c50d779a
parent473858cad1ea3d4e6c287bad23961cd5fb7382d9
ASoC: Intel: sst: Free streams on suspend, re-alloc on resume

The Bay Trail SST-DSP firmware version looses track of all streams over a
suspend/resume, failing any attempts to resume and/or free streams, with
a SST_ERR_INVALID_STREAM_ID error.

This commit adds support for free-ing the streams on suspend and
re-allocating them on resume, fixing suspend/resume issues on devices
using this firmware version.

This new behavior gets triggered by a new flag in sst_platform_info which
only gets set on Bay Trail platforms.

This has been tested on the following devices:
-Asus T100TA,    Bay Trail    + ALC5642 codec
-Ployer MOMO7W,  Bay Trail CR + ALC5652 codec

Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
arch/x86/include/asm/platform_sst_audio.h
sound/soc/intel/atom/sst/sst.c
sound/soc/intel/atom/sst/sst.h
sound/soc/intel/atom/sst/sst_acpi.c
sound/soc/intel/atom/sst/sst_stream.c