ASoC: SOF: Intel: hda: Do not re-enable L1 if disabled before suspend
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Mon, 20 Feb 2023 07:58:02 +0000 (09:58 +0200)
committerMark Brown <broonie@kernel.org>
Sun, 5 Mar 2023 23:37:31 +0000 (23:37 +0000)
commitae9db908517717888c4d618fdb90c02ec3fa1b3d
tree657904c6ebdb3365d9728c156fc31d59a5c49c21
parentfe15c26ee26efa11741a7b632e9f23b01aca4cc6
ASoC: SOF: Intel: hda: Do not re-enable L1 if disabled before suspend

We have a workaround in place to address a known issue with host DMA
running into xruns when capture streams are running. But when resuming
from Sx, we unconditionally re-enable DMI L1 without taking the
workaround into account and this could lead to xruns when a suspended
capture stream is restarted.

To fix this rename the flag l1_support_enabled to l1_disabled in struct
sof_intel_hda_dev to save the L1 disabled status which can be
set/cleared when we get/put a stream and use the flag to determine if DMI
L1 should enabled or not during the post_fw_run op.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230220075804.4829-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-ctrl.c
sound/soc/sof/intel/hda-dsp.c
sound/soc/sof/intel/hda-stream.c
sound/soc/sof/intel/hda.h