Skip to content

Conversation

@abonislawski
Copy link
Member

TPLG and Sound Dose backport for PTL-006

singalsu and others added 14 commits November 27, 2025 08:08
This patch adds build of test topologies for SDW MTL platforms,
e.g. sof-mtl-sdw-benchmark-<module><16/24/32>.tplg. The benchmark
topologies were before this build only for HDA generic platforms
that limits current test devices availability.

The HDA topologies build is cleaned up and benchmark tplg build
is removed from the production topology high level file
sof-hda-generic.conf. The required definitions are moved to
cavs-benchmark-hda.conf. The io-gateway or dai definitions
are moved to this file to keep the component specific topologies
parts agnostic to audio codec endpoint.

A similar high level benchmark topologies configuration file is
added for SDW into cavs-benchmark-sdw.conf.

The tplg-targets-bench.cmake is modified to build topologies for
both HDA and SDW.

In component specific files the dai-copier endpoints are passed
in macro since the names are codec type specific. The route
configurations are renamed to be without hda. The host gateway
configuration is removed to be without io since it was moved
to platform type specific higher level configuration.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Put the Cmake and Kconfig module directories in alphabetical order to help
convenience scripting insert new modules.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
The exported header file is missing the include for stdint.h
for the used uint32_t type. Without it some builds fail to
warning. Also the copyright text is updated.

This patch also adds static const to the array declaration.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Need to drop the TLV header (used for Linux kernel bytes control)
from data to keep the existing format after the header was added
to sof-ctl generated data header. This header is not passed to
firmware, only the kernel that this usage of filter coefficients
passes, is using it.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds script sof_sound_dose_time_domain_filters.m
that exports IIR and FIR coefficients to approximate A-weight
function. The current choice is IIR only for lower MCPS load.

The script sof_sound_dose_blobs.m creates a few control blobs
to test the sound_dose component.

A simple script sof_sound_dose_ref.m to compute dBFS and MEL
for a wav file is added to compare with firmware reported values.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The added plot is useful especially with parametric IIR
equalizer tuning to see achieved response error vs. target.
A numerical mean(abs()) value of error is printed to help
see filter parameters change impact.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The build topologies are
- sof-hda-benchmark-sound_dose32.tplg
- sof-mtl-sdw-benchmark-sound_dose32-sdw0.tplg
- sof-mtl-sdw-benchmark-sound_dose32-simplejack.tplg

The controls are for example initialized to
- sensitivity 100 dB, 0 dBFS equals 100 dBSPL (a worst case loudness)
- volume 0 dB, assumes codec gain for headphones is set to max
- gain 0 dB, user's music playback is not attenuated

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds a new SOF component Sound Dose. The purpose is
to calculate for audio playback MEL values (momentary sound
exposure level) to provide to user space the data to compute the
sound dose CSD as defined in EN 50332-3.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds option to add the float and 8-bit unsigned
format to SDW jack playback and capture. The formats are
added only if PCM_FORMAT_ALL is set to true. The default
value in common_definitions.conf if false.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds option to add float and unsigned 8-bit playback
formats to deep buffer if PCM_FORMAT_ALL is set to true.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds option to add float and unsigned 8-bit playback
formats to SDW speaker if PCM_FORMAT_ALL is set to true.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds option to add float and unsigned 8-bit capture
formats to SDW microphones if PCM_FORMAT_ALL is set to true.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds option to add float and unsigned 8-bit capture
formats to PCH DMIC if PCM_FORMAT_ALL is set to true.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch duplicates from production topologies the PTL ALC721
topology into development directory and adds to all PCMs
the FLOAT_LE and U8 formats.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
@abonislawski
Copy link
Member Author

More commits needed for SOF_MEM_FLAG_USER.
Dropping this, we will push v7.0

@abonislawski
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants