ASoC: SOF: Intel: Split the set_power_op for IPC3 and IPC4
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Thu, 20 Apr 2023 10:47:14 +0000 (13:47 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 20 Apr 2023 11:52:02 +0000 (12:52 +0100)
commit996b07efe49620325332081afdb0dc0bd6fe5cd0
treeffc793e6fc8727a87725746214e801a16c7988cf
parent09cda705860125ffee1b1359b1da79f8e0c77a40
ASoC: SOF: Intel: Split the set_power_op for IPC3 and IPC4

Suspending to S0iX with IPC3 requires the PM_GATE IPC to be sent again
to stop the DMA trace. But with IPC4, this is not needed as the trace is
stopped with the LARGE_CONFIG_SET IPC. Also, sending the MOD_D0IX IPC to
set the D0I3 state again when the DSP is in D0I3 already results in an
imbalance in PM runtime states in the firmware. So split the
set_power_state ops for IPC3 and IPC4 to avoid sending the MOD_D0IX IPC
when the DSP is already in D0I3 with IPC4.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230420104714.29573-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/apl.c
sound/soc/sof/intel/cnl.c
sound/soc/sof/intel/hda-common-ops.c
sound/soc/sof/intel/hda-dsp.c
sound/soc/sof/intel/hda.h
sound/soc/sof/intel/icl.c
sound/soc/sof/intel/mtl.c
sound/soc/sof/intel/tgl.c