summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-06-29 09:39:13 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-06-29 09:39:13 +0000
commit5ff641fb8153e0a935317cca4330ca5ea4826c5a (patch)
tree29c66631e6bfa3b4b837c623556a57ef0227159d /firmware
parent40ff07140de0afa86ff3e0c29ee24e0e012f0c42 (diff)
downloadrockbox-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.h8
-rw-r--r--firmware/pcm_mixer.c2
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() */
221static void ICODE_ATTR mixer_buffer_callback(void) 221static void MIXER_CALLBACK_ICODE mixer_buffer_callback(void)
222{ 222{
223 downmix_index ^= 1; /* Next buffer */ 223 downmix_index ^= 1; /* Next buffer */
224 224