mbox series

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

Message ID 20230209122806.18923-1-srinivas.kandagatla@linaro.org (mailing list archive)
Headers show
Series ASoC: qcom: q6dsp and lpass codec stablity fixes | expand

Message

Srinivas Kandagatla Feb. 9, 2023, 12:27 p.m. UTC
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(-)

Comments

Mark Brown Feb. 9, 2023, 6:36 p.m. UTC | #1
On Thu, 09 Feb 2023 12:27:58 +0000, Srinivas Kandagatla wrote:
> 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.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/8] ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared
      commit: c2ac3aec474da0455df79c4a182f19687bc98d1d
[2/8] ASoC: qcom: q6apm-dai: fix race condition while updating the position pointer
      commit: 84222ef54bfd8f043c23c8603fd5257a64b00780
[3/8] ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag
      commit: aa759f3f9f4394a3af65ad1772fca6cb9dd9e4cc
[4/8] ASoC: qcom: audioreach: fix ADSP ready check
      commit: dd33c2e7b21d72b151a87b5dafffee2c019043e5
[5/8] ASoC: codecs: lpass: register mclk after runtime pm
      commit: 1dc3459009c33e335f0d62b84dd39a6bbd7fd5d2
[6/8] ASoC: codecs: lpass: fix incorrect mclk rate
      commit: e7621434378c40b62ef858c14ae6415fb6469a8e
[7/8] ASoC: codecs: lpass: do not reset soundwire block on clk enable
      commit: ddffe3b82849ba2774d7a06fbe1cc7e83378c4d2
[8/8] ASoC: codecs: lpass: remove not so useful verbose log
      commit: 777af241a7ce6ed95f8d3fcb028c08f9b40addb6

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark