Commit Graph

10811 Commits

Author SHA1 Message Date
Baofeng Tian 88fdb10e52 audio: src: rename sample rate converter coefficient folder name
rename it from src to coef to reflect the real content inside.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-09-13 12:06:57 +03:00
Baofeng Tian 611374e3ff audio: src: move src header file to source folder
previously, these headers are located in include directory.
Now, move it to src/audio/src/ directory, since these headers
are only used by src module.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-09-13 12:06:57 +03:00
Baofeng Tian 9fdbf1c398 audio: src: split src ipc3 and ipc4 specific file
create new files to cover ipc3 and ipc4 specific code.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-09-13 12:06:57 +03:00
Baofeng Tian ca3f44f2d7 audio: src: move out src component data out from src source
move component data out of source file to avoid ipc3 and ipc4
usage in src source file.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-09-13 12:06:57 +03:00
Guennadi Liakhovetski b6aad8d205 smart-amp: remove unused header
platform.h isn't needed in smart_amp_test.h, remove it from there.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-09-13 12:05:36 +03:00
Guennadi Liakhovetski 3f9e6be455 module-adapter: (cosmetic) remove a redundant check
rfree(NULL) is valid, remove a redundant NULL check.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-09-13 12:00:53 +03:00
Guennadi Liakhovetski 2c54a54887 module-adapter: make interface const
Module adapter interfaces are a collection of methods, implementing
the API, they never change. Make them const.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-09-13 12:00:53 +03:00
Marcin Szkudlinski bec031a7a3 dp: introduce dp_queue
DP queue is a lockless circular buffer
providing safe consumer/producer cached operations cross cores

prerequisites:
 1) incoming and outgoing data rate MUST be the same
 2) Both data consumer and data producer declare
    max chunk sizes they want to use (IBS/OBS)

required Buffer size:
	- 2*MAX(IBS,OBS) if the larger of IBS/OBS
          is multiplication of smaller
	- 3*MAX(IBS,OBS) otherwise

The queue may work in 2 modes
1) local mode
   in case both receiver and sender are located on
   the same core and cache coherency
   does not matter. dp_queue structure is located in cached memory
   In this case DP Queue is a simple ring buffer

2) shared mode
   In this case we need to writeback cache when new data
   arrive and invalidate cache on secondary core.
   dp_queue structure is located in shared memory

dpQueue is a lockless consumer/producer safe buffer.
It is achieved by having only 2 shared variables:

 write_offset - can be modified by data producer only
 read_offset - can be modified by data consumer only

 as 32 bit operations are atomic, it is multi-thread and multi-core save

There some explanation needed how free_space and
available_data are calculated

number of avail data in circular buffer may be calculated as:
	data_avail = write_offset - read_offset
  and check for wrap around
	if (data_avail < 0) data_avail = buffer_size + data_avail

The problem is when write_offset == read_offset,
!!! it may mean either that the buffer is empty
    or the buffer is completely filled !!!

To solve the above issue having only 2 variables mentioned before:
 - allow both offsets to point from 0 to DOUBLE buffer_size
 - when calculating pointers to data, use:
         data_bufer[offset % buffer_size]
 - use double buffer size in wrap around check when calculating
   available data

And now:
  - write_offset == read_offset
		always means "buffer empty"
  - write_offset == read_offset + buffer_size
		always means "buffer full"

  - data_avail = write_offset - read_offset
	if (data_avail < 0) data_avail = 2 * buffer_size + data_avail

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-12 15:11:44 +03:00
Marcin Szkudlinski 3253175a5c source API: mark data pointers as const
Data provided by source interface cannot be modified in any way
by the module using source API.
Mark pointers as const

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-12 15:11:44 +03:00
Seppo Ingalsuo f114acecb1 Audio: Kconfig: Deprecate tone component
Tone component has been without maintenance and validation,
and there is no interface to control sound generation from
user space so it will be deprecated and removed from successive
release.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-11 15:57:30 +01:00
Marcin Szkudlinski 6ce1890443 sparse: do some cosmetic changes
after removal of __Sparse some of lines may be
formatted differently.

This commit contains cosmetic changes only

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-11 13:58:09 +01:00
Marcin Szkudlinski 0725ce8541 sparse: remove __sparse annotations from various places
Prev commit removing __sparse was a pure editor action,
this commit is removing some other __sparse annotations and
mappings that must have been done manually

This commit contains "safe" changes only

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-11 13:58:09 +01:00
Marcin Szkudlinski fc9fe6c043 sparse: remove all sparse_cache from buffer related structs
struct audio_stream __sparse_cache => struct audio_stream
struct comp_buffer __sparse_cache => struct comp_buffer
struct sof_source __sparse_cache => struct sof_source
struct sof_sink __sparse_cache => struct sof_sinkurce

this commit is 100% generated by editor find/replace
+ one cosmetic change (intent correction to make checkpatch happy)

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-11 13:58:09 +01:00
Seppo Ingalsuo 84809f9606 Tools: Topology2: Add Multiband-DRC
This patch adds the topology2 files for multiband-DRC. The EFX
processing chain is gain - IIR - FIR - DRC or Multiband-DRC. The
DRC selection is done with macro EFX_DRC_COMPONENT and values
"singleband" and "multiband".

The multiband-drc has two ALSA controls, bytes and switch. The
switch control switches the processing on and off.

The generated topology files with multiband-drc are:

sof-hda-efx-mbdrc-generic.tplg
sof-hda-efx-mbdrc-generic-2ch.tplg
sof-hda-efx-mbdrc-generic-4cg.tplg

The topology files with DRC are as before:

sof-hda-efx-mbdrc-generic.tplg
sof-hda-efx-mbdrc-generic-2ch.tplg
sof-hda-efx-mbdrc-generic-4cg.tplg

The configuration blob default is updated to what is generated
by the current example_multiband_drc.m configuration script. The
pass-through blob is set as default for tplg2. The topology 1
blobs are updated similarly.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-11 13:24:55 +01:00
Marcin Szkudlinski 94ebaa3166 sparse: remove notifier cache/uncache conversions
as buffer pointer now is not swapping between cached
and uncached aliases, there's no need to convert pointers
in notifier events

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-11 11:10:14 +03:00
Marcin Szkudlinski aaebb2563b sparse: add a debug core check for shared structures
to verify that shared structures are used in a proper way
a debug check is introduced

If compiled with COHERENT_CHECK_NONSHARED_CORES flag
each usage of shared structures will be verified
against proper memory alias usage

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-11 11:10:14 +03:00
Marcin Szkudlinski 4a03699911 buf: remove coherent.h from struct comp_buffer
This commit removes coherent.h from struct comp_buffer

As sharing status of a buffer is known at creation time, it is
enough to create a buffer in shared (not cached mem alias)
when it will be used by several cores

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2023-09-11 11:10:14 +03:00
Ranjani Sridharan 9ccfbc4e39 sof-glk-nocodec: disable pipelines when disabling SSPs
When we added the flags to disable SSP0 and SSP1 on the UP2, we took the
shortcut of just removing the PCMs in topology but left the pipelines
and widgets in the topology in. While this works in practice to prevent
us from testing those SSPs, the right way is to also remove those
pipelines also when the SSPs are disabled.

This stops tplgtool2.py from complaining constantly about this
inconsistency since https://github.com/thesofproject/sof-test/pull/1079
which made the sof-test verify-tplg-binary.sh fail every time:

```
tplgtool2.py sof-glk-nocodec.tplg

ERROR: No pcm id=0 for widget=PCM0C
ERROR: No pcm id=1 for widget=PCM1C
ERROR: No pcm id=0 for widget=PCM0P
ERROR: No pcm id=1 for widget=PCM1P
ERROR: tplgtool2.py returned 4
```

This change affects only sof-apl-nocodec and sof-glk-nocodec.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-09-11 10:17:07 +03:00
Brent Lu bd6933b5ab topology1: sof-tgl-max98357a-rt5682: add sof-adl-rt5650 topology
Add a new topology sof-adl-rt5650 for ALC5650 which supports SSP0 for
headset and SSP1 for speakers since this codec implements two I2S
interfaces.

DAI format changed to mclk: 24.576MHz, bclk: 3.072MHz, sample bits:
24-bit to avoid using ASRC function on codec side.

Signed-off-by: Brent Lu <brent.lu@intel.com>
2023-09-08 14:38:57 +01:00
Ranjani Sridharan 2c6c1b4d4f audio: google_rtc: Remove set_large_config op for IPC4
The input and output audio formats are sent during module init already.
So no need to overwrite it with topology data that could be incorrect.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2023-09-07 15:49:02 +03:00
Gerard Marull-Paretas 014d2624ca zephyr: lib: regions_mm: add missing init.h
Because module uses SYS_INIT defined in init.h. Things likely worked
because of indirect includes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-09-06 14:09:36 +03:00
Gerard Marull-Paretas b66e79dc3d zephyr: lib: alloc: s/device.h/init.h
Module is using Zephyr SYS_INIT API, defined in init.h, not device.h.
Code relied on indirect includes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-09-06 14:09:36 +03:00
Rander Wang 65b2e0b390 copier: adjust valid format based on sample type
Adjust valid format in copier for some types of dai gateway which
need to use MSB type.

Currently sample type only affect the copier module so we don't do
it in audio_stream_fmt_conversion.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-06 12:14:42 +03:00
Rander Wang fc8a4b6730 topology2: change the sample type for Linux audio system
At first the sample type is set to MSB_INTEGER to follow windows
settings, but actually we use LSB_INTERGER type such as S24_4LE.
Now change the default sample type to LSB_INTERGER to align with
FW usage. For DAI copier we need to use MSB_INTERGER for hardware
requirement. Currently sample type only affect s24/c32 case, so only
change sample type in dai for this format config.

FW will use sample type to choose correct format conversion
function and can deal with Windows audio stream correctly with MSB
s24/c32 format.

out_fmt_cfg is redefined for a alsa-lib bug. Alsa-lib will first process
out_fmt_cfg = '$[($out_channels | ($out_valid_bit_depth * 256)) |
($out_sample_type * 65536)]' in base class and then deal with
out_sample_type, so error is reported. Now first define out_sample_type
and then out_fmt_cfg, everything works.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-06 12:14:42 +03:00
Rander Wang eec45d1a7a pcm:_converter: simplify the pcm conversion algorithm
Remove gateway type and direction for pcm conversion check and will move
them to copier module. This will make pcm conversion check more general
and simple. Also remove s16/c32 for gateway since it is never used.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-06 12:14:42 +03:00
Rander Wang ea10065a58 ipc4: add S24_4LE_MSB format support
For sample format with 24 bits valid sample bit and 32 bits container,
valid sample is at msb 24bits if IPC4_TYPE_MSB_INTEGER is set.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-06 12:14:42 +03:00
Rander Wang 67f9862956 audio: add fixup for S24_3LE
It is missed in kconfig.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-06 12:14:42 +03:00
Rander Wang bb5f0d9617 core: set timeout to 400ms for secondary core disabling
The CONFIG_SECONDARY_CORE_DISABLING_TIMEOUT is for FW to do secondary
core disabling check and set to 5000ms by default. Linux driver
set ipc timeout duration to 500ms, but FW wait 5000ms in
cpu_disable_core for SET_DX ipc message. This makes driver stop but fw
is still waiting. Actually the disabling can be successful in far less
than 5000ms and it was first designed for FPGA case. Now change it to
400ms to make debugging easier.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-06 11:25:20 +03:00
Seppo Ingalsuo c70bd3cae5 Audio: DC block: Convert to module API
This patch converts the component to module API. The configuration
blob handling is also changed to model handler.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-06 11:24:50 +03:00
Kai Vehmanen 6ec4b611ef versions.json: version to 2.7.99
With stable-v2.7 branch create, set the mainline version
to 2.7.99 to prepare for SOF v2.8 development.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-09-06 11:21:23 +03:00
Uday M Bhat e12a099b84 topology2: NUM_HDMIS is set to 3 for MTL devices and updated in platform file
NUM_HDMIS is set to 3 as default value for MTL platform. SPK_ID and BT_ID
are modified based on this change in the target cmake file.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Signed-off-by: Uday M Bhat <uday.m.bhat@intel.com>
2023-09-06 13:19:30 +08:00
Kai Vehmanen af745b2e48 west.yml: update Zephyr to 2f90ef488a4e
Contains 75+ commits, including following directly affecting
SOF targets:

