]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tue, 16 Nov 2021 11:47:18 +0000 (11:47 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 16 Nov 2021 14:29:44 +0000 (14:29 +0000)
commit2f5132ee64616010903ab5c54c348520404b1e11
treef2d5e97aa8c25fa017d9f92436ae9f17de5117e8
parentf021db39926bf9d57a01a9f8019ff4bc9328d842
ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer

Stream IDs are reused across multiple BackEnd mixers, do not reset the
stream mixers if they are not already set for that particular FrontEnd.

Ex:
amixer cset iface=MIXER,name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1

would set the MultiMedia1 steam for SLIMBUS_0_RX, however doing below
command will reset previously setup MultiMedia1 stream, because both of them
are using MultiMedia1 PCM stream.

amixer cset iface=MIXER,name='SLIMBUS_2_RX Audio Mixer MultiMedia1' 0

reset the FrontEnd Mixers conditionally to fix this issue.

This is more noticeable in desktop setup, where in alsactl tries to restore
the alsa state and overwriting the previous mixer settings.

Fixes: 1ee6dadae7f1 ("ASoC: qdsp6: q6routing: Add q6routing driver")
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20211116114721.12517-3-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/qdsp6/q6routing.c