linux_dsm_epyc7002/sound/soc/sof
Ranjani Sridharan 6ca5cecbd1
ASoC: SOF: Introduce state machine for FW boot
Add a state machine for FW boot to track the
different stages of FW boot and replace the boot_complete
field with fw_state field in struct snd_sof_dev.
This will be used to determine the actions to be performed
during system suspend.

One of the main motivations for adding this change is the
fact that errors during the top-level SOF device probe cannot
be propagated and therefore suspending the SOF device normally
during system suspend could potentially run into errors.
For example, with the current flow, if the FW boot failed
for some reason and the system suspends, the SOF device
suspend could fail because the CTX_SAVE IPC would be attempted
even though the FW never really booted successfully causing it
to time out. Another scenario that the state machine fixes
is when the runtime suspend for the SOF device fails and
the DSP is powered down nevertheless, the CTX_SAVE IPC during
system suspend would timeout because the DSP is already
powered down.

Reviewed-by: Curtis Malainey <cujomalainey@chromium.org>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.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/20191218002616.7652-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-12-18 19:52:20 +00:00
..
imx ASoC: Updates for v5.5 2019-11-07 14:12:30 +01:00
intel ASoC: SOF: Introduce state machine for FW boot 2019-12-18 19:52:20 +00:00
xtensa sound fixes for 5.2-rc5 2019-06-14 05:37:06 -10:00
control.c ASoC: SOF: partition audio-related parts from SOF core 2019-12-09 18:38:57 +00:00
core.c ASoC: SOF: Introduce state machine for FW boot 2019-12-18 19:52:20 +00:00
debug.c Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
ipc.c ASoC: SOF: Introduce state machine for FW boot 2019-12-18 19:52:20 +00:00
Kconfig ASoC: SOF: remove references to Haswell 2019-12-18 19:51:40 +00:00
loader.c ASoC: SOF: Introduce state machine for FW boot 2019-12-18 19:52:20 +00:00
Makefile ASoC: SOF: partition audio-related parts from SOF core 2019-12-09 18:38:57 +00:00
nocodec.c ASoC: SOF: nocodec: Amend arguments for sof_nocodec_setup() 2019-12-09 18:40:32 +00:00
ops.c ASoC: SOF: Fix a compile warning with CONFIG_PCI=n 2019-05-07 11:23:57 +09:00
ops.h ASoC: SOF: Make creation of machine device from SOF core optional 2019-12-09 18:39:35 +00:00
pcm.c ASoC: SOF: Use managed buffer allocation 2019-12-12 15:41:22 +00:00
pm.c ASoC: SOF: Introduce state machine for FW boot 2019-12-18 19:52:20 +00:00
sof-acpi-dev.c ASoC: SOF: remove references to Haswell 2019-12-18 19:51:40 +00:00
sof-audio.c ASoC: SOF: nocodec: Amend arguments for sof_nocodec_setup() 2019-12-09 18:40:32 +00:00
sof-audio.h ASoC: SOF: Make creation of machine device from SOF core optional 2019-12-09 18:39:35 +00:00
sof-of-dev.c ASoC: SOF: remove nocodec_fw_filename 2019-12-09 18:39:54 +00:00
sof-pci-dev.c ASoC: SOF: Intel: add namespace for HDA_COMMON 2019-12-18 19:52:01 +00:00
sof-priv.h ASoC: SOF: Introduce state machine for FW boot 2019-12-18 19:52:20 +00:00
topology.c Merge branch 'for-5.5' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.6 2019-12-10 13:27:14 +00:00
trace.c ASoC: SOF: core: modify the signature for snd_sof_create_page_table 2019-12-09 18:38:01 +00:00
utils.c ASoC: SOF: core: modify the signature for snd_sof_create_page_table 2019-12-09 18:38:01 +00:00