diff options
author | Peter Ujfalusi <peter.ujfalusi@linux.intel.com> | 2024-04-03 12:52:04 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-04-03 13:04:23 +0200 |
commit | bbdf9af261adca039de29e7fc1faff367bf7e9a0 (patch) | |
tree | 662b8606b239a17007a842ae91e6307c913fa160 /sound/soc/sof/intel/mtl.c | |
parent | ASoC: rsnd: reg cleanup (diff) | |
download | linux-bbdf9af261adca039de29e7fc1faff367bf7e9a0.tar.xz linux-bbdf9af261adca039de29e7fc1faff367bf7e9a0.zip |
ASoC: SOF: Intel: hda: Create debugfs file to force a clean DSP boot
When IMR boot is supported on a platform it is always going to be used to
boot the DSP unless some catastrophic event happens.
There is no way for a developer to force a clean DSP boot without removing
and re-inserting the modules.
Create a 'skip_imr_boot' debugfs file which can be used to force the
next DSP boot as clean (prune) boot.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://msgid.link/r/20240403105210.17949-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to '')
-rw-r--r-- | sound/soc/sof/intel/mtl.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/soc/sof/intel/mtl.c b/sound/soc/sof/intel/mtl.c index df05dc77b8d5..8a55d5a2703e 100644 --- a/sound/soc/sof/intel/mtl.c +++ b/sound/soc/sof/intel/mtl.c @@ -9,6 +9,7 @@ * Hardware interface for audio DSP on Meteorlake. */ +#include <linux/debugfs.h> #include <linux/firmware.h> #include <sound/sof/ipc4/header.h> #include <trace/events/sof_intel.h> @@ -294,8 +295,12 @@ int mtl_dsp_post_fw_run(struct snd_sof_dev *sdev) } /* Check if IMR boot is usable */ - if (!sof_debug_check_flag(SOF_DBG_IGNORE_D3_PERSISTENT)) + if (!sof_debug_check_flag(SOF_DBG_IGNORE_D3_PERSISTENT)) { hdev->imrboot_supported = true; + debugfs_create_bool("skip_imr_boot", + 0644, sdev->debugfs_root, + &hdev->skip_imr_boot); + } } hda_sdw_int_enable(sdev, true); |