Message ID | 20250314174800.10142-1-srinivas.kandagatla@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | ASoC: q6apm: fix under runs and fragment sizes | expand |
On Fri, 14 Mar 2025 17:47:55 +0000, srinivas.kandagatla@linaro.org wrote: > 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 significant Audio quality improvements. > I have few more patches to optimize the dsp drivers, but for now am > keeping this series simple to address the underruns and overruns issues > noticed in pipewire setup. > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/5] ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs commit: 3d4a4411aa8bbc3653ff22a1ff0432eb93d22ae0 [2/5] ASoC: q6apm: add q6apm_get_hw_pointer helper commit: 0badb5432fd525a00db5630c459b635e9d47f445 [3/5] ASoC: q6apm-dai: make use of q6apm_get_hw_pointer commit: a93dad6f4e6a04a5943f6ee5686585f24abf7063 [4/5] ASoC: qdsp6: q6apm-dai: set 10 ms period and buffer alignment. commit: 3107019501842c27334554ba9d6583b1f200f61f [5/5] ASoC: qdsp6: q6apm-dai: fix capture pipeline overruns. commit: 5d01ed9b9939b4c726be74db291a982bc984c584 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
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 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 significant Audio quality improvements. I have few more patches to optimize the dsp drivers, but for now am keeping this series simple to address the underruns and overruns issues noticed in pipewire setup. Any testing would be appreciated. Please note that on pipewire min-latency has to be set to 512 which reflects the DSP latency requirements of 10ms. You might see audio artifacts like glitches if you try to play audio below 256 latency. thanks, Srini Change since v4: - added tested-by tags, including cc: stable - removed a line delete. Changes since v3: - updated period size aligment patch with 10ms period size contstriants. 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 (5): 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 10 ms period and buffer alignment. ASoC: qdsp6: q6apm-dai: fix capture pipeline overruns. sound/soc/qcom/qdsp6/q6apm-dai.c | 60 +++++++++++++++++--------------- sound/soc/qcom/qdsp6/q6apm.c | 18 +++++++++- sound/soc/qcom/qdsp6/q6apm.h | 3 ++ 3 files changed, 52 insertions(+), 29 deletions(-)