ASoC: SOF: Intel: cnl: Implement feature to support DSP D0i3 in S0
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Wed, 29 Jan 2020 22:07:25 +0000 (16:07 -0600)
committerMark Brown <broonie@kernel.org>
Tue, 11 Feb 2020 11:48:07 +0000 (11:48 +0000)
commit63e51fd33fef04b634a0c32ae491ab16a19cb17c
tree5996a950867d6a946d4404100ff2950e34d17563
parent207bf12f642f39e749ca65d3efca9d48311e629f
ASoC: SOF: Intel: cnl: Implement feature to support DSP D0i3 in S0

This patch implements support for DSP D0i3 when the system
is in S0. The basic idea is to schedule a delayed work after
every successful IPC TX that checks if there are only
D0I3-compatible streams active and if so transition
the DSP to D0I3.

With the introduction of DSP D0I3 in S0, we need to
ensure that the DSP is in D0I0 before sending any new
IPCs. The exception for this would be the
compact IPCs that are used to set the DSP in
D0I3/D0I0 states.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200129220726.31792-9-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/cnl.c
sound/soc/sof/intel/hda-dsp.c
sound/soc/sof/intel/hda.c
sound/soc/sof/intel/hda.h
sound/soc/sof/ipc.c
sound/soc/sof/sof-priv.h