[alsa-devel] [Sound-open-firmware] [PATCH v3 07/14] ASoC: SOF: Add DSP firmware logger support

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Dec 12 17:04:42 CET 2018


On 12/12/18 5:11 AM, Takashi Iwai wrote:
> On Tue, 11 Dec 2018 22:23:11 +0100,
> Pierre-Louis Bossart wrote:
>> From: Liam Girdwood <liam.r.girdwood at linux.intel.com>
>>
>> This patch adds support for real-time DSP logging (timestamped events
>> and bespoke binary data) for firmware debug. The current solution
>> relies on DMA transfers to system memory that is then accessed by
>> userspace tools such as sof-logger. For Intel platforms, two types of
>> DMAs are currently used (GP-DMA for Baytrail/CherryTrail and HDaudio
>> DMA for SKL+)
>>
>> Due to historical reasons, the driver code follows the DSP firmware
>> conventions and refers to 'traces', but it is currently unrelated to
>> the Linux trace subsystem. Future solutions will include support for
>> more advanced hardware (e.g. MIPI Sys-T), additional formats and the
>> ability to enable/disable specific traces dynamically.
> So what's the reason not to use Linux standard tracing infrastructure?

I obviously failed to convey the intent in the commit message :-(

What we have today is just a DMA-based transfers of 'trace' data into a 
ring buffer. That's it. it's very similar to what always existed on Atom 
and Skylake, just more transparent and released for upstream reviews 
this time.

Is it optimal or final? Absolutely not. There will be evolutions such as

A) support for multi-cores on the DSP side, each with their own 'trace' 
capability.

B) support for other hardware platforms which may not have a DMA.

C) support for 'probes' to retrieve and inject PCM data into specific 
firmware nodes.

This patch does not create a new generic tracing infrastructure for 
Linux. We are exploring ways by which this standard tracing 
infrastructure can be used, we just haven't had time to look into it as 
we focused on runtime_pm and new platforms first.

Also we need to make sure the DSP traces are not defined for Linux only, 
it's intended that the SOF firmware is used in non-Linux environments, 
so we want to use what Linux provides, but not constrain SOF to work for 
Linux only.

Does this help?



More information about the Alsa-devel mailing list