Unverified Commit 79560b8a authored by Marcin Rajwa's avatar Marcin Rajwa Committed by Mark Brown
Browse files

ASoC: SOF: Intel: disable traces when switching to S0Ix D0I3



We should always disable DMA trace on S0Ix. When staying at S0-D0I3,
we should enable DMA trace while both DMA Trace debug is enabled and
hda_enable_trace_D0I3_S0 is set. This commit corrects the existed
logic errors about that.

Signed-off-by: default avatarMarcin Rajwa <marcin.rajwa@linux.intel.com>
Signed-off-by: default avatarKeyon Jie <yang.jie@linux.intel.com>
Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20200727183613.1419005-3-ranjani.sridharan@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 195f1019
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -408,11 +408,13 @@ static int hda_dsp_set_D0_state(struct snd_sof_dev *sdev,
		value = SOF_HDA_VS_D0I3C_I3;

		/*
		 * Trace DMA is disabled by default when the DSP enters D0I3.
		 * But it can be kept enabled when the DSP enters D0I3 while the
		 * system is in S0 for debug.
		 * Trace DMA need to be disabled when the DSP enters
		 * D0I3 for S0Ix suspend, but it can be kept enabled
		 * when the DSP enters D0I3 while the system is in S0
		 * for debug purpose.
		 */
		if (hda_enable_trace_D0I3_S0 &&
		if (!sdev->dtrace_is_supported ||
		    !hda_enable_trace_D0I3_S0 ||
		    sdev->system_suspend_target != SOF_SUSPEND_NONE)
			flags = HDA_PM_NO_DMA_TRACE;
	} else {