diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2011-12-12 20:12:22 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2011-12-12 20:12:22 +0000 |
commit | 184459fa54f1d3f1a6c13c6e729fa116689f225c (patch) | |
tree | 968dcda6fc2ad82e945f2ee7f750eb6873c0cc63 /firmware/target/arm/as3525/system-as3525.c | |
parent | 5c1e9365928592a3b54b07e008ccfb5a0656932e (diff) | |
download | rockbox-184459fa54f1d3f1a6c13c6e729fa116689f225c.tar.gz rockbox-184459fa54f1d3f1a6c13c6e729fa116689f225c.zip |
Deal with a complication when transferring recording method from PP5024: since the FIFO POP is always read until empty, keep track of sample parity instead of always saving the first one in the FIFO upon entering the ISR or else the first of a duplicate that is also the last in the FIFO would get duplicated. Also, give top priority to audio interrupts in all cases.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31218 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525/system-as3525.c')
-rw-r--r-- | firmware/target/arm/as3525/system-as3525.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index dcea7a2a2e..7e2e480eda 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c | |||
@@ -107,15 +107,15 @@ static void UIRQ(void) | |||
107 | static const struct { int source; void (*isr) (void); } vec_int_srcs[] = | 107 | static const struct { int source; void (*isr) (void); } vec_int_srcs[] = |
108 | { | 108 | { |
109 | /* Highest priority at the top of the list */ | 109 | /* Highest priority at the top of the list */ |
110 | { INT_SRC_DMAC, INT_DMAC }, | 110 | #ifdef HAVE_RECORDING |
111 | { INT_SRC_I2SIN, INT_I2SIN }, /* For recording */ | ||
112 | #endif | ||
113 | { INT_SRC_DMAC, INT_DMAC }, /* Playback follows recording */ | ||
111 | { INT_SRC_NAND, INT_NAND }, | 114 | { INT_SRC_NAND, INT_NAND }, |
112 | #if (defined HAVE_MULTIDRIVE && CONFIG_CPU == AS3525) | 115 | #if (defined HAVE_MULTIDRIVE && CONFIG_CPU == AS3525) |
113 | { INT_SRC_MCI0, INT_MCI0 }, | 116 | { INT_SRC_MCI0, INT_MCI0 }, |
114 | #endif | 117 | #endif |
115 | { INT_SRC_USB, INT_USB, }, | 118 | { INT_SRC_USB, INT_USB, }, |
116 | #ifdef HAVE_RECORDING | ||
117 | { INT_SRC_I2SIN, INT_I2SIN, }, | ||
118 | #endif | ||
119 | { INT_SRC_TIMER1, INT_TIMER1 }, | 119 | { INT_SRC_TIMER1, INT_TIMER1 }, |
120 | { INT_SRC_TIMER2, INT_TIMER2 }, | 120 | { INT_SRC_TIMER2, INT_TIMER2 }, |
121 | { INT_SRC_I2C_AUDIO, INT_I2C_AUDIO }, | 121 | { INT_SRC_I2C_AUDIO, INT_I2C_AUDIO }, |