Commit Graph

2427 Commits

Author SHA1 Message Date
Guennadi Liakhovetski 1dd1b278d8 volume: move gain.toml and peakvol.toml into volume.toml
To make volume an LLEXT module it should have a single TOML
configuration file named volume.toml. This is easy to do, using
respective Kconfig options.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-12 18:07:16 +03:00
Seppo Ingalsuo 97e5c0ded9 Tools: Topology2: Enable DMIC capture pre-processing for hda-generic
This patch adds to DMIC0 capture TDFB beamformer and DRC for
dynamic range control. The impacted topology names are:

- sof-hda-generic-2ch.tplg
- sof-hda-generic-4ch.tplg
- sof-hda-generic-cavs25-2ch.tplg
- sof-hda-generic-cavs25-4ch.tplg
- sof-hda-generic-ace1-2ch.tplg
- sof-hda-generic-ace2-2ch.tplg

The DMIC0 capture pipelines before this patch was:

DAI-copier -> IIR -> gain -> module copier -> host-copier

After:

DAI-copier -> IIR -> gain -> module copier ->
TDFB -> DRC -> host-copier

The beamformer is set for 2ch topologies to a narrow user
direction stereo image enhance with about 3 dB signal-to-noise
ratio improvement with blob "line2_generic_pm10deg.conf". In 4ch
topologies the beamformer is set to pass-through due to large
variations in notebook array geometries. The processing need to
be enabled per product by UCM2. The beamformer control switch is
by default off.

The DRC is set with blob "dmic_default.conf" to produce up to
10 dB boost in capture level. It helps to make DMIC capture louder
in normal silent conditions while it prevents clipping of samples
in loud conditions. The DRC control switch is by default off.

The added controls (seen with "amixer -c0 controls") are:

- Dmic0 Capture DRC bytes
- Dmic0 Capture DRC switch
- Dmic0 Capture TDFB angle set enum
- Dmic0 Capture TDFB beam switch
- Dmic0 Capture TDFB bytes

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-11 14:12:19 +01:00
Seppo Ingalsuo 707c0c5bce Tools: Topology2: Add beamformer and DRC to HDA analog capture
This patch adds to analog microphone capture pipeline TDFB
beamformer and DRC for dynamic range control.

The enhanced host copier pipeline is enabled if
HDA_MIC_ENHANCED_CAPTURE is set to true in topologies build.
The keys EFX_HDA_MIC_TDFB_PARAMS and EFX_HDA_MIC_DRC_PARAMS
control the applied configurations blobs.

There is no processing applied to capture audio since the
topology is built with pass-through blobs. E.g. UCM2 should
set up processing with blobs those have effect.

The change impacts sof-hda-generic.tplg. The other topologies
with DMIC are kept as before without added processing. The
analog capture pipelines are before this change:

dai-copier -> eqiir -> module-copier -> host-copier

After:

dai-copier -> eqiir -> module-copier -> TDFB -> DRC -> host-copier

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-11 14:18:53 +03:00
Seppo Ingalsuo cf7f45ecb0 Tools: Topology2: Add module copier to HDA analog capture
This patch changes in cavs-mixin-mixout-hda based topologies the
analog capture pipeline from

dai-copier -> eqiir -> host-copier

to

dai-copier -> eqiir -> module-copier -> host-copier

It allows more flexibility with processing add into host-copier
pipeline and allow capture stream duplication to multiple PCMs.

This change adds 2.2 MCPS from module-copier in TGL platform.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-11 14:18:53 +03:00
Seppo Ingalsuo b9aa4c5603 Tools: Topology2: Cleanup dai-copier-eqiir-module-copier-capture
The pipeline is generic for any type of DAI, so using DMIC0_DAI_EQIIR
to select IIR blob is wrong. The blob definition need to be done
at upper level where endpoint is known.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-11 14:18:53 +03:00
Seppo Ingalsuo 51f6eaeb4b Tools: Topology2: Remove unused include from cavs-es83x6.conf
The topologies built with cavs-es83x6.conf
(sof-mtl-es83x6-ssp1-hdmi-ssp02.tplg and sof-mtl-hdmi-ssp02)
are not using dai-copier-eqiir-module-copier-capture pipeline,
so this include can be deleted.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-11 14:18:53 +03:00
SaiSurya Ch 22744b16ad rimage: config: add acp_7_0 toml file to support acp_7_0 build
Add acp_7_0 toml file to support sof-acp_7_0.ri binary build

Signed-off-by: SaiSurya Ch <saisurya.chakkaveeravenkatanaga@amd.com>
2024-09-11 09:28:36 +03:00
SaiSurya Ch 979abb6d8d tools: topology: add ACP_7_0 topology support
Add ACP_7_0 platform topology.

