summaryrefslogtreecommitdiffstats
path: root/firmware/export
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-09-04 15:55:11 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-09-04 15:57:00 -0400
commit90a4f28c2799e3ae5e873f1f34b1e4adb59f77cb (patch)
tree119dc1bffbfb56aa3d0d4af8a2adba74db7951d3 /firmware/export
parent5f5e44f593f3c33beb813e8ae2948bc96d49681d (diff)
downloadrockbox-90a4f28c2799e3ae5e873f1f34b1e4adb59f77cb.tar.gz
rockbox-90a4f28c2799e3ae5e873f1f34b1e4adb59f77cb.tar.bz2
rockbox-90a4f28c2799e3ae5e873f1f34b1e4adb59f77cb.zip
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
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/pcm_mixer.h4
1 files changed, 4 insertions, 0 deletions
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 */