f0fd9f171342 drivers: hda: insert an empty ";" statement before switch() labels

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-09-05 14:14:42 -07:00
Kai Vehmanen e32329a03f zephyr: ll-schedule: stop using zephyr/timeout_q.h
Replace the call to z_abort_timeout() to be able to drop
dependency to timeout_q.h. This header is intended to be Zephyr
kernel private and plan is to remove this.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-09-05 18:57:58 +03:00
Seppo Ingalsuo 2a7a94d238 Tools: Topology2: Add SRC component to cavs-nocodec.conf topologies
This patch adds 8 - 192 kHz playback and capture SRC to nocodec
topologies such sof-tgl-nocodec.tplg. It enables testing of SRC
component with IPC4 via the SSP loopback in the nocodec topologies

E.g. Play random noise at 44.1 kHz and capture it as 32 kHz. The
SSP loopback runs internally at 48 kHz.

aplay -Dhw:0,2 -f S32_LE -c 2 -r 44100 -d 10 -t raw /dev/random
arecord -Dhw:0,2 -f S16_LE -c 2 -r 32000 -d 10 /tmp/recording.wav

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-05 18:56:47 +03:00
Seppo Ingalsuo 961e4a645d Tools: Topology2: Use more specific src format .conf files
This patch replaces src_format.conf and src_passthrough_format.conf
with more specific formats definitions for host copiers,
pass-through components, playback src, and capture src.

The DSP internal pipelines are 32 bits, so src_s32_passthrough.conf
is used for components like gain those pass the 8 - 192 kHz
rates with s32 format.

The formats in src_format_sxx_to_s32_convert.conf is for use for
for playback host copier. Input formats are s16/24/32 and the only
output format is s32. Similarly the  src_format_s32_to_sxx_convert.conf
is for capture host copier.

The formats for playback SRC are in src_format_s32_convert_to_48k.conf,
and the formats for capture are in src_format_s32_convert_from_48k.conf.

The new formats definitions use the input_audio_format and
output_audio_format objects instead of audio_format. The unnecessary
word lengths are removed to minimize the formats count in every
component.

The pipelines host-copier-gain-src-mixin-playback.conf and
src-gain-mixin-playback.conf those used the previous format definitions
are updated with these changes.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-05 18:56:47 +03:00
Seppo Ingalsuo 56def4ea10 Tools: Topology2: No mandatory rate_out to support capture SRC
This patch removes rule to require fixed rate_out for SRC
widget. A capture SRC in host pipeline or near it has typically
variable output rate.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-05 18:56:47 +03:00
Rander Wang 6bd69e63a7 ipc4: msg: simplify ipc message check for notification
Use list_is_empty to check the message is queued or not. The notify
message is initialized to empty after deleting from the ipc msg list.
We use the same idea in ipc_msg_send.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-05 15:55:52 +01:00
Rander Wang 2cbae587bb ipc4: msg: avoid sending duplicated reply message
In multicore case, IPC message is dispatched from primary core to
secondary core which send reply message to host. Primary core will
do nothing if IPC_TASK_SECONDARY_CORE is set. But in rare case, the
secondary code finish the reply message and clear this flag before
the ipc thread in primary core check this flag, then primary core
also send reply message again. This results to the reply message being
inserted two times in ipc message list and infinite loop when visiting
the list.

This patch will check msg_reply state and do nothing if it is prepared
. We don't need to init reply message since it is initialized after
deleting from the ipc list.

Signed-off-by: Rander Wang <rander.wang@intel.com>
2023-09-05 15:55:52 +01:00
Seppo Ingalsuo d964b7bf51 Math: Use HiFi3 IIR_DF2T version for HiFi4
The HiFi3 code is faster and compatible so it should be used
instead of generic version for HiFi4.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-01 21:18:49 +01:00
Seppo Ingalsuo fd535f0a9b Math: Cleanup FIR and IIR build type select
The normally undefined SOF_FIR_FORCEARCH or SOF_IIR_DF2T_FORCEARCH
can be defined at command line to force the build of other code
optimized version for any compiler. The usage is only for
debugging, e.g. build generic FIR version with xcc.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-09-01 21:18:49 +01:00
Kai Vehmanen 38faea7ec3 west.yml: update Zephyr to 5689916a70ad
Contains 450+ commits, including following directly affecting
SOF targets:

