Hi,
this series will improve how we are tracking the firmware's state to be able to avoid communication with it when it is not going to answer due to a panic and we will attempt to force power cycle the DSP to recover at the next runtime suspend time.
The state handling brings in other improvements on the way the kernel reports errors and DSP panics to reduce the printed lines for normal users, but at the same time allowing developers (or for bug reports) to have more precise information available to track down the issue.
We can now place messages easily in the correct debug level and not bound to the static ERROR for some of the print chains, causing excess amount or partial information to be printed, confusing users and machines (CI).
I would have prefered to split this series up, but it was developed together to achieve a single goal to reduce the noise, but also provide the details we need to be able to rootcause issues.
Regards, Peter --- Peter Ujfalusi (20): ASoC: SOF: ops: Use dev_warn() if the panic offsets differ ASoC: SOF: Intel: hda-loader: Avoid re-defining the HDA_FW_BOOT_ATTEMPTS ASoC: SOF: core: Add simple wrapper to check flags in sof_core_debug ASoC: SOF: Use sof_debug_check_flag() instead of sof_core_debug directly ASoC: SOF: Add 'non_recoverable' parameter to snd_sof_dsp_panic() ASoC: SOF: Add a 'message' parameter to snd_sof_dsp_dbg_dump() ASoC: SOF: Introduce new firmware state: SOF_FW_CRASHED ASoC: SOF: Introduce new firmware state: SOF_FW_BOOT_READY_OK ASoC: SOF: Move the definition of enum snd_sof_fw_state to global header ASoC: SOF: Rename 'enum snd_sof_fw_state' to 'enum sof_fw_state' ASoC: SOF: ipc: Only allow sending of an IPC in SOF_FW_BOOT_COMPLETE state ASoC: SOF: Set SOF_FW_BOOT_FAILED in case we have failure during boot ASoC: SOF: pm: Force DSP off on suspend in BOOT_FAILED state also ASoc: SOF: core: Update the FW boot state transition diagram ASoC: SOF: ops: Always print DSP Panic message but use different message ASoC: SOF: dsp_arch_ops: add kernel log level parameter for oops and stack ASoC: SOF: Rename snd_sof_get_status() and add kernel log level parameter ASoC: SOF: Add clarifying comments for sof_core_debug and DSP dump flags ASoC: SOF: debug: Use DEBUG log level for optional prints ASoC: SOF: Intel: hda: Use DEBUG log level for optional prints
include/sound/sof.h | 22 ++++++ sound/soc/sof/core.c | 119 +++++++++++++++++++------------ sound/soc/sof/debug.c | 35 +++++---- sound/soc/sof/imx/imx-common.c | 4 +- sound/soc/sof/imx/imx8.c | 2 +- sound/soc/sof/imx/imx8m.c | 2 +- sound/soc/sof/intel/atom.c | 8 +-- sound/soc/sof/intel/bdw.c | 8 +-- sound/soc/sof/intel/cnl.c | 21 +++++- sound/soc/sof/intel/hda-ipc.c | 19 ++++- sound/soc/sof/intel/hda-loader.c | 24 ++++--- sound/soc/sof/intel/hda.c | 20 +++--- sound/soc/sof/intel/hda.h | 2 +- sound/soc/sof/ipc.c | 4 +- sound/soc/sof/loader.c | 16 ++--- sound/soc/sof/ops.c | 47 ++++++++---- sound/soc/sof/ops.h | 4 +- sound/soc/sof/pm.c | 10 +++ sound/soc/sof/sof-priv.h | 44 +++++------- sound/soc/sof/topology.c | 12 ++-- sound/soc/sof/xtensa/core.c | 44 +++++++----- 21 files changed, 299 insertions(+), 168 deletions(-)