mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
ASoC: Intel: avs: Separate debug symbols
Make it clear what is part of debug functionality and what is not by separating debug symbols away from the common header file. Apart from changing avs_probe_platform_register() to return -ENOTSUPP when CONFIG_DEBUG_FS is disabled, status quo is achieved. Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://patch.msgid.link/20250818104126.526442-2-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
c17b750b3a
commit
62dc545be1
|
|
@ -10,6 +10,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
#include "path.h"
|
||||
#include "registers.h"
|
||||
|
|
|
|||
|
|
@ -359,80 +359,7 @@ int avs_hda_platform_register(struct avs_dev *adev, const char *name);
|
|||
int avs_register_all_boards(struct avs_dev *adev);
|
||||
void avs_unregister_all_boards(struct avs_dev *adev);
|
||||
|
||||
/* Firmware tracing helpers */
|
||||
|
||||
#define avs_log_buffer_size(adev) \
|
||||
((adev)->fw_cfg.trace_log_bytes / (adev)->hw_cfg.dsp_cores)
|
||||
|
||||
#define avs_log_buffer_addr(adev, core) \
|
||||
({ \
|
||||
s32 __offset = avs_dsp_op(adev, log_buffer_offset, core); \
|
||||
(__offset < 0) ? NULL : \
|
||||
(avs_sram_addr(adev, AVS_DEBUG_WINDOW) + __offset); \
|
||||
})
|
||||
|
||||
static inline int avs_log_buffer_status_locked(struct avs_dev *adev, union avs_notify_msg *msg)
|
||||
{
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
spin_lock_irqsave(&adev->trace_lock, flags);
|
||||
ret = avs_dsp_op(adev, log_buffer_status, msg);
|
||||
spin_unlock_irqrestore(&adev->trace_lock, flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct avs_apl_log_buffer_layout {
|
||||
u32 read_ptr;
|
||||
u32 write_ptr;
|
||||
u8 buffer[];
|
||||
} __packed;
|
||||
static_assert(sizeof(struct avs_apl_log_buffer_layout) == 8);
|
||||
|
||||
#define avs_apl_log_payload_size(adev) \
|
||||
(avs_log_buffer_size(adev) - sizeof(struct avs_apl_log_buffer_layout))
|
||||
|
||||
#define avs_apl_log_payload_addr(addr) \
|
||||
(addr + sizeof(struct avs_apl_log_buffer_layout))
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
#define AVS_SET_ENABLE_LOGS_OP(name) \
|
||||
.enable_logs = avs_##name##_enable_logs
|
||||
|
||||
bool avs_logging_fw(struct avs_dev *adev);
|
||||
void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len);
|
||||
void avs_dump_fw_log_wakeup(struct avs_dev *adev, const void __iomem *src, unsigned int len);
|
||||
|
||||
int avs_probe_platform_register(struct avs_dev *adev, const char *name);
|
||||
|
||||
void avs_debugfs_init(struct avs_dev *adev);
|
||||
void avs_debugfs_exit(struct avs_dev *adev);
|
||||
#else
|
||||
#define AVS_SET_ENABLE_LOGS_OP(name)
|
||||
|
||||
static inline bool avs_logging_fw(struct avs_dev *adev)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void
|
||||
avs_dump_fw_log_wakeup(struct avs_dev *adev, const void __iomem *src, unsigned int len)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int avs_probe_platform_register(struct avs_dev *adev, const char *name)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void avs_debugfs_init(struct avs_dev *adev) { }
|
||||
static inline void avs_debugfs_exit(struct avs_dev *adev) { }
|
||||
#endif
|
||||
int avs_parse_sched_cfg(struct avs_dev *adev, const char *buf, size_t len);
|
||||
|
||||
/* Filesystems integration */
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#include <sound/soc-acpi.h>
|
||||
#include <sound/soc-component.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "utils.h"
|
||||
|
||||
static char *i2s_test;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
#include "registers.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "../../codecs/hda.h"
|
||||
#include "avs.h"
|
||||
#include "cldma.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
#include "pcm.h"
|
||||
|
||||
|
|
|
|||
91
sound/soc/intel/avs/debug.h
Normal file
91
sound/soc/intel/avs/debug.h
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright(c) 2024-2025 Intel Corporation
|
||||
*
|
||||
* Authors: Cezary Rojewski <cezary.rojewski@intel.com>
|
||||
* Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com>
|
||||
*/
|
||||
|
||||
#ifndef __SOUND_SOC_INTEL_AVS_DEBUG_H
|
||||
#define __SOUND_SOC_INTEL_AVS_DEBUG_H
|
||||
|
||||
#include "messages.h"
|
||||
#include "registers.h"
|
||||
|
||||
struct avs_dev;
|
||||
|
||||
#define avs_log_buffer_size(adev) \
|
||||
((adev)->fw_cfg.trace_log_bytes / (adev)->hw_cfg.dsp_cores)
|
||||
|
||||
#define avs_log_buffer_addr(adev, core) \
|
||||
({ \
|
||||
s32 __offset = avs_dsp_op(adev, log_buffer_offset, core); \
|
||||
(__offset < 0) ? NULL : \
|
||||
(avs_sram_addr(adev, AVS_DEBUG_WINDOW) + __offset); \
|
||||
})
|
||||
|
||||
static inline int avs_log_buffer_status_locked(struct avs_dev *adev, union avs_notify_msg *msg)
|
||||
{
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
spin_lock_irqsave(&adev->trace_lock, flags);
|
||||
ret = avs_dsp_op(adev, log_buffer_status, msg);
|
||||
spin_unlock_irqrestore(&adev->trace_lock, flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct avs_apl_log_buffer_layout {
|
||||
u32 read_ptr;
|
||||
u32 write_ptr;
|
||||
u8 buffer[];
|
||||
} __packed;
|
||||
static_assert(sizeof(struct avs_apl_log_buffer_layout) == 8);
|
||||
|
||||
#define avs_apl_log_payload_size(adev) \
|
||||
(avs_log_buffer_size(adev) - sizeof(struct avs_apl_log_buffer_layout))
|
||||
|
||||
#define avs_apl_log_payload_addr(addr) \
|
||||
(addr + sizeof(struct avs_apl_log_buffer_layout))
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
int avs_probe_platform_register(struct avs_dev *adev, const char *name);
|
||||
|
||||
#define AVS_SET_ENABLE_LOGS_OP(name) \
|
||||
.enable_logs = avs_##name##_enable_logs
|
||||
|
||||
bool avs_logging_fw(struct avs_dev *adev);
|
||||
void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len);
|
||||
void avs_dump_fw_log_wakeup(struct avs_dev *adev, const void __iomem *src, unsigned int len);
|
||||
|
||||
void avs_debugfs_init(struct avs_dev *adev);
|
||||
void avs_debugfs_exit(struct avs_dev *adev);
|
||||
|
||||
#else
|
||||
static inline int avs_probe_platform_register(struct avs_dev *adev, const char *name)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
#define AVS_SET_ENABLE_LOGS_OP(name)
|
||||
|
||||
static inline bool avs_logging_fw(struct avs_dev *adev)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void avs_dump_fw_log_wakeup(struct avs_dev *adev, const void __iomem *src,
|
||||
unsigned int len)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void avs_debugfs_init(struct avs_dev *adev) { }
|
||||
static inline void avs_debugfs_exit(struct avs_dev *adev) { }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
#include <linux/string_helpers.h>
|
||||
#include <sound/soc.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
|
||||
static unsigned int __kfifo_fromio(struct kfifo *fifo, const void __iomem *src, unsigned int len)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include <sound/hdaudio.h>
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
|
||||
#define ICL_VS_LTRP_GB_ICCMAX 95
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
#include "registers.h"
|
||||
#include "trace.h"
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "registers.h"
|
||||
|
||||
int avs_lnl_core_stall(struct avs_dev *adev, u32 core_mask, bool stall)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "registers.h"
|
||||
#include "trace.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <sound/hdaudio.h>
|
||||
#include <sound/soc.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
|
||||
static int avs_dsp_init_probe(struct avs_dev *adev, union avs_connector_node_id node_id,
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "registers.h"
|
||||
#include "trace.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <sound/hdaudio_ext.h>
|
||||
#include "avs.h"
|
||||
#include "cldma.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
#include "registers.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <linux/pci.h>
|
||||
#include "avs.h"
|
||||
#include "debug.h"
|
||||
#include "messages.h"
|
||||
|
||||
#define CPUID_TSC_LEAF 0x15
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user