Skip to content

Commit b3eefa5

Browse files
crojewsk-intelbroonie
authored andcommitted
ASoC: Intel: avs: Make enable_logs() dependent on DEBUG_FS
Without debug filesystem present, this code is redundant. Operations: log_buffer_status and log_buffer_offset are left as is as EXCEPTION_CAUGHT and even unexpected LOG_BUFFER_STATUS notifications may occur without user ever touching debugfs. Signed-off-by: Cezary Rojewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 9e3c15b commit b3eefa5

File tree

4 files changed

+32
-23
lines changed

4 files changed

+32
-23
lines changed

sound/soc/intel/avs/apl.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
#include "path.h"
1414
#include "topology.h"
1515

16-
static int apl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
17-
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
16+
static int __maybe_unused
17+
apl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
18+
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
1819
{
1920
struct apl_log_state_info *info;
2021
u32 size, num_cores = adev->hw_cfg.dsp_cores;
@@ -239,10 +240,10 @@ const struct avs_dsp_ops apl_dsp_ops = {
239240
.load_basefw = avs_hda_load_basefw,
240241
.load_lib = avs_hda_load_library,
241242
.transfer_mods = avs_hda_transfer_modules,
242-
.enable_logs = apl_enable_logs,
243243
.log_buffer_offset = skl_log_buffer_offset,
244244
.log_buffer_status = apl_log_buffer_status,
245245
.coredump = apl_coredump,
246246
.d0ix_toggle = apl_d0ix_toggle,
247247
.set_d0ix = apl_set_d0ix,
248+
AVS_SET_ENABLE_LOGS_OP(apl)
248249
};

sound/soc/intel/avs/avs.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,10 +376,15 @@ struct apl_log_buffer_layout {
376376
(addr + sizeof(struct apl_log_buffer_layout))
377377

378378
#ifdef CONFIG_DEBUG_FS
379+
#define AVS_SET_ENABLE_LOGS_OP(name) \
380+
.enable_logs = name##_enable_logs
381+
379382
bool avs_logging_fw(struct avs_dev *adev);
380383
void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len);
381384
void avs_dump_fw_log_wakeup(struct avs_dev *adev, const void __iomem *src, unsigned int len);
382385
#else
386+
#define AVS_SET_ENABLE_LOGS_OP(name)
387+
383388
static inline bool avs_logging_fw(struct avs_dev *adev)
384389
{
385390
return false;

sound/soc/intel/avs/messages.c

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,24 @@ int avs_ipc_get_modules_info(struct avs_dev *adev, struct avs_mods_info **info)
685685
return 0;
686686
}
687687

688+
int avs_ipc_copier_set_sink_format(struct avs_dev *adev, u16 module_id,
689+
u8 instance_id, u32 sink_id,
690+
const struct avs_audio_format *src_fmt,
691+
const struct avs_audio_format *sink_fmt)
692+
{
693+
struct avs_copier_sink_format cpr_fmt;
694+
695+
cpr_fmt.sink_id = sink_id;
696+
/* Firmware expects driver to resend copier's input format. */
697+
cpr_fmt.src_fmt = *src_fmt;
698+
cpr_fmt.sink_fmt = *sink_fmt;
699+
700+
return avs_ipc_set_large_config(adev, module_id, instance_id,
701+
AVS_COPIER_SET_SINK_FORMAT,
702+
(u8 *)&cpr_fmt, sizeof(cpr_fmt));
703+
}
704+
705+
#ifdef CONFIG_DEBUG_FS
688706
int avs_ipc_set_enable_logs(struct avs_dev *adev, u8 *log_info, size_t size)
689707
{
690708
return avs_ipc_set_large_config(adev, AVS_BASEFW_MOD_ID, AVS_BASEFW_INST_ID,
@@ -704,20 +722,4 @@ int avs_ipc_set_system_time(struct avs_dev *adev)
704722
return avs_ipc_set_large_config(adev, AVS_BASEFW_MOD_ID, AVS_BASEFW_INST_ID,
705723
AVS_BASEFW_SYSTEM_TIME, (u8 *)&sys_time, sizeof(sys_time));
706724
}
707-
708-
int avs_ipc_copier_set_sink_format(struct avs_dev *adev, u16 module_id,
709-
u8 instance_id, u32 sink_id,
710-
const struct avs_audio_format *src_fmt,
711-
const struct avs_audio_format *sink_fmt)
712-
{
713-
struct avs_copier_sink_format cpr_fmt;
714-
715-
cpr_fmt.sink_id = sink_id;
716-
/* Firmware expects driver to resend copier's input format. */
717-
cpr_fmt.src_fmt = *src_fmt;
718-
cpr_fmt.sink_fmt = *sink_fmt;
719-
720-
return avs_ipc_set_large_config(adev, module_id, instance_id,
721-
AVS_COPIER_SET_SINK_FORMAT,
722-
(u8 *)&cpr_fmt, sizeof(cpr_fmt));
723-
}
725+
#endif

sound/soc/intel/avs/skl.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
#include "avs.h"
1313
#include "messages.h"
1414

15-
static int skl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
16-
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
15+
static int __maybe_unused
16+
skl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
17+
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
1718
{
1819
struct skl_log_state_info *info;
1920
u32 size, num_cores = adev->hw_cfg.dsp_cores;
@@ -111,10 +112,10 @@ const struct avs_dsp_ops skl_dsp_ops = {
111112
.load_basefw = avs_cldma_load_basefw,
112113
.load_lib = avs_cldma_load_library,
113114
.transfer_mods = avs_cldma_transfer_modules,
114-
.enable_logs = skl_enable_logs,
115115
.log_buffer_offset = skl_log_buffer_offset,
116116
.log_buffer_status = skl_log_buffer_status,
117117
.coredump = skl_coredump,
118118
.d0ix_toggle = skl_d0ix_toggle,
119119
.set_d0ix = skl_set_d0ix,
120+
AVS_SET_ENABLE_LOGS_OP(skl)
120121
};

0 commit comments

Comments
 (0)