1
0
Fork 0
forked from len0rd/rockbox

Cache align the pitch detector audiobuffer where needed. Some other misc. changes to try to make sure everything builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26011 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Sevakis 2010-05-14 08:44:07 +00:00
parent 8cce39bb9f
commit d665c92652
3 changed files with 6 additions and 1 deletions

View 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? */ static volatile int audio_tail = 0; /* which of the two buffers to record? */
/* It's stereo, so make the buffer twice as big */ /* It's stereo, so make the buffer twice as big */
#ifndef SIMULATOR #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]; static fixed yin_buffer[YIN_BUFFER_SIZE];
#endif #endif

View file

@ -37,6 +37,7 @@
#define FRAME_PHYS_ADDR (TTB_BASE_ADDR - FRAME_SIZE) #define FRAME_PHYS_ADDR (TTB_BASE_ADDR - FRAME_SIZE)
#define FRAME ((void *)(FRAME_PHYS_ADDR+0x100000-CSD0_BASE_ADDR)) #define FRAME ((void *)(FRAME_PHYS_ADDR+0x100000-CSD0_BASE_ADDR))
#define CACHEALIGN_BITS 5
#define CACHEALIGN_SIZE 32 #define CACHEALIGN_SIZE 32
#define NOCACHE_BASE CSD0_BASE_ADDR #define NOCACHE_BASE CSD0_BASE_ADDR

View file

@ -295,10 +295,14 @@ static inline void cpucache_flush(void)
} }
#endif #endif
#ifndef CACHEALIGN_SIZE /* could be elsewhere for a particular reason */
#ifdef CACHEALIGN_BITS #ifdef CACHEALIGN_BITS
/* 2^CACHEALIGN_BITS = the byte size */ /* 2^CACHEALIGN_BITS = the byte size */
#define CACHEALIGN_SIZE (1u << CACHEALIGN_BITS) #define CACHEALIGN_SIZE (1u << CACHEALIGN_BITS)
#else
#define CACHEALIGN_SIZE sizeof(int)
#endif #endif
#endif /* CACHEALIGN_SIZE */
#ifdef PROC_NEEDS_CACHEALIGN #ifdef PROC_NEEDS_CACHEALIGN
/* Cache alignment attributes and sizes are enabled */ /* Cache alignment attributes and sizes are enabled */