[PATCH 0/8] ASoC: qcom: q6dsp and lpass codec stablity fixes

From: Srinivas Kandagatla
Date: Thu Feb 09 2023 - 07:29:13 EST


While testing X13s audio, we found multiple stablity issues this patchset
fixes these issues.
>From q6dsp side issues are around locking of position pointer and handle
multiple prepare cases along with pulse audio timerbased scheduling workaround.

>From LPASS codec side most of the staiblity issues were around runtime pm,
hitting various issues as the codec was firstly resetting the soundwire block
for every clk disable/enable which is taking the slaves out of sync and
resulting in re-enumerating. Second issue was around fsgen clk is not
brining up the codec out of suspend as it was not added after
runtime pm enabled. Final issue was with codec mclk rate which should
have been 192KHz same as npl instead of 96KHz. We were getting lucky as
wsa drivers are setting the same clk to 192KHz.

With this patches, x13s audio is pretty stable.

thanks,
Srini


Srinivas Kandagatla (8):
ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared
ASoC: qcom: q6apm-dai: fix race condition while updating the position
pointer
ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag
ASoC: qcom: audioreach: fix ADSP ready check
ASoC: codecs: lpass: register mclk after runtime pm
ASoC: codecs: lpass: fix incorrect mclk rate
ASoC: codecs: lpass: do not reset soundwire block on clk enable
ASoC: codecs: lpass: remove not so useful verbose log

sound/soc/codecs/lpass-rx-macro.c | 31 ++++++++++--------
sound/soc/codecs/lpass-tx-macro.c | 25 ++++++++------
sound/soc/codecs/lpass-va-macro.c | 43 +++++++++++++------------
sound/soc/codecs/lpass-wsa-macro.c | 27 ++++++++--------
sound/soc/qcom/qdsp6/q6apm-dai.c | 22 +++++++++++--
sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 5 +++
sound/soc/qcom/qdsp6/q6apm.c | 17 +++++-----
7 files changed, 101 insertions(+), 69 deletions(-)

--
2.21.0