mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 15:36:55 +08:00
ASoC: SOF: ipc4-pcm: Pipe instances to dev_dbg in multi_pipeline_state()
Add a dev_dbg to sof_ipc4_set_multi_pipeline_state(). The debug print lists the pipeline instance numbers that are included in the SOF_IPC4_GLB_SET_PIPELINE_STATE message. Without this log its very hard to tell what pipelines are affected. This print is very helpful when analyzing SOF logs automatically. Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://patch.msgid.link/20250619121121.25241-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -56,17 +56,41 @@ sof_ipc4_sps_to_time_info(struct snd_sof_pcm_stream *sps)
|
||||
return stream_priv->time_info;
|
||||
}
|
||||
|
||||
static
|
||||
char *sof_ipc4_set_multi_pipeline_state_debug(struct snd_sof_dev *sdev, char *buf, size_t size,
|
||||
struct ipc4_pipeline_set_state_data *trigger_list)
|
||||
{
|
||||
int i, offset = 0;
|
||||
|
||||
for (i = 0; i < trigger_list->count; i++) {
|
||||
offset += snprintf(buf + offset, size - offset, " %d",
|
||||
trigger_list->pipeline_instance_ids[i]);
|
||||
|
||||
if (offset >= size - 1) {
|
||||
buf[size - 1] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
static int sof_ipc4_set_multi_pipeline_state(struct snd_sof_dev *sdev, u32 state,
|
||||
struct ipc4_pipeline_set_state_data *trigger_list)
|
||||
{
|
||||
struct sof_ipc4_msg msg = {{ 0 }};
|
||||
u32 primary, ipc_size;
|
||||
char debug_buf[32];
|
||||
|
||||
/* trigger a single pipeline */
|
||||
if (trigger_list->count == 1)
|
||||
return sof_ipc4_set_pipeline_state(sdev, trigger_list->pipeline_instance_ids[0],
|
||||
state);
|
||||
|
||||
dev_dbg(sdev->dev, "Set pipelines %s to state %d%s",
|
||||
sof_ipc4_set_multi_pipeline_state_debug(sdev, debug_buf, sizeof(debug_buf),
|
||||
trigger_list),
|
||||
state, sof_ipc4_pipeline_state_str(state));
|
||||
|
||||
primary = state;
|
||||
primary |= SOF_IPC4_MSG_TYPE_SET(SOF_IPC4_GLB_SET_PIPELINE_STATE);
|
||||
primary |= SOF_IPC4_MSG_DIR(SOF_IPC4_MSG_REQUEST);
|
||||
|
||||
Reference in New Issue
Block a user