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? */
/* 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

View 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

View 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 */