From: Cezary Rojewski <cezary.rojewski@intel.com>
To: alsa-devel@alsa-project.org
Cc: pierre-louis.bossart@linux.intel.com,
Cezary Rojewski <cezary.rojewski@intel.com>,
lgirdwood@gmail.com, tiwai@suse.com, vkoul@kernel.org,
broonie@kernel.org
Subject: [alsa-devel] [PATCH v4 00/11] ASoC: SOF: Data probing
Date: Fri, 31 Jan 2020 13:31:04 +0100 [thread overview]
Message-ID: <20200131123115.14247-1-cezary.rojewski@intel.com> (raw)
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.
For HDA part, work has been done to account for compress streams when
servicing IRQs, setting up BDLs and assigning DMAs.
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.
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 (11):
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
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: 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/hdaudio_ext.h | 2 +
include/sound/sof/header.h | 11 ++
sound/core/compress_offload.c | 42 +++++
sound/hda/ext/hdac_ext_stream.c | 49 ++++-
sound/hda/hdac_controller.c | 4 +-
sound/hda/hdac_stream.c | 52 ++++--
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 | 10 +
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 | 132 +++++++++++++
sound/soc/sof/intel/hda-dai.c | 28 +++
sound/soc/sof/intel/hda-ipc.c | 4 +-
sound/soc/sof/intel/hda-stream.c | 26 ++-
sound/soc/sof/intel/hda.h | 30 +++
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 +++
28 files changed, 1277 insertions(+), 39 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
--
2.17.1
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next reply other threads:[~2020-01-31 12:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-31 12:31 Cezary Rojewski [this message]
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 01/11] ALSA: hda: Allow for compress stream to hdac_ext_stream assignment Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 02/11] ALSA: hda: Prepare for compress stream support Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 03/11] ALSA: hda: Interrupt servicing and BDL setup for compress streams Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 04/11] ALSA: core: Expand DMA buffer information Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 05/11] ALSA: core: Implement compress page allocation and free routines Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 06/11] ASoC: SOF: Intel: Account for compress streams when servicing IRQs Cezary Rojewski
2020-01-31 16:39 ` Pierre-Louis Bossart
2020-02-18 14:49 ` Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 07/11] ASoC: SOF: Implement Probe IPC API Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 08/11] ASoC: SOF: Generic probe compress operations Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 09/11] ASoC: SOF: Intel: Probe " Cezary Rojewski
2020-01-31 17:05 ` Pierre-Louis Bossart
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 10/11] ASoC: SOF: Provide probe debugfs support Cezary Rojewski
2020-01-31 12:31 ` [alsa-devel] [PATCH v4 11/11] ASoC: SOF: Intel: Add Probe compress CPU DAIs Cezary Rojewski
2020-01-31 17:02 ` [alsa-devel] [PATCH v4 00/11] ASoC: SOF: Data probing Pierre-Louis Bossart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200131123115.14247-1-cezary.rojewski@intel.com \
--to=cezary.rojewski@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=tiwai@suse.com \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.