]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: SOF: ipc4: Add support for mtrace log extraction
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Fri, 9 Sep 2022 11:43:30 +0000 (14:43 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 9 Sep 2022 17:48:48 +0000 (18:48 +0100)
commit502508e6fea9d119fb648997c509333f4257b2d4
treed43f6b698ee8114389ebc0cf395ea1d122d439c4
parentcc6574c8950db5e831115467efaeb91d959def5f
ASoC: SOF: ipc4: Add support for mtrace log extraction

One of the debugging/logging features for an IPC4 based firmware is the use
of the debug window to deliver log messages to host via the shared SRAM.

The initial implementation of the mtrace supports only TGL/MTL style of
logging, but can be extended to support other types, like APL, SKL, CNL,
etc.

The window is split into 16 'slots' where the first slot contains the
descriptors for the remaining 15 slots.

Each DSP core logs to a separate slot and the slot allocation is not fixed,
we can not assume that the first slot is always used by core0 for example.

The firmware sends LOG_BUFFER_STATUS message when new log batch is
available from one of the cores (after it updated the write_ptr in the
given slot).
Host should update the read_ptr in the same slot when it has taken out log
data.

The patch also updates the sof_ipc4_fw_data struct with parameters needed
for the mtrace to be enabled and used safely.

Co-developed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
Co-developed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
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-6-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/Makefile
sound/soc/sof/ipc4-loader.c
sound/soc/sof/ipc4-mtrace.c [new file with mode: 0644]
sound/soc/sof/ipc4-priv.h
sound/soc/sof/ipc4.c