[PATCH v5 0/9] ASoC: SOF: Data probing
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Tue Feb 18 18:21:53 CET 2020
On 2/18/20 8:39 AM, Cezary Rojewski wrote:
> This set of patches achieves few goals in order to enable data probing
> feature for audio DSP.
>
> First, provide new and alter existing interfaces (page allocation,
> runtime flow adjustments) to make them compress friendly.
>
> Finally, the end goal which are the probe APIs and usage itself. Probes
> can be treated as endpoints which allow for data extraction from or
> injection to target module - a great ally when debugging problematic
> audio issues such as distortions, glitches or gaps.
> Compress streams are a weapon of choice here to provide a lightweight
> implementation.
>
> While all available IPCs have been defined, current implementation
> covers extraction only, with injection scheduled for a later date.
>
> Initial review and development of probes can be found under:
> https://github.com/thesofproject/linux/pull/1276
>
> with the hda-compress-enable set of patches being separated and
> reviewed on:
> https://github.com/thesofproject/linux/pull/1571
>
> Tested on CML-U with rt5682 i2s board.
For the series:
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
Nice work Cezary, thanks.
> Cahnges in v5:
> - Removed SND_SOC_SOF_HDA_LINK requirement for hda probes. Instead of
> sound/hda/ext, sof hda operations are used
> - In consequence of above, patches:
> ALSA: hda: Allow for compress stream to hdac_ext_stream assignment
> ALSA: hda: Prepare for compress stream support
> ALSA: hda: Interrupt servicing and BDL setup for compress streams
> have been dropped.
>
> - In order to reuse pcm utility functions for hda compress, new patch
> has been added:
> ASoC: SOF: Intel: Expose SDnFMT helpers
> - Addressed u64/ u32 concerns from Pierre when calculating bytes
> transferred during runtime
>
> Changes in v4:
> - No changes to ALSA core and hda patches
>
> - 'probe' source added in patch "ASoC: SOF: Implement Probe IPC API" now
> only compiled if SND_SOC_SOF_DEBUG_PROBES is enabled. Said kconfig
> initial declaration has been moved to that patch too
> - 'extractor_stream_tag' field now decorated with _DEBUG_PROBES to
> account for the change above
> - Debugfs probe handlers now check if extractor stream is running before
> continuing. To achieve this, 'extractor_stream_tag' is both initialized
> and set to SOF_PROBE_INVALID_NODE_ID on sof_probe_compr_free().
> Suggestion provided by Pierre
>
> - Reverted SND_SOC_SOF_HDA_LINK requirement-removal change for HDA probes.
> Code requires SND_HDA_EXT_CORE in order to function on Intel platforms
> - Relocated probe-compress related code from /sof/pcm.c directly to
> /sof/compress.c as requested by Daniel
>
> Changes in v3:
> - No changes to ALSA core and hda patches
>
> - Addressed sparse and all doc related warnings as reported by Pierre
> - Moved _DEBUG_PROBES config outside of _DEVELOPER_SUPPORT block
> - Renamed 'extractor' field to 'extractor_stream_tag' as requested
> - Relocated 'extractor_stream_tag' declaration from patch 07 to 08
>
> Changes in v2:
> - No changes to ALSA core and hda patches
>
> - Removed "ASoC: Intel: sof_rt5682: Add compress probe DAI links" from
> the patchset list as requested by Pierre
> - updated copyright header for newly added files (dates)
> - probes over HDA no longer require SND_SOC_SOF_HDA_LINK enabled
> - renamed debugfs probe functions as requested by Pierre
>
> - probe IPC API has been updated to align with newest SOF FW & probe
> debug app (struct_size macro has been enlisted to make the size
> calculations transparent). This targets only "ASoC: SOF: Implement
> Probe IPC API" patch
>
> Cezary Rojewski (9):
> ALSA: core: Expand DMA buffer information
> ALSA: core: Implement compress page allocation and free routines
> ASoC: SOF: Intel: Account for compress streams when servicing IRQs
> ASoC: SOF: Implement Probe IPC API
> ASoC: SOF: Generic probe compress operations
> ASoC: SOF: Intel: Expose SDnFMT helpers
> ASoC: SOF: Intel: Probe compress operations
> ASoC: SOF: Provide probe debugfs support
> ASoC: SOF: Intel: Add Probe compress CPU DAIs
>
> include/sound/compress_driver.h | 40 +++-
> include/sound/hdaudio.h | 2 +
> include/sound/sof/header.h | 11 ++
> sound/core/compress_offload.c | 42 +++++
> sound/soc/sof/Kconfig | 9 +
> sound/soc/sof/Makefile | 1 +
> sound/soc/sof/compress.c | 146 +++++++++++++++
> sound/soc/sof/compress.h | 31 ++++
> sound/soc/sof/core.c | 6 +
> sound/soc/sof/debug.c | 226 +++++++++++++++++++++++
> sound/soc/sof/intel/Kconfig | 9 +
> sound/soc/sof/intel/Makefile | 1 +
> sound/soc/sof/intel/apl.c | 9 +
> sound/soc/sof/intel/cnl.c | 9 +
> sound/soc/sof/intel/hda-compress.c | 114 ++++++++++++
> sound/soc/sof/intel/hda-dai.c | 28 +++
> sound/soc/sof/intel/hda-ipc.c | 4 +-
> sound/soc/sof/intel/hda-pcm.c | 8 +-
> sound/soc/sof/intel/hda-stream.c | 25 ++-
> sound/soc/sof/intel/hda.h | 32 ++++
> sound/soc/sof/ops.h | 43 +++++
> sound/soc/sof/pcm.c | 7 +
> sound/soc/sof/probe.c | 286 +++++++++++++++++++++++++++++
> sound/soc/sof/probe.h | 85 +++++++++
> sound/soc/sof/sof-priv.h | 25 +++
> 25 files changed, 1183 insertions(+), 16 deletions(-)
> create mode 100644 sound/soc/sof/compress.c
> create mode 100644 sound/soc/sof/compress.h
> create mode 100644 sound/soc/sof/intel/hda-compress.c
> create mode 100644 sound/soc/sof/probe.c
> create mode 100644 sound/soc/sof/probe.h
>
More information about the Alsa-devel
mailing list