Commit ffe0da8
committed
topology2: sdw-dmic-generic: fix channel map/cfg regression
The IncludeByKey.SDW_DMIC_PCM_CHANNELS + nested Define pattern introduced
to set SDW_DMIC_CHANNEL_CFG/SDW_DMIC_CHANNEL_MAP is broken: outer constants
($CHANNEL_CONFIG_STEREO, $CHANNEL_MAP_STEREO, etc.) evaluate to 0 inside a
Define block nested within IncludeByKey, overwriting the correct defaults from
input_audio_format.conf with zeroes.
Fix by removing the broken intermediate variable initialization entirely and
replacing all uses of $SDW_DMIC_CHANNEL_CFG/$SDW_DMIC_CHANNEL_MAP in format
blocks with direct IncludeByKey.SDW_DMIC_PCM_CHANNELS blocks using the correct
constants. The 2-channel (stereo) case is handled by the existing defaults in
input_audio_format.conf / output_audio_format.conf, so no explicit entry is
needed for it.
This restores token1904 (in_ch_map) to 0xffffff10 and token1905 (in_ch_cfg)
to 1 for the alh-copier.Capture-SmartMic.0 widget in ARL/MTL SDW DMIC
topologies.
Fixes: 87dc581 ("topology2: sdw-dmic-generic: add multiple DMIC number support")
Link: thesofproject/linux#5960
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>1 parent d6cfeaf commit ffe0da8
1 file changed
Lines changed: 420 additions & 88 deletions
0 commit comments