Re: [PATCH v3 0/6] ASoC: q6apm: fix under runs and fragment sizes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Srini,

On 3/4/25 10:57, srinivas.kandagatla@xxxxxxxxxx wrote:
From: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>

On Qualcomm Audioreach setup, some of the audio artifacts are seen in
both recording and playback. These patches fix issues by
1. Adjusting the fragment size that dsp can service.
2. schedule available playback buffers in time for dsp to not hit under runs
3. remove some of the manual calculations done to get hardware pointer.

With these patches, am able to see Audio quality improvements.

Any testing would be appreciated.

This totally breaks audio on SDM845, and often results in a hard-crash to crashdump mode on my OnePlus 6.

Unfortunately I can't get UART logs right now. But I imagine this is reproducible on RB3.

Kind regards,

thanks,
Srini

Changes since v2:
	- dropped patch which is causing regression with pluseaudio.
	- setup period sizes only for capture path
	- fix underruns/overruns in dsp pipelines.
	- add fixes tag
	- add patch to fix buffer alignment

Changes since v1:
	- added new patches to fix the fragment size, pointer
	  calculations
	- updated to schedule only available buffers.

Srinivas Kandagatla (6):
   ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs
   ASoC: q6apm: add q6apm_get_hw_pointer helper
   ASoC: q6apm-dai: make use of q6apm_get_hw_pointer
   ASoC: qdsp6: q6apm-dai: set correct period and buffer alignment.
   ASoC: qdsp6: q6apm-dai: fix capture pipeline overruns.
   ASoC: qdsp6: q6apm-dai: fix playback dsp pipeline underruns

  sound/soc/qcom/qdsp6/q6apm-dai.c | 63 +++++++++++++++++---------------
  sound/soc/qcom/qdsp6/q6apm.c     | 18 ++++++++-
  sound/soc/qcom/qdsp6/q6apm.h     |  3 ++
  3 files changed, 53 insertions(+), 31 deletions(-)


--
Caleb (they/them)





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux