]> git.baikalelectronics.ru Git - kernel.git/commit
arc: Mask individual IRQ lines during core INTC init
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Thu, 10 Aug 2017 15:07:36 +0000 (18:07 +0300)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 11 Aug 2017 01:08:31 +0000 (06:38 +0530)
commit431131e352ea0b00fa34359929aa0b2f725c6797
tree35238c6dcb677d77d8aac0d22e8ee892b7c243c0
parent8e3dc25abff41b90392c94427153d619becd60f8
arc: Mask individual IRQ lines during core INTC init

ARC cores on reset have all interrupt lines of built-in INTC enabled.
Which means once we globally enable interrupts (very early on boot)
faulty hardware blocks may trigger an interrupt that Linux kernel
cannot handle yet as corresponding handler is not yet installed.

In that case system falls in "interrupt storm" and basically never
does anything useful except entering and exiting generic IRQ handling
code.

One real example of that kind of problematic hardware is DW GMAC which
also has interrupts enabled on reset and if Ethernet PHY informs GMAC
about link state, GMAC immediately reports that upstream to ARC core
and here we are.

Now with that change we mask all individual IRQ lines making entire
system more fool-proof.

[This patch was motivated by Adaptrum platform support]

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Eugeniy Paltsev <paltsev@synopsys.com>
Tested-by: Alexandru Gagniuc <alex.g@adaptrum.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/intc-arcv2.c
arch/arc/kernel/intc-compact.c