Commit Graph

2221 Commits

Author SHA1 Message Date
Seppo Ingalsuo e5da161264 Tools: Topology2: Add sof-hda-benchmark-rtnr16/24/32-<platform>
This patch adds build of hda-generic development topologies to
test IGO NR component with all s16/s24/s32 formats.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-12-19 17:41:02 +02:00
Seppo Ingalsuo 8df176a7bb Tools: Topology2: Add widget class IGO NR
This patch allows to build topologies to use the IGO NR
component.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-12-19 17:41:02 +02:00
Laurentiu Mihalcea aaff352314 topology1: pipe-volume-capture.m4: Set minimum number of channels to 2
Currently, the minimum number of channels for the capture PCM
is set to the same value as the maximum number. This restricts
the number of channels supported by the PCM to the maximum number.
This is wrong if we want to allow arecord to work with multiple channel
values. As such, follow the example of "pipe-volume-playback.m4" and
introduce a new macro: LOCAL_CHANNELS_MIN. This will be set to
"CHANNELS_MIN" if said macro is defined, otherwise it will be set to
2.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-12-13 15:26:16 +02:00
Marc Herbert ded019bd46 xtensa-build-zephyr.py: remove IPC3/IPC4 "cavs" switch
Rename:
- tgl-cavs.toml   to tgl.toml
- tgl-h-cavs.toml to tgl-h.toml

Remove the IPC3/IPC4 switch added by commit 6f71808e3e
("xtensa-build-zephyr.py: add ipc4 build support for tgl")

