diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2011-06-29 09:39:13 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2011-06-29 09:39:13 +0000 |
commit | 5ff641fb8153e0a935317cca4330ca5ea4826c5a (patch) | |
tree | 29c66631e6bfa3b4b837c623556a57ef0227159d /firmware | |
parent | 40ff07140de0afa86ff3e0c29ee24e0e012f0c42 (diff) | |
download | rockbox-5ff641fb8153e0a935317cca4330ca5ea4826c5a.tar.gz rockbox-5ff641fb8153e0a935317cca4330ca5ea4826c5a.zip |
Do some adjustments to alleviate IRAM congestion on some targets from r30097. Include removing pointless IRAM declarations in pcmbuf.c because that callback code runs at a fairly relaxed pace. M5 is still the biggest problem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30100 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/export/pcm_mixer.h | 8 | ||||
-rw-r--r-- | firmware/pcm_mixer.c | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/firmware/export/pcm_mixer.h b/firmware/export/pcm_mixer.h index 3b420e1320..f430ce0efe 100644 --- a/firmware/export/pcm_mixer.h +++ b/firmware/export/pcm_mixer.h | |||
@@ -37,12 +37,18 @@ | |||
37 | #if defined(CPU_COLDFIRE) || defined(CPU_PP) | 37 | #if defined(CPU_COLDFIRE) || defined(CPU_PP) |
38 | /* For Coldfire, it's just faster | 38 | /* For Coldfire, it's just faster |
39 | For PortalPlayer, this also avoids more expensive cache coherency */ | 39 | For PortalPlayer, this also avoids more expensive cache coherency */ |
40 | #define DOWNMIX_BUF_IBSS IBSS_ATTR | 40 | #define DOWNMIX_BUF_IBSS IBSS_ATTR |
41 | #else | 41 | #else |
42 | /* Otherwise can't DMA from IRAM, IRAM is pointless or worse */ | 42 | /* Otherwise can't DMA from IRAM, IRAM is pointless or worse */ |
43 | #define DOWNMIX_BUF_IBSS | 43 | #define DOWNMIX_BUF_IBSS |
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | #if defined(CPU_COLDFIRE) || defined(CPU_PP) | ||
47 | #define MIXER_CALLBACK_ICODE ICODE_ATTR | ||
48 | #else | ||
49 | #define MIXER_CALLBACK_ICODE | ||
50 | #endif | ||
51 | |||
46 | 52 | ||
47 | /** Definitions **/ | 53 | /** Definitions **/ |
48 | 54 | ||
diff --git a/firmware/pcm_mixer.c b/firmware/pcm_mixer.c index e5625fbd32..69a43cfbda 100644 --- a/firmware/pcm_mixer.c +++ b/firmware/pcm_mixer.c | |||
@@ -218,7 +218,7 @@ static void mixer_pcm_callback(unsigned char **start, size_t *size) | |||
218 | 218 | ||
219 | /* Buffering callback - calls sub-callbacks and mixes the data for next | 219 | /* Buffering callback - calls sub-callbacks and mixes the data for next |
220 | buffer to be sent from mixer_pcm_callback() */ | 220 | buffer to be sent from mixer_pcm_callback() */ |
221 | static void ICODE_ATTR mixer_buffer_callback(void) | 221 | static void MIXER_CALLBACK_ICODE mixer_buffer_callback(void) |
222 | { | 222 | { |
223 | downmix_index ^= 1; /* Next buffer */ | 223 | downmix_index ^= 1; /* Next buffer */ |
224 | 224 | ||