On Thu, Mar 06, 2025 at 01:15:43PM +0000, Srinivas Kandagatla wrote: > > > On 05/03/2025 22:17, Caleb Connolly wrote: > > 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. > > Its not possible.. as SDM845 is Elite DSP architecture, all of these patches > changes are very specific to Audioreach DSP architecture. > > Could you please share the crash logs if you have any. It highly likely that > something else is triggering the hard-crash that you reported. I will try reproducing this on RB3 today in the evening. > > thanks, > Srini > > > > 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(-) > > > > > -- With best wishes Dmitry