From 9d97ee1b5401698ede224888028ca64f399fdae1 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Fri, 7 Jan 2011 20:40:36 +0000 Subject: 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 --- firmware/target/arm/imx31/avic-imx31.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'firmware/target/arm/imx31/avic-imx31.h') 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); #define AVIC_NIL_ENABLE (-1) void avic_set_ni_level(int level); +static inline void avic_mask_int(enum IMX31_INT_LIST ints) + { AVIC_INTDISNUM = ints; } + +static inline void avic_unmask_int(enum IMX31_INT_LIST ints) + { AVIC_INTENNUM = ints; } /* Call a service routine while allowing preemption by interrupts of higher * priority. Avoid using any app or other SVC stack by doing it with a mini -- cgit v1.2.3