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:
parent
8cce39bb9f
commit
d665c92652
3 changed files with 6 additions and 1 deletions
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue