summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/avic-imx31.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-01-07 20:40:36 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-01-07 20:40:36 +0000
commit9d97ee1b5401698ede224888028ca64f399fdae1 (patch)
tree54aa01c9027866ca81a11e756ab1c77913c459bd /firmware/target/arm/imx31/avic-imx31.h
parent2093bb021f357913ff9280c7d4e21568e3fc4575 (diff)
downloadrockbox-9d97ee1b5401698ede224888028ca64f399fdae1.tar.gz
rockbox-9d97ee1b5401698ede224888028ca64f399fdae1.zip
Gigabeat S/i.MX31: Take care of an interrupt priority inversion that can happen during PCM callback lockout when DVFS switches frequecies during the lockout, preventing a thread from unlocking the callback until DVFS finishes, causing an SSI FIFO underrun. Hadn't thought of an acceptable way to deal with it before.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28996 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/avic-imx31.h')
-rw-r--r--firmware/target/arm/imx31/avic-imx31.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/firmware/target/arm/imx31/avic-imx31.h b/firmware/target/arm/imx31/avic-imx31.h
index 04a2856b50..ca48f85ba5 100644
--- a/firmware/target/arm/imx31/avic-imx31.h
+++ b/firmware/target/arm/imx31/avic-imx31.h
@@ -67,6 +67,11 @@ void avic_set_int_type(enum IMX31_INT_LIST ints, enum INT_TYPE intstype);
67#define AVIC_NIL_ENABLE (-1) 67#define AVIC_NIL_ENABLE (-1)
68void avic_set_ni_level(int level); 68void avic_set_ni_level(int level);
69 69
70static inline void avic_mask_int(enum IMX31_INT_LIST ints)
71 { AVIC_INTDISNUM = ints; }
72
73static inline void avic_unmask_int(enum IMX31_INT_LIST ints)
74 { AVIC_INTENNUM = ints; }
70 75
71/* Call a service routine while allowing preemption by interrupts of higher 76/* Call a service routine while allowing preemption by interrupts of higher
72 * priority. Avoid using any app or other SVC stack by doing it with a mini 77 * priority. Avoid using any app or other SVC stack by doing it with a mini