diff options
author | Cezary Rojewski <cezary.rojewski@intel.com> | 2022-12-02 16:28:31 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-12-05 14:05:23 +0000 |
commit | 9e3c15beb8976771f95ba30b3da8bd35dc7188ac (patch) | |
tree | b4b2874a862ff8021cb6d6482173ea69c90fff69 /sound/soc/intel/avs/debugfs.c | |
parent | 58029b7734ec84738aeb8fb391e625832bb6b0a6 (diff) | |
download | linux-9e3c15beb8976771f95ba30b3da8bd35dc7188ac.tar.gz |
ASoC: Intel: avs: Introduce debug-context aware helpers
Debug-related fields and log-dumping are useful when debugfs is enabled.
Define them under CONFIG_DEBUG_FS and provide stubs when the config is
disabled so that the code that makes use of these needs not to be
complicated unnecessarily.
Members that are duplicated by this patch will be removed by the follow
up changes.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20221202152841.672536-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/avs/debugfs.c')
-rw-r--r-- | sound/soc/intel/avs/debugfs.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sound/soc/intel/avs/debugfs.c b/sound/soc/intel/avs/debugfs.c new file mode 100644 index 000000000000..ac3889e21542 --- /dev/null +++ b/sound/soc/intel/avs/debugfs.c @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-only +// +// Copyright(c) 2021-2022 Intel Corporation. All rights reserved. +// +// Authors: Cezary Rojewski <cezary.rojewski@intel.com> +// Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com> +// + +#include <linux/debugfs.h> +#include <linux/kfifo.h> +#include <linux/wait.h> +#include "avs.h" + +bool avs_logging_fw(struct avs_dev *adev) +{ + return kfifo_initialized(&adev->trace_fifo); +} + +void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len) +{ + __kfifo_fromio(&adev->trace_fifo, src, len); +} + +void avs_dump_fw_log_wakeup(struct avs_dev *adev, const void __iomem *src, unsigned int len) +{ + avs_dump_fw_log(adev, src, len); + wake_up(&adev->trace_waitq); +} |