summaryrefslogtreecommitdiffstats
path: root/arch/arc/include/asm/irqflags.h
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-01-18 10:42:22 +0100
committerVineet Gupta <vgupta@synopsys.com>2013-02-15 18:46:01 +0100
commit4788a5942bc896803c87005be8c6dd14c373a2d3 (patch)
tree0999ce29d94a3517a30df1b1463fdd9c9d200b28 /arch/arc/include/asm/irqflags.h
parentARC: OProfile support (diff)
downloadlinux-4788a5942bc896803c87005be8c6dd14c373a2d3.tar.xz
linux-4788a5942bc896803c87005be8c6dd14c373a2d3.zip
ARC: Support for high priority interrupts in the in-core intc
There is a bit of hack/kludge right now where we disable preemption if a L2 (High prio) IRQ is taken while L1 (Low prio) is active. Need to revisit this Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm/irqflags.h')
-rw-r--r--arch/arc/include/asm/irqflags.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h
index 5cc1080d7c26..ccd84806b62f 100644
--- a/arch/arc/include/asm/irqflags.h
+++ b/arch/arc/include/asm/irqflags.h
@@ -95,7 +95,11 @@ static inline long arch_local_save_flags(void)
*/
static inline int arch_irqs_disabled_flags(unsigned long flags)
{
- return !(flags & (STATUS_E1_MASK));
+ return !(flags & (STATUS_E1_MASK
+#ifdef CONFIG_ARC_COMPACT_IRQ_LEVELS
+ | STATUS_E2_MASK
+#endif
+ ));
}
static inline int arch_irqs_disabled(void)