5689916a70ad soc: xtensa: intel_adsp: cavs: fix assert on L3_MEM_BASE_ADDR
34ea488da91c intel_adsp: ace20_lnl: add ALH DAI support
b7e181c2708b soc: intel_adsp: add HDA buffer interrupt functions
d68a58d6cd26 dts: xtensa: intel: add HDA DMA interrupt defs for ACE2.0
62c7729b3e1a dts: xtensa: intel: add HDA DMA interrupt defs for cAVS platforms
c6c6c5a5ed64 soc: intel_adsp: ace shim: add force L1 defines
0fead68e2b8e Revert "llvm: use proper syntax for --config option"
cd97eae73b4b soc: xtensa: intel_adsp: common: s/device.h/init.h
6cdabb4dff5e soc: xtensa: intel_adsp: common: add missing section_tags.h
c360284c6e14 soc: xtensa: intel_adsp: add missing init.h
ffd2121c65d3 soc: xtensa: intel_adsp: cavs: fix power_down_cavs() signature
a1d7ffdc374d soc: xtensa: intel_adsp: cavs: fix incorrect cached/uncached cast
ce7c30c12978 soc: intel_adsp/ace: use WAIT_FOR for core power transitions
3f0ee7f6db7a power_domain: intel_adsp: initialize after DMA
ca23a5f0cf75 xtensa: mmu: allow SoC to do additional MMU init steps
088a31e2bffa xtensa: mmu: preload ITLB for VECBASE before restoring...
40f2486b685c xtensa: mmu: rename MMU_KERNEL_RING to Z_XTENSA_KERNEL_RING...
18eb17f4cd69 xtensa: mmu: add arch_reserved_pages_update
4778c13bbeab xtensa: mmu: handle all data TLB misses in double exception
c723d8b8d3ac xtensa: Add missing synchronization
24148718fc6e xtensa: mmu: cache common data and heap if !XTENSA_RPO_CACHE
b6ccbae58dc4 xtensa: mmu: use _image_ram_start/end for data region
257404a14327 xtensa: mmu: init: only clear enough entries in way 6
614e64325d48 xtensa: mmu: no longer identity map the first 512MB
b5016714b082 xtensa: mmu: handle TLB misses during user exception
98ffd1addd6a xtensa: crt1: call z_xtensa_mmu_init
38d4b7872401 xtensa: mmu: remove printing vaddr registers during exception
3d63e2060edf dts: cpu: add cdns,tensilica-xtensa-lx3

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-09-01 12:05:50 +03:00
Kai Vehmanen 7c013b27e5 CODEOWNERS: add kv2019i to the list of default owners
Add myself to the list of default owners that get added to
all pull requests if no other entries match.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2023-09-01 09:23:17 +01:00
Seppo Ingalsuo 176aec773c Tools: Tune: DRC: Export ascii and binary IPC4 blobs for sof-ctl
The passthrough and enabled blobs are exported to tools/ctl/ipc4/drc.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2023-08-31 21:04:17 +01:00
Baofeng Tian 7d41360f22 audio: perf: add core information into performance log
print out core ID in each core performance log tracing.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-08-31 20:48:05 +01:00
Baofeng Tian 0573f9ad51 audio: volume: move peak volume header to volume folder
move peak volume header from ipc4 include path to volume folder.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-08-31 20:29:48 +01:00
Baofeng Tian 651791045a audio: volume: move volume header to volume folder
move them from include path to volume folder.

Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
2023-08-31 20:29:48 +01:00
Fabio Baltieri f78d759f89 zephyr: edf-schedule: fix CONTAINER_OF type
The z_delayed_work field in struct task is a delayed work, so to go from
k_work to it safely there's an extra step. Add a
k_work_delayable_from_work to fix that.

This is harmless right now because k_work is the first field in
k_work_delayable but the extra step is the safe way of doing it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-08-31 22:14:37 +03:00
ShriramShastry 31453ceca3 Math: Library: Add the HiFi3, HiFi4, HiFi5 exponential function
This check in change eliminates the extra include isa.h header file
from the exp_fcn_hifi.c file, as it does in the exp_fcn.h file.

Signed-off-by: ShriramShastry <malladi.sastry@intel.com>
2023-08-31 15:22:43 +01:00
ShriramShastry 7a7198dfd3 Math: Library: Add the hifi4 exponential function
This patch adds a single h-file include and other cosmetic
blanks/tabs changes.

Signed-off-by: ShriramShastry <malladi.sastry@intel.com>
2023-08-31 15:22:43 +01:00
Yong Zhi 107043f978 topology2: cavs-rt5682: use macros for all PCM IDs
Make it less error-prone for maintenance.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
2023-08-31 15:22:05 +01:00