ASoC: Intel/SOF: simplify S3 resume flows

Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

All Intel drivers for cAVS platforms contain a sequence for S3 resume
which doesn't seem justified nor necessary. Forensic Git investigation
in internal repositories did not provide any rationale for the
implementation, and tests show no impact when those sequences are
removed.

This sequence was identified as problematic during a large HDaudio
cleanup where all programming sequences were revisited before
extensions are added.
This commit is contained in:
Mark Brown 2022-10-19 12:03:33 +01:00
commit fd65e09923
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0
3 changed files with 0 additions and 34 deletions

View file

@ -580,7 +580,6 @@ static int __maybe_unused avs_suspend_common(struct avs_dev *adev)
static int __maybe_unused avs_resume_common(struct avs_dev *adev, bool purge)
{
struct hdac_bus *bus = &adev->base.core;
struct hdac_ext_link *hlink;
int ret;
snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true);
@ -595,16 +594,6 @@ static int __maybe_unused avs_resume_common(struct avs_dev *adev, bool purge)
return ret;
}
/* turn off the links that were off before suspend */
list_for_each_entry(hlink, &bus->hlink_list, list) {
if (!hlink->ref_count)
snd_hdac_ext_bus_link_power_down(hlink);
}
/* check dma status and clean up CORB/RIRB buffers */
if (!bus->cmd_dma_state)
snd_hdac_bus_stop_cmd_io(bus);
return 0;
}

View file

@ -387,15 +387,6 @@ static int skl_resume(struct device *dev)
snd_hdac_bus_init_cmd_io(bus);
} else {
ret = _skl_resume(bus);
/* turn off the links which are off before suspend */
list_for_each_entry(hlink, &bus->hlink_list, list) {
if (!hlink->ref_count)
snd_hdac_ext_bus_link_power_down(hlink);
}
if (!bus->cmd_dma_state)
snd_hdac_bus_stop_cmd_io(bus);
}
return ret;

View file

@ -677,10 +677,6 @@ static int hda_suspend(struct snd_sof_dev *sdev, bool runtime_suspend)
static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume)
{
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
struct hdac_bus *bus = sof_to_bus(sdev);
struct hdac_ext_link *hlink = NULL;
#endif
int ret;
/* display codec must be powered before link reset */
@ -707,16 +703,6 @@ static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume)
if (sdev->system_suspend_target == SOF_SUSPEND_NONE)
hda_codec_jack_check(sdev);
}
/* turn off the links that were off before suspend */
list_for_each_entry(hlink, &bus->hlink_list, list) {
if (!hlink->ref_count)
snd_hdac_ext_bus_link_power_down(hlink);
}
/* check dma status and clean up CORB/RIRB buffers */
if (!bus->cmd_dma_state)
snd_hdac_bus_stop_cmd_io(bus);
#endif
/* enable ppcap interrupt */