]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: Intel: avs: Conditional-path support
authorCezary Rojewski <cezary.rojewski@intel.com>
Tue, 29 Jul 2025 13:06:33 +0000 (15:06 +0200)
committerMark Brown <broonie@kernel.org>
Sun, 10 Aug 2025 20:08:45 +0000 (21:08 +0100)
commit595b7f155b926460a00776cc581e4dcd01220006
tree1296e289be5ffdfa6151ffef55f5aa88b84e0e19
parent8bcfcb3bd3e38b8f3bb7e5eb3acb4120500994a0
ASoC: Intel: avs: Conditional-path support

Compared to standard paths, conditional paths are not invoked by the
means of FE being opened by userspace and thus their variant selection
is not FE/BE audio format based. These are a side effect of standard path
creation if specific criteria are met.

Algorithm is implemented to walk on all existing runtime paths and match
them against conditions provided by topology. These conditions are based
on source and sink path formats, rather than formats provided from
userspace app or present on the codec. If match is found, new path is
created and tied to those which brought it into existence: source and
sink path. If any of its parents perishes, so does the conditional path.

Conditional paths are used to enable any complex, modern audio scenario
which involves usage of KPB, AEC and WoV modules and more.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250729130633.310388-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/path.c
sound/soc/intel/avs/path.h