To reduce the risk of speaker damage the PA gain needs to be limited on machines like the Lenovo Thinkpad X13s until we have active speaker protection in place.
Limit the gain to the current default setting provided by the UCM configuration which most user have so far been been using (due to a bug in the configuration files which prevented hardware volume control [1]).
Included is also a related fix for the LPASS WSA macro driver, which was changing the digital gain setting behind the back of user space and which can result in excessive (or too low) digital gain.
There are further Qualcomm codec driver that appear to manipulate various gain settings, but on closer inspection this turned out to be effectively dead code which can be removed.
Johan
[1] https://github.com/alsa-project/alsa-ucm-conf/pull/382
Johan Hovold (7): ASoC: qcom: sc8280xp: limit speaker volumes ASoC: codecs: lpass-wsa-macro: fix compander volume hack ASoC: codecs: lpass-wsa-macro: drop dead mixer-path gain hack ASoC: codecs: lpass-rx-macro: drop dead mixer-path gain hack ASoC: codecs: wcd9335: drop dead gain hacks ASoC: codecs: wcd934x: drop dead gain hacks ASoC: codecs: msm8916-wcd-digital: drop dead gain hacks
sound/soc/codecs/lpass-rx-macro.c | 16 +--- sound/soc/codecs/lpass-wsa-macro.c | 19 +--- sound/soc/codecs/msm8916-wcd-digital.c | 26 +----- sound/soc/codecs/wcd9335.c | 115 ++++--------------------- sound/soc/codecs/wcd934x.c | 102 +++++----------------- sound/soc/qcom/sc8280xp.c | 8 +- 6 files changed, 53 insertions(+), 233 deletions(-)