From 90a4f28c2799e3ae5e873f1f34b1e4adb59f77cb Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Fri, 4 Sep 2020 15:55:11 -0400 Subject: jz47xx: Audio path tweaks: * Increase audio buffer size to better handle IRQ latency (256->2048) * Ensure DMA engine is idle prior to starting transfers * Set AIC to repeat last sample in case of underflows Change-Id: I9c45c20481ee072e5882b7586fb7d50bd8ef2f35 --- firmware/export/pcm_mixer.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'firmware/export/pcm_mixer.h') diff --git a/firmware/export/pcm_mixer.h b/firmware/export/pcm_mixer.h index b418a5d347..3d255a7345 100644 --- a/firmware/export/pcm_mixer.h +++ b/firmware/export/pcm_mixer.h @@ -30,6 +30,10 @@ #if CONFIG_CPU == PP5002 /* There's far less time to do mixing because HW FIFOs are short */ #define MIX_FRAME_SAMPLES 64 +#elif (CONFIG_CPU == JZ4760B) || (CONFIG_CPU == JZ4732) +/* These MIPS32r1 targets have a very high interrupt latency, which + unfortunately causes a lot of audio underruns under even moderate load */ +#define MIX_FRAME_SAMPLES 2048 #elif (CONFIG_PLATFORM & PLATFORM_MAEMO5) || defined(DX50) || defined(DX90) /* Maemo 5 needs 2048 samples for decent performance. Otherwise the locking overhead inside gstreamer costs too much */ -- cgit v1.2.3