[PATCH 00/20] ASoC: SOF: Re-visit firmware state and panic tracking/handling

Peter Ujfalusi peter.ujfalusi at linux.intel.com
Thu Dec 23 12:36:08 CET 2021


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(-)

-- 
2.34.1



More information about the Alsa-devel mailing list