ASoC: Intel: avs: D0ix power state support
authorCezary Rojewski <cezary.rojewski@intel.com>
Mon, 16 May 2022 10:11:09 +0000 (12:11 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 17 May 2022 10:58:00 +0000 (11:58 +0100)
commit335c4cbd201d4b74942ff37e6c644d56b9247df3
tree1fc8ebfeaa509abfa955b735d8fc38b24f29c144
parent4b86115cb91a3d34ce7da87b734572ce6063babc
ASoC: Intel: avs: D0ix power state support

Audio DSP device supports D0 substates in form of D0ix, allowing for
preserving more power even when device is still considered active (D0).
When entered, certain domains which are not being currently used become
power gated. Entering and leaving D0ix is a complex process and differs
between firmware generations.

Conditions that disallow D0i3 and require immediate D0i0 transition
include but may not be limited to: IPC traffic, firmware tracing and
SRAM I/O. To make D0ix toggling sane, delay D0i3 transition and refresh
the timer each time an IPC is requested.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220516101116.190192-9-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/avs.h
sound/soc/intel/avs/dsp.c
sound/soc/intel/avs/ipc.c
sound/soc/intel/avs/messages.c