Cache align the pitch detector audiobuffer where needed. Some other misc. changes...
authorjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Fri, 14 May 2010 08:44:07 +0000 (14 08:44 +0000)
committerjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Fri, 14 May 2010 08:44:07 +0000 (14 08:44 +0000)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26011 a1c6a512-1295-4272-9138-f99709370657

apps/plugins/pitch_detector.c
firmware/export/imx31l.h
firmware/export/system.h

index 5675cdc..01dfef2 100644 (file)
@@ -251,7 +251,7 @@ static int audio_head = 0; /* which of the two buffers to use? */
 static volatile int audio_tail = 0; /* which of the two buffers to record? */
 /* It's stereo, so make the buffer twice as big */
 #ifndef SIMULATOR
-static int16_t audio_data[2][BUFFER_SIZE];
+static int16_t audio_data[2][BUFFER_SIZE] __attribute__((aligned(CACHEALIGN_SIZE)));
 static fixed yin_buffer[YIN_BUFFER_SIZE];
 #endif
 
index ea92d05..3f3a014 100644 (file)
@@ -37,6 +37,7 @@
 #define FRAME_PHYS_ADDR (TTB_BASE_ADDR - FRAME_SIZE)
 #define FRAME         ((void *)(FRAME_PHYS_ADDR+0x100000-CSD0_BASE_ADDR))
 
+#define CACHEALIGN_BITS     5
 #define CACHEALIGN_SIZE     32
 #define NOCACHE_BASE        CSD0_BASE_ADDR
 
index 3984ebe..bd31c03 100644 (file)
@@ -295,10 +295,14 @@ static inline void cpucache_flush(void)
 }
 #endif
 
+#ifndef CACHEALIGN_SIZE /* could be elsewhere for a particular reason */
 #ifdef CACHEALIGN_BITS
 /* 2^CACHEALIGN_BITS = the byte size */
 #define CACHEALIGN_SIZE (1u << CACHEALIGN_BITS)
+#else
+#define CACHEALIGN_SIZE sizeof(int)
 #endif
+#endif /* CACHEALIGN_SIZE */
 
 #ifdef PROC_NEEDS_CACHEALIGN
 /* Cache alignment attributes and sizes are enabled */