diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-09-04 15:55:11 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-09-04 15:57:00 -0400 |
commit | 90a4f28c2799e3ae5e873f1f34b1e4adb59f77cb (patch) | |
tree | 119dc1bffbfb56aa3d0d4af8a2adba74db7951d3 /firmware/export/pcm_mixer.h | |
parent | 5f5e44f593f3c33beb813e8ae2948bc96d49681d (diff) | |
download | rockbox-90a4f28c2799e3ae5e873f1f34b1e4adb59f77cb.tar.gz 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/pcm_mixer.h')
-rw-r--r-- | firmware/export/pcm_mixer.h | 4 |
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 @@ | |||
30 | #if CONFIG_CPU == PP5002 | 30 | #if CONFIG_CPU == PP5002 |
31 | /* There's far less time to do mixing because HW FIFOs are short */ | 31 | /* There's far less time to do mixing because HW FIFOs are short */ |
32 | #define MIX_FRAME_SAMPLES 64 | 32 | #define MIX_FRAME_SAMPLES 64 |
33 | #elif (CONFIG_CPU == JZ4760B) || (CONFIG_CPU == JZ4732) | ||
34 | /* These MIPS32r1 targets have a very high interrupt latency, which | ||
35 | unfortunately causes a lot of audio underruns under even moderate load */ | ||
36 | #define MIX_FRAME_SAMPLES 2048 | ||
33 | #elif (CONFIG_PLATFORM & PLATFORM_MAEMO5) || defined(DX50) || defined(DX90) | 37 | #elif (CONFIG_PLATFORM & PLATFORM_MAEMO5) || defined(DX50) || defined(DX90) |
34 | /* Maemo 5 needs 2048 samples for decent performance. | 38 | /* Maemo 5 needs 2048 samples for decent performance. |
35 | Otherwise the locking overhead inside gstreamer costs too much */ | 39 | Otherwise the locking overhead inside gstreamer costs too much */ |