]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Dec 2021 08:27:42 +0000 (09:27 +0100)
commit33bb18e65268c8860c4bbceb78c5325f28abec1d
tree9290e26b67d65acad1a6b31784acf4bc84ce33a6
parente6295d39e9d0eb520128a140f8fcc4968559133f
ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer

[ Upstream commit 861afeac7990587588d057b2c0b3222331c3da29 ]

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: e3a33673e845 ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/qcom/qdsp6/q6routing.c