Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20221202152841.672536-8-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Cezary Rojewski and committed by
Mark Brown
b3eefa5d 9e3c15be

+32 -23
+4 -3
sound/soc/intel/avs/apl.c
··· 13 13 #include "path.h" 14 14 #include "topology.h" 15 15 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) 18 19 { 19 20 struct apl_log_state_info *info; 20 21 u32 size, num_cores = adev->hw_cfg.dsp_cores; ··· 240 239 .load_basefw = avs_hda_load_basefw, 241 240 .load_lib = avs_hda_load_library, 242 241 .transfer_mods = avs_hda_transfer_modules, 243 - .enable_logs = apl_enable_logs, 244 242 .log_buffer_offset = skl_log_buffer_offset, 245 243 .log_buffer_status = apl_log_buffer_status, 246 244 .coredump = apl_coredump, 247 245 .d0ix_toggle = apl_d0ix_toggle, 248 246 .set_d0ix = apl_set_d0ix, 247 + AVS_SET_ENABLE_LOGS_OP(apl) 249 248 };
+5
sound/soc/intel/avs/avs.h
··· 376 376 (addr + sizeof(struct apl_log_buffer_layout)) 377 377 378 378 #ifdef CONFIG_DEBUG_FS 379 + #define AVS_SET_ENABLE_LOGS_OP(name) \ 380 + .enable_logs = name##_enable_logs 381 + 379 382 bool avs_logging_fw(struct avs_dev *adev); 380 383 void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len); 381 384 void avs_dump_fw_log_wakeup(struct avs_dev *adev, const void __iomem *src, unsigned int len); 382 385 #else 386 + #define AVS_SET_ENABLE_LOGS_OP(name) 387 + 383 388 static inline bool avs_logging_fw(struct avs_dev *adev) 384 389 { 385 390 return false;
+19 -17
sound/soc/intel/avs/messages.c
··· 685 685 return 0; 686 686 } 687 687 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 688 706 int avs_ipc_set_enable_logs(struct avs_dev *adev, u8 *log_info, size_t size) 689 707 { 690 708 return avs_ipc_set_large_config(adev, AVS_BASEFW_MOD_ID, AVS_BASEFW_INST_ID, ··· 722 704 return avs_ipc_set_large_config(adev, AVS_BASEFW_MOD_ID, AVS_BASEFW_INST_ID, 723 705 AVS_BASEFW_SYSTEM_TIME, (u8 *)&sys_time, sizeof(sys_time)); 724 706 } 725 - 726 - int avs_ipc_copier_set_sink_format(struct avs_dev *adev, u16 module_id, 727 - u8 instance_id, u32 sink_id, 728 - const struct avs_audio_format *src_fmt, 729 - const struct avs_audio_format *sink_fmt) 730 - { 731 - struct avs_copier_sink_format cpr_fmt; 732 - 733 - cpr_fmt.sink_id = sink_id; 734 - /* Firmware expects driver to resend copier's input format. */ 735 - cpr_fmt.src_fmt = *src_fmt; 736 - cpr_fmt.sink_fmt = *sink_fmt; 737 - 738 - return avs_ipc_set_large_config(adev, module_id, instance_id, 739 - AVS_COPIER_SET_SINK_FORMAT, 740 - (u8 *)&cpr_fmt, sizeof(cpr_fmt)); 741 - } 707 + #endif
+4 -3
sound/soc/intel/avs/skl.c
··· 12 12 #include "avs.h" 13 13 #include "messages.h" 14 14 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) 17 18 { 18 19 struct skl_log_state_info *info; 19 20 u32 size, num_cores = adev->hw_cfg.dsp_cores; ··· 112 111 .load_basefw = avs_cldma_load_basefw, 113 112 .load_lib = avs_cldma_load_library, 114 113 .transfer_mods = avs_cldma_transfer_modules, 115 - .enable_logs = skl_enable_logs, 116 114 .log_buffer_offset = skl_log_buffer_offset, 117 115 .log_buffer_status = skl_log_buffer_status, 118 116 .coredump = skl_coredump, 119 117 .d0ix_toggle = skl_d0ix_toggle, 120 118 .set_d0ix = skl_set_d0ix, 119 + AVS_SET_ENABLE_LOGS_OP(skl) 121 120 };