ARCv2: Use the default irq priority for idle sleep
authorVineet Gupta <vgupta@synopsys.com>
Wed, 17 Jun 2015 11:33:18 +0000 (17:03 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 16 Nov 2015 08:47:06 +0000 (14:17 +0530)
Although kernel doesn't support the multiple IRQ priority levels provided
by HS38x core intc yet, ensure that the default prio value is used
anyways by relevant code.

SLEEP insn needs to be provided the IRQ priority level which can
interrupt it. This needs to be the default level which maynot
necessarily be 0 as assumed by current code.

This change allows a kernel with ARCV2_IRQ_DEF_PRIO = 1 to boot fine.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/irqflags-arcv2.h

index f7c8d3c..258b0e5 100644 (file)
@@ -37,7 +37,8 @@
 #define ISA_INIT_STATUS_BITS   (STATUS_IE_MASK | STATUS_AD_MASK | \
                                        (ARCV2_IRQ_DEF_PRIO << 1))
 
-#define ISA_SLEEP_ARG          0x10
+/* SLEEP needs default irq priority (<=) which can interrupt the doze */
+#define ISA_SLEEP_ARG          (0x10 | ARCV2_IRQ_DEF_PRIO)
 
 #ifndef __ASSEMBLY__