diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-09-12 04:23:06 -0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-11-06 00:11:40 -0500 |
commit | 54c8bff14d604de23d0718eee59c5436a4703fe5 (patch) | |
tree | 2afb7639568befca863408e49df9292a301e96ad | |
parent | 07ba69a46c3394fe6675483275337e5a79a959e0 (diff) |
ARC: Reset the value of Interrupt Priority Register
In case bootloader has changed the priority of one/more IRQ lines
Reported-by: Noam Camus <noamc@ezchip.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r-- | arch/arc/kernel/irq.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/arc/kernel/irq.c b/arch/arc/kernel/irq.c index 5fc92455da36..02684e1a0cf0 100644 --- a/arch/arc/kernel/irq.c +++ b/arch/arc/kernel/irq.c | |||
@@ -39,10 +39,14 @@ void arc_init_IRQ(void) | |||
39 | level_mask |= IS_ENABLED(CONFIG_ARC_IRQ5_LV2) << 5; | 39 | level_mask |= IS_ENABLED(CONFIG_ARC_IRQ5_LV2) << 5; |
40 | level_mask |= IS_ENABLED(CONFIG_ARC_IRQ6_LV2) << 6; | 40 | level_mask |= IS_ENABLED(CONFIG_ARC_IRQ6_LV2) << 6; |
41 | 41 | ||
42 | if (level_mask) { | 42 | /* |
43 | * Write to register, even if no LV2 IRQs configured to reset it | ||
44 | * in case bootloader had mucked with it | ||
45 | */ | ||
46 | write_aux_reg(AUX_IRQ_LEV, level_mask); | ||
47 | |||
48 | if (level_mask) | ||
43 | pr_info("Level-2 interrupts bitset %x\n", level_mask); | 49 | pr_info("Level-2 interrupts bitset %x\n", level_mask); |
44 | write_aux_reg(AUX_IRQ_LEV, level_mask); | ||
45 | } | ||
46 | } | 50 | } |
47 | 51 | ||
48 | /* | 52 | /* |