Signed-off-by: SaiSurya Ch <saisurya.chakkaveeravenkatanaga@amd.com>
2024-09-11 09:28:36 +03:00
Eddy Hsu 7789531bfc comp: ctc: add ctc switch control.
Add enablement switch controls of Google CTC component.

Signed-off-by: Eddy Hsu <eddyhsu@google.com>
2024-09-10 15:30:25 +01:00
Seppo Ingalsuo fce09fc56b Audio: Multiband-DRC: Move blob configuration scripts to module directory
To consolidate the audio moves the scripts are moved to the same
directory as the module. This first step only moves the files.
The next steps rename the scripts and fix possible issue to
directories move.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-10 12:06:37 +03:00
Seppo Ingalsuo 2950246415 Tools: Test: Audio: Add to process_test.m option to show plots
This change replaces 6th argument with show_plots. If it is
set to 1, the plots are not hidden. If set to 2, also the
temporary sound files are not deleted that is useful for
debugging.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-09 12:39:44 +03:00
Seppo Ingalsuo 85b8ab64ac Tools: Test: Audio: Fixes for process_test.m for moved files
The full process test fails due to changed paths of Octave
module setup scripts.

The path EQ blob decoder has changed after the EQ tool was moved
under the module. Also the SOF ABI version retrieve function
path need to be set to tune/common to use the generic function
instead of the first version that was made for EQ export.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-09 12:39:44 +03:00
Mac Chiang 7fc758be43 topology2: Add cs42l43 and cs35l56 support on ADL/RPL, MTL/ARL, LNL
The ADL, ARL, LNL hardware board configurations are below:
ARL has the same dsp generiation as MTL. So set platform = mtl.

SoundWire#
  ├── link 0: cs42l43 Audio Jack and DMICs/Bridge to amplifiers.
      | |     -> sof-rpl-cs42l43-l0.tplg
      │ │     -> sof-mtl-cs42l43-l0.tplg
      │ │     -> sof-arl-cs42l43-l0.tplg
      │ │     -> sof-lnl-cs42l43-l0.tplg
      │ │
      │ ├── link 2: cs35l56 Left and Right Amplifier.
      │	            -> sof-arl-cs42l43-l0-cs35l56-l2.tplg
      │
      ├──── link 2: cs35l56 Right/Rightx2 Amplifier.
      ├──── link 3: cs35l56 Left/Leftx2 Amplifier.
                    -> sof-adl-cs42l43-l0-cs35l56-l23.tplg
                    -> sof-arl-cs42l43-l0-cs35l56-l23.tplg
                    -> sof-lnl-cs42l43-l0-cs35l56-l23.tplg

SoundWire#
  ├── link 2: cs42l43 Audio Jack and DMICs.
      │       -> sof-arl-cs42l43-l2.tplg
      │ 
      ├──── link 3: cs35l56 Left and Right Amplifier.
                    -> sof-arl-cs42l43-l2-cs35l56-l3.tplg

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2024-09-09 11:13:38 +03:00
Mac Chiang ae69f5cd26 topology2: update flags for alignment
PLATFORM=tgl, can safely removed as it is not included in cavs-sdw and
does not affect the soundwire configurations.

Remove SDW_FMT_24 flag because it has become the fixed format for
soundwire configurations.

SDW_AMP_FEEDBACK is currently used for debugging purposes. So set false
to disable it.

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2024-09-09 11:13:38 +03:00
Jyri Sarha 9152b87a4d tools: debug_stream.py: debug_stream record receiving and decoding
Python implementation for receiving and decoding debug-stream records
from debug window slot transportation. Opens SOF debugfs file
"debug_stream" reads and decodes the records from the circular buffer
documented in soc_debug_window_slot.h. This initial version only knows
of DEBUG_STREAM_RECORD_ID_THREAD_INFO records.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2024-09-06 12:28:58 +03:00
Seppo Ingalsuo 82252055c0 Audio: DCblock: Tune: Move dcblock setup scripts to module directory
The change is done to consolidate the files belonging to the
module. This patch only moves the files to a new location.
Successive patches address the issues caused by this move.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-02 13:32:56 +01:00
Seppo Ingalsuo 80c621aeff Audio: Crossover: Move blob configuration scripts to module directory
To consolidate the audio moves the scripts are moved to the same
directory as the module. This first step only moves the files.
The next steps rename the scripts and fix possible issue to
directories move.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-02 11:28:58 +01:00
Ranjani Sridharan 847b2ae7a7 tools: plugin: noise_suppression: Fix build error
Recent changes to UUID naming dropped the _comp in the UUID declaration.
Fix the noise suppression module to adhere to the new naming while
declaring the module interface and trace.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2024-09-02 11:24:53 +01:00
Seppo Ingalsuo 73de9de524 Audio: EQ: Tune: Move equalizer setup scripts to module directory
The scripts are moved to consolidate the audio modules.

The setup tool is common for IIR and FIR where IIR is more
commonly used so the destination directory is eq_iir. The
equalizers with both IIR and FIR part are also designed in
the same run so the design is not split.

The paths are fixed in code for new location. There are no
other changes.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-02 11:21:20 +01:00
Seppo Ingalsuo 298687c016 Tools: Rimage: Config: Add mfcc.toml include for MTL, LNL, PTL
The MFCC component is not loading in these platforms due to
missing edit to <platform>.toml.h.

As editorial change the missing newline in the end of
ptl.toml.h is fixed.

Fixes: f7715b814b
       ("Audio: MFCC: Fix build of component for current SOF")

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-09-02 10:30:34 +01:00
Pierre-Louis Bossart 8b8c842c78 topology2: add simple passthrough for HDA tests
Long overdue, I don't know why we keep adding complicated stuff
without having a simpler baseline.

Two configurations are provided, one with default copiers and another
with CHAIN_DMA.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2024-08-27 14:35:32 +03:00
Seppo Ingalsuo ad85184af0 Tools: Test: Audio: Mitigate trace flood in process_test.m
The verbose test trace flood slows down the test to near
unusable test times due to a lot of text printed to Octave
console. As result also the SOF CI logs become large.

This patch adds redirect of testbench trace into a temporary
file instead of standard output in process_test.m. The trace
content is printed in comp_run.sh to console only if there has
been an error. To prevent growing /tmp the trace file is
deleted after test run and possible print to console.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-27 13:39:53 +03:00
Seppo Ingalsuo 371245bb94 Tools: Topology2: Fix cavs-nocodec.conf SSP2 PCM rates
The rate_min and rate_max no more work with IPC4 topologies. The
SSP2 PCM host pipeline contains a sample rate converter so it can
support multiple rates. With attempt to play (or capture) with
other than 48 kHz the error is printed and resulting playback has
wrong pitch:

Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
         please, try the plug plugin

Use of rates with list of all rates in topology fixes the issue.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-22 21:53:35 +03:00
Seppo Ingalsuo b1c996b21b Tools: Tune: MFCC: Fix channels handling in audio feature plotter
In test topologies the MFCC data can be packed to 1, 2, or 4
channels stream. This change fixes the shown time scale for
audio features 3D plot.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:39:05 +01:00
Seppo Ingalsuo 5c84e5bbd4 Tools: Tune: MFCC: Add export of default blob for tplg2
This patch updates the setup_mfcc.m Octave script to produce
configuration blob for topology version 2 builds.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:39:05 +01:00
Seppo Ingalsuo 75c53fb990 Tools: Topology2: Add MFCC component and topologies for hda-generic
This patch adds build of topologies
- sof-hda-generic-cavs25-2ch-mfcc.tplg
- sof-hda-generic-cavs25-4ch-mfcc.tplg
- sof-hda-generic-ace1-2ch-mfcc.tplg
- sof-hda-generic-ace1-4ch-mfcc.tplg

The MFCC is connected to 16 kHz DMIC1 DAI. The MFCC bitstream
is passed to capture PCM. The DMIC1 pipeline style is copied
from DMIC0:

DAI copier -> IIR -> gain -> module_copier -> MFCC -> host copier

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:39:05 +01:00
Seppo Ingalsuo fd70236924 Tools: Topology2: Move IIR blob define to upper level from pipeline
The same dai-copier-eqiir-gain-module-copier-capture pipeline can
be used for both DMIC0 and DMIC1, with different IIR setting,
so the blob definition is moved to dmic-generic.conf where the
pipeline is instantiated.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:39:05 +01:00
Seppo Ingalsuo f7715b814b Audio: MFCC: Fix build of component for current SOF
It has not been possible to build the component earlier for Zephyr
IPC4 systems. This patch makes the next fixes:

- Add SOF_MODULE_INIT() and include of rtos/init.h
- For unit test fix the init function to
  sys_comp_module_mfcc_interface_init()
- To Zephyr/CMakeLists.txt add the needed math library sources
- Add .toml files for rimage for IPC4 systems

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:39:05 +01:00
Seppo Ingalsuo 94e1bd2e6e Tools: test: Audio: Fix src_test.m run error
The SRC module tools have moved, so the path to retrieve SRC
filter spec has changed.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:29:17 +01:00
Ranjani Sridharan b5c91d428c topology2: pipelines: Use SubTreeCopy where possible
Modify the class definitions for the mixout-gain-efx-dai-copier-playback
and the mixout-gain-efx-mbdrc-dai-copier-playback pipelines to use the
SubreeCopy feature to extend the mixout-gain-eqiir-eqfir pipeline class
definition.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2024-08-21 13:03:00 +01:00
Ranjani Sridharan b32de25fc1 topology2: pipelines: Add a new pipeline
Add a new pipeline, mixout-gain-eqiir-eqfir, that uses the new alsa-utils
topology feature to allow extending existing pipeline definitions. This
new class extends the base class mixout-gain-dai-copier-playback class
by adding the eqiir & eqfir widgets along with the new routes.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2024-08-21 13:03:00 +01:00
Ranjani Sridharan 10fe84b95b topology2: mixout-gain-dai-copier-playback: Modify route definition
Modify the route description to an array in preparation for allowing
class extensions to define new classes where existing routes will be
merged with the new routes in the sub classes.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2024-08-21 13:03:00 +01:00
Eddy Hsu 0e5ba1fb70 Add topology for CTC.
Add topology in development to test CTC.

Signed-off-by: Eddy Hsu <eddyhsu@google.com>
2024-08-19 12:58:46 -07:00
Seppo Ingalsuo dea518e024 Tools: Topology2: DMIC: Bug fix 4ch host copier channels count
This patch fixes a recently introduced bug that impacts most
of 4ch DMIC topologies.

The NUM_DMICS=4 controls DAI channels count, while the
DMIC0_PCM_CHANNELS controls host copier channels count. In
most topologies built the DMIC0_PCM_CHANNELS remained in
default 2 setting if it was not explicitly set in cmake target
definitions.

As result the "arecord -c 4" attempt failed e.g. with common
sof-hda-generic-4ch.tplg.