This brings back consistency which is required for the .toml
split (#8490)

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-12 23:50:40 +02:00
Marc Herbert 79e5080175 rimage: remove obsolete, IPC3 tgl.toml and tgl-h.toml
The main branch hasn't supported IPC3 for tgl for a long time.

Follow-up to commit a17c2823d3 ("xtensa-build-zephyr: remove ipc
option")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-12 23:50:40 +02:00
Jyri Sarha f064c029cc topology2: pipeline: Remove rate attribute and rate and channels values
Remove the rest of channels and rate attribute values from pipeline
instamces and remove rate attribute definition from
pipeline-common.conf. There was no channels attribute definition in
pipeline-common.conf, not to mention *_min and *_max attributes.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-12-12 20:18:02 +02:00
Jyri Sarha d6999c590e topology2: pipelines/cavs: Remove channels and rate pipeline attribute values
This commit removes all defined values for rate, rate_min, rate_max,
channels, channels_min, and channels_max, from all pipeline
definitions under include/pipelines/cavs. The commit also removes them
from the usage examples in the comments.

The removed pipeline level attribute values are obsolete.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2023-12-12 20:18:02 +02:00
Adrian Bonislawski fd61ed6151 rimage: elf: fixed error handling from file operation
Fixes error handling

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2023-12-11 17:03:31 +02:00
Adrian Bonislawski e30fedc992 rimage: file_simple: remove dead code
remove logically dead code

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2023-12-11 17:03:31 +02:00
Adrian Bonislawski 17c226b683 rimage: ext_manifest: check fwrite status
Check fwrite status for error

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2023-12-11 17:03:31 +02:00
Adrian Bonislawski 0f72917521 rimage: ext_manifest: fix fwrite arguments
this will fix parameter order to: size, count

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2023-12-11 17:03:31 +02:00
Adrian Warecki 7a63f66961 rimage: Introduce ALIGN_UP macro
Created ALIGN_UP macro to simplify calculations.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-12-11 12:38:39 +02:00
Adrian Warecki e91f077a52 rimage: manifest: Use DIV_ROUND_UP macro
Used DIV_ROUND_UP macro to calculate page count.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-12-11 12:38:39 +02:00
Adrian Warecki d8113fabc9 rimage: Limit input module count to module array size
Added limit of a number of input modules provided in a command line to the
maximum number of supported modules (size of module array / MAX_MODULES)

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-12-11 12:38:39 +02:00
Yong Zhi a108c5e940 topology2: Remove pcm cap attributes
Remove the attributes that do not belong to Pipeline class.
There are no changes to compiled binary.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-12-11 12:13:21 +02:00
Yong Zhi cdd1c91608 topology2: google-rtc-aec: Add Byte control
Add binary controls for AEC tuning data with
max size set to 2048.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-12-08 15:29:31 +02:00
Yong Zhi 79f914e8ab sof-ctl: minor update for help text
The option -s is also needed for binary input file.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-12-07 13:29:40 +02:00
Peter Ujfalusi cff6a6b6f3 topology2: Enable ChainDMA for HDMI links unconditionally
Make the HDMI_USE_CHAIN_DMA set to true by default as enabling it for every
configuration just does not scale.

The generic HDA topologies enabled this for all IPC4 platforms already.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-12-05 11:11:39 +02:00
Peter Ujfalusi cf473b5aa7 topology2: Rename USE_CHAIN_DMA to HDMI_USE_CHAIN_DMA
In practice all HDA links (on LNL SDW/SSP/DMIC also) can use ChainDMA, but
the flag is used to enable this only for display links.

Rename the flag to be precise about this.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2023-12-05 11:11:39 +02:00
Ranjani Sridharan e65eb8500c tools: plugin: Fix hybrid pipeline support
Fix the pcm handle name and the params to fix playback/capture with
hybrid host-dsp pipeline.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-12-05 11:10:49 +02:00
Adrian Warecki e36b77c380 rimage: manifest: Improved handling of empty RODATA segment
If the RODATA segment does not contain any data, its type is marked as
empty. Cleared the readonly flag because this segment also contains .data
sections.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-12-04 10:42:34 +02:00
Adrian Warecki c9fb8d48d5 rimage: module: Fix calculation of segment size in file
If a given output segment type did not contain any input section
(was empty), its size was incorrectly calculated as 1 and then rounded to
the page size (4096). This resulted in an unnecessary segment in a output
file.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-12-04 10:42:34 +02:00
Mac Chiang 872d9fd199 topology2: sof-mtl-rt5650: enable dts playback
enable dts pipeline on rt5650 speaker(I2S0) and headphone(I2S1).

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
2023-12-04 10:41:40 +02:00
Marc Herbert 50c224a2c7 tools/plugin/README.md: add -GNinja. Remove stale -DPLUGIN_IPC4
Add instructions to build sof_ep and parser_ep first to avoid dependency
issue and race condition.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-12-01 13:09:19 -08:00
Curtis Malainey 285c090a10 topology: Add support for buffer flags
Flags have been a part of IPC3 for ages, add support for them in the topology.

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2023-11-30 10:16:59 +02:00
barry.jan 5cf1c9c0d6 topology: Add Waves codec to MT8188 topology
Modify sof-mt8188-mt6359 topology so Waves codec can be added
to playback in case 'WAVES' is defined.

Signed-off-by: barry.jan <barry.jan@waves.com>
2023-11-29 16:33:19 +00:00
Adrian Warecki 2b4e484427 rimage: module: Use file name in error message in module_write_whole_elf
By oversight, the error message did not use the file name passed as a
parameter to the module_write_whole_elf function.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-11-28 17:05:27 +02:00
Adrian Warecki 2b23146df6 rimage: elf_file: Fix elf_free behavior on unopened elf file
If more modules are provided in a command line than defined in a toml file,
the program outputs an error message. It frees the module structures
even though they have not been opened before. This resulted in an error
when trying to close a file that was not previously open. Added a check to
ensure that a file has been opened before trying to close it.
Error handling in the elf_open function has been simplified.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-11-28 17:05:27 +02:00
Ranjani Sridharan 48324bd3f4 tools: plugin: alsa: Remove calls to buffer_acquire/release
These dont exist anymore.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-11-22 09:41:50 +02:00
Seppo Ingalsuo 980b9884f7 Tools: Test: Audio: Remove unused argument from src_test.m
In function test_run_src() the second argument "t" is not used
so it can be safely removed.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-20 15:43:51 +00:00
Michal Bukowski ae31a28741 rimage: mtl: add cadence module entry
Added entry allows to enable cadence codec module.

Signed-off-by: Michal Bukowski <michal.bukowski@intel.com>
2023-11-20 15:27:53 +00:00
Yong Zhi 8b1a01f976 topology2: cavs-rt5682: Add Deep buffer PCM on amps
Add deep buffer PCM35 on amps for sof-mtl-max98357a-rt5682 tplg.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-11-17 13:12:32 +00:00
Yong Zhi 6a0e9b1eb4 topology2: deep-buffer: Add second instance
Add 2nd deepbuff PCM as an option.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-11-17 13:12:32 +00:00
Baofeng Tian a451d6b69a Topology2: fix obs size for src converter from 48k
From 48k input, the obs for 11025/22050/44100/88200/176400 setting
need take care, previous implementation left 5 words redundancy
for output, this change removed redundancy, since actual output
buffer size always use double obs size.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-11-17 12:47:40 +02:00
Baofeng Tian 85a15e5a06 Topology2: fix 22khz obs setting
22050Hz obs also need a separate setting, this was missed when first
create this file, now move it to the group with obs setting.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-11-17 12:47:40 +02:00
Seppo Ingalsuo 2ab6fe528d Tools: Topology2: Add sof-hda-benchmark-rtnr16/24/32-<platform>
This patch adds build of hda-generic development topologies to
test RTNR component with all s16/s24/s32 formats.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-16 15:59:10 +02:00
Seppo Ingalsuo 0e787e60c4 Tools: Topology2: Add widget class RTNR
This patch allows to build topologies to use the RTNR
component. Two bytes control blobs are converted from
topology1 to IPC4 format.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-16 15:59:10 +02:00
maruthi machani 8862f8863a topology1: amd: topology support for soundwire
topology support for soundwire

Signed-off-by: maruthi machani <maruthi.machani@amd.corp-partner.google.com>
2023-11-15 14:30:31 +02:00
Bard Liao f56559c059 topology2: add sof-mtl-cs42l43-l0-cs35l56-l12.tplg
Add cs42l43 + cs35l56 topology for MTL.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao 488c488b01 topology2: add sof-tgl-cs42l43-l3-cs35l56-l01 support
Add topology2 support for cs42l43 + cs35l56.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao ba65fb61ed topology2: sdw-jack-generic: add SDW_JACK_FMT_24 flag
To indicate the SoundWire jack need to use 24 bit format.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao a83db6b428 topology2: sdw-jack-generic: cleanup: use tab instead of space
Use tab instead of space.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao ba98117818 topology2: sdw-amp-generic: add SDW_AMP_FMT_24 flag
To indicate the SoundWire amp need to use 24 bit format.

I use a flag instead of a macro like $SDW_AMP_FMT to set valid_bit_depth
because bit_depth and valid_bit_depth may not be the same.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Bard Liao 2541e55f2f topology2: Use SAMPLE_TYPE_MSB_INTEGER for ALH copier
MSB_INTEGER is required for ALH copier.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2023-11-15 14:29:00 +02:00
Ranjani Sridharan 529277f3f2 topology2: mixout-gain-efx-mbdrc-dai-copier-playback: Use index in routes
The old notation is not very readable.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-11-13 16:17:41 +02:00
Ranjani Sridharan f23f1232a6 topology2: mixout-gain-efx-dai-copier-playback: Use index explicitly in routes
The old notation to leave out pipeline ID is not very readable.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-11-13 16:17:41 +02:00
Seppo Ingalsuo 9eae757947 Tools: Testbench: Fix ASRC component load
Before the fix the comp->core in ipc_comp_new() is garbage
and the check for maximum core count fails. The pointer to
struct asrc should be passed instead of address of pointer.

Fixes:	d9f9340e1a
	("tplg_parser: split out testbench logic and partition
	features per file.")

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-11-10 16:27:37 +00:00
Andrula Song 00e7bc0cc0 Audio: ASRC: convert ASRC to module API.
Convert ASRC to module API and support ASRC IPC3 test
with test bench.

Signed-off-by: Andrula Song <andrula.song@intel.com>
2023-11-10 17:44:58 +02:00
Rander Wang 547132bc5d topology2: merge multi-core test into nocodec topology
The multi-core topology was created since multi-core feature had a few
bugs at that time so it was for validation test. Now this feature works
fine so merge it into nocodec topology then it will be tested by
github CI. And we don't need to maintain a dedicated multi-core topology.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-11-10 12:33:43 +02:00
Adrian Warecki cb64c68bcd rimage: manifest: Ignore lack of .bss section for a loadable modules
Loadable libraries do not need to have a .bss section. After this change,
its absence will be ignored when generating a image of the loadable module.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2023-11-09 11:28:30 +02:00