ASoC: SOF: core: allow module parameter to override dma trace Kconfig
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 7 Sep 2021 18:46:47 +0000 (13:46 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 13 Sep 2021 00:59:06 +0000 (01:59 +0100)
Most distributions do not enable the SOF developer options and
specifically the DMA trace. This is problematic for end-user/community
support since the sof-logger tool cannot extract valuable information.

Conversely in rare cases the DMA trace can lead to Heisenbugs by
creating more traffic to system memory and more interrupts.

This patch changes the logic so that the Kconfig value is used as a
default value for a module parameter, but this value can be changed as
needed. Users can override the distro DMA trace selection.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210907184648.33306-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/core.c

index 3e4dd4a86363b822e8b1037adcd3490a81caf57f..6be4f159ee358e9dd3c237053fe8d3d26eb1648b 100644 (file)
@@ -19,7 +19,7 @@
 #endif
 
 /* see SOF_DBG_ flags */
-int sof_core_debug;
+int sof_core_debug =  IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE);
 module_param_named(sof_debug, sof_core_debug, int, 0444);
 MODULE_PARM_DESC(sof_debug, "SOF core debug options (0x0 all off)");
 
@@ -202,8 +202,7 @@ static int sof_probe_continue(struct snd_sof_dev *sdev)
                goto fw_run_err;
        }
 
-       if (IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE) ||
-           (sof_core_debug & SOF_DBG_ENABLE_TRACE)) {
+       if (sof_core_debug & SOF_DBG_ENABLE_TRACE) {
                sdev->dtrace_is_supported = true;
 
                /* init DMA trace */