ASoC: SOF: ipc4: Only print LOG BUFFER update message info if requested
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Fri, 9 Sep 2022 11:43:26 +0000 (14:43 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 9 Sep 2022 17:48:44 +0000 (18:48 +0100)
Do not print messages when the SOF_DBG_PRINT_DMA_POSITION_UPDATE_LOGS flag
is not set to reduce the amount of prints when the tracing is used.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20220909114332.31393-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ipc4.c

index 432b812bdf9c68810188a2ae775584d087956397..1c51938ce43b57f378e3a7874d0a9b4adb493d10 100644 (file)
@@ -205,6 +205,11 @@ static void sof_ipc4_log_header(struct device *dev, u8 *text, struct sof_ipc4_ms
                        /* Notification message */
                        u32 notif = SOF_IPC4_NOTIFICATION_TYPE_GET(msg->primary);
 
+                       /* Do not print log buffer notification if not desired */
+                       if (notif == SOF_IPC4_NOTIFY_LOG_BUFFER_STATUS &&
+                           !sof_debug_check_flag(SOF_DBG_PRINT_DMA_POSITION_UPDATE_LOGS))
+                               return;
+
                        if (notif < SOF_IPC4_NOTIFY_TYPE_LAST)
                                str2 = ipc4_dbg_notification_type[notif];
                        if (!str2)
@@ -234,6 +239,13 @@ static void sof_ipc4_log_header(struct device *dev, u8 *text, struct sof_ipc4_ms
 static void sof_ipc4_log_header(struct device *dev, u8 *text, struct sof_ipc4_msg *msg,
                                bool data_size_valid)
 {
+       /* Do not print log buffer notification if not desired */
+       if (!sof_debug_check_flag(SOF_DBG_PRINT_DMA_POSITION_UPDATE_LOGS) &&
+           !SOF_IPC4_MSG_IS_MODULE_MSG(msg->primary) &&
+           SOF_IPC4_MSG_TYPE_GET(msg->primary) == SOF_IPC4_GLB_NOTIFICATION &&
+           SOF_IPC4_NOTIFICATION_TYPE_GET(msg->primary) == SOF_IPC4_NOTIFY_LOG_BUFFER_STATUS)
+               return;
+
        if (data_size_valid && msg->data_size)
                dev_dbg(dev, "%s: %#x|%#x [data size: %zu]\n", text,
                        msg->primary, msg->extension, msg->data_size);