Fixes: 88366121b3 ("Tools: Topology2:
       Add DMIC Enhanced Audio Capture development tplg")

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-19 15:24:06 +03:00
Seppo Ingalsuo 88366121b3 Tools: Topology2: Add DMIC Enhanced Audio Capture development tplg
This patch adds to DMIC0 capture TDFB beamformer and DRC for
dynamic range control. The names of updated topologies are
sof-hda-efx-generic-2ch.tplg and sof-hda-efx-generic-4ch.
The efx topologies with mbdrc are updated similarly.

The pipeline is enabled if DMIC0_ENHANCED_CAPTURE is set to true
in topologies build. They keys EFX_DMIC0_TDFB_PARAMS and
EFX_DMIC0_DRC_PARAMS control the configurations blobs use.

Build parameter DMIC0_PCM_CHANNELS controls the number of output
channels for beamformer. It is by default two.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Seppo Ingalsuo 95a0ffc0d4 Tools: Topology2: Add beamformer and DRC to HDA analog capture
This patch adds to analog microphone capture pipeline TDFB
beamformer and DRC for dynamic range control. The name of updated
topology is sof-hda-efx-generic.tplg. Similar capture enhance is
added to multi-band DRC version sof-hda-efx-mbdrc-generic.tplg.

The pipeline is enabled if HDA_MIC_ENHANCED_CAPTURE is set to true
in topologies build. They keys EFX_HDA_MIC_TDFB_PARAMS and
EFX_HDA_MIC_DRC_PARAMS control the configurations blobs use.

There is no processing applied to capture audio since the topology
is built with passthrough blobs. E.g. UCM should set up processing
with blobs those have effect.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Seppo Ingalsuo ea1e318ce6 Tools: Topology2: Add default DRC blobs
This patch adds a DRC blob for DMIC capture and renames the
speaker blob.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Seppo Ingalsuo e4467dfc26 Tools: Topology2: Add configuration blobs for TDFB
This patch adds a number of configuration blobs for the
time-domain fixed beamformer component. The blobs include
pass-through and generic narrow angle stereo beamforming for
two and four microphones line array systems.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Seppo Ingalsuo 56fa2defae Tools: Topology2: Remove mandatory name attribute from enum control
This change allows to disable and hide the control by omitting name
define if it is not useful in the topology. Also other ALSA controls
no more require mandatory name.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Seppo Ingalsuo a811e2bac3 Tools: Topology2: Add module copier to HDA analog capture EXF tplg
This patch updates similarly as for hda-generic the analog capture.
Before the patch the capture path pipelines are:

dai-copier.HDA.Analog.capture --> host-copier.0.capture

After this change:

dai-copier.HDA.Analog.capture --> eqiir.4.1
                              --> module-copier.4.2
                              --> host-copier.0.capture

To use the same dai-copier-eqiir-module-copier-capture tplg code
chunk as in hda-generic, the macros HDA_ANALOG_CAPTURE and
HDA_ANALOG_PLAYBACK_RATE were added.

The addition of IIR to capture mitigates the capture start transients
similarly as in hda-generic.

This change adds 7.7 MCPS from IIR, and 2.2 MCPS from module-copier
in TGL platform.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Seppo Ingalsuo ea746d749a Tools: Topology2: Move in DMIC capture gain from host to dai pipeline
This change adds volume and switch  "Dmic0" into dai-copier pipeline.
It ensures that all capture from DMIC follows the mute key control
even if some other processing and PCMs are added to module copier.

The patch adds a new pipeline class
dai-copier-eqiir-gain-module-copier-capture. It is similar as
replaced dai-copier-eqiir-module-copier-capture but adds the
gain component.

The confusing DMIC0_DAI_GAIN (set to eqiir) is removed from all
top level topologies (nocodec, rt5682, sdw, hda).

After this a typical DMIC0 pipeline looks like:

dai-copier --> eqiir --> gain --> module-copier --> host-copier

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Seppo Ingalsuo dbfd35a8a9 Tools: Topology2: Remove gain from DMIC host copier pipeline
This change prepares for adding it instead to DMIC DAI copier
pipeline. There it will control mute/unmute for all possible
module copier connected other capture PCMs.

The pipeline object gain-capture is replaced with simpler
host-gateway-capture. The definition of DMIC0_HOST_PIPELINE_SINK
need to be changed from gain to host-copier.

With this patch, the typical DMIC capture path looks like:

dai-copier --> eqiir --> module-copier --> host-copier

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-14 15:23:33 +01:00
Marc Herbert 21e2028bef tools/plugin: drop bogus -Wl,-EL binutils endianness option
This mysterious option has been causing portability issues and has never
made any difference, see previous commits for details.

I compiled the plugin with and without it and there was absolutely zero
binary difference.

Let's remove it from all tools/plugin/ CMakeLists.txt files before the
mass copy/paste/diverge there spreads it even more.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-08-09 13:03:46 +03:00
SaiSurya Ch 6a448db42e topology: Update topology name of platform ACP_6_3
update topology file name of platform ACP_6_3

Signed-off-by: SaiSurya Ch <saisurya.chakkaveeravenkatanaga@amd.com>
2024-08-08 14:40:40 +03:00
Eddy Hsu b2521eaa7b comp: Add initial Google CTC component
Introduce a new component to perform crosstalk-cancellation on
the playback path.

Signed-off-by: Eddy Hsu <eddyhsu@google.com>
2024-08-06 13:32:51 -07:00
Pierre-Louis Bossart 22c3285788 topology2: sdw-dmic-generic: add eqiir to control DC offset
For some reason we had the EQIIR for topology1/IPC3 but we didn't add
it for topology2/IPC4.  All recordings show there's a strong DC offset
with RT722 and other codecs, so let's add this component by default in
the non-passthrough cases.

The widget is added in the scope of a pipeline, so that the
auto-generated instance is not handled at a global level.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2024-08-05 15:32:03 +01:00
Pierre-Louis Bossart 394b63a190 topology2: sdw-jack-generic: move eqiir widget in scope of pipeline
The widget should only be defined in the scope of a pipeline,
otherwise the instance management is global instead of local to the
pipeline.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2024-08-05 15:32:03 +01:00
Pierre-Louis Bossart dd4c68ed4c topology2: sdw-jack-generic: simplify capture formats
The ALH copier only supports 32bits stereo on capture. All the
additional formatls on the host copiers make no sense, and we also
don't need to generate 4ch on the host side.

It looks like the addition of the 1ch support was also problematic
since the link always operates with 2ch.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2024-08-05 14:30:25 +01:00
Pierre-Louis Bossart fab56b89de topology2: revisit use of SAMPLE_TYPE_MSB_INTEGER and SDW_LINK_VALID_BITS
These two variables should only be used on the link side. It makes no
sense to use them on the host-facing side of the DAI copier.

FIXME: do we need to use 3 formats for the ALH copiers, in most cases
there's really a need for a 32-bit format only?

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2024-08-05 14:30:25 +01:00
Pierre-Louis Bossart ea0e4b51f2 topology2: remove audio_format
We need to use input_audio_format and output_audio_format.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2024-08-05 14:30:25 +01:00