linux/arch/arc
Alexey Brodkin e8206d2baa ARCv2: SMP: Mask only private-per-core IRQ lines on boot at core intc
Recent commit a8ec3ee861 "arc: Mask individual IRQ lines during core
INTC init" breaks interrupt handling on ARCv2 SMP systems.

That commit masked all interrupts at onset, as some controllers on some
boards (customer as well as internal), would assert interrutps early
before any handlers were installed.  For SMP systems, the masking was
done at each cpu's core-intc.  Later, when the IRQ was actually
requested, it was unmasked, but only on the requesting cpu.

For "common" interrupts, which were wired up from the 2nd level IDU
intc, this was as issue as they needed to be enabled on ALL the cpus
(given that IDU IRQs are by default served Round Robin across cpus)

So fix that by NOT masking "common" interrupts at core-intc, but instead
at the 2nd level IDU intc (latter already being done in idu_of_init())

Fixes: a8ec3ee861 ("arc: Mask individual IRQ lines during core INTC init")
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
[vgupta: reworked changelog, removed the extraneous idu_irq_mask_raw()]
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-08-28 16:11:15 -07:00
..
boot ARC: [plat-axs10x]: prepare dts files for enabling PAE40 on axs103 2017-08-04 13:49:23 +05:30
configs ARC: [plat-sim] Include this platform unconditionally 2017-08-04 13:49:47 +05:30
include ARCv2: PAE40: set MSB even if !CONFIG_ARC_HAS_PAE40 but PAE exists in SoC 2017-08-04 13:56:35 +05:30
kernel ARCv2: SMP: Mask only private-per-core IRQ lines on boot at core intc 2017-08-28 16:11:15 -07:00
lib ARC: dw2 unwind: enable cfi pseudo ops in string lib 2016-09-30 14:48:22 -07:00
mm ARC fixes for 4.13-rc7 2017-08-21 13:30:36 -07:00
oprofile
plat-axs10x ARC: move mcip.h into include/soc and adjust the includes 2016-11-30 11:54:25 -08:00
plat-eznps ARC: [plat-*] ARC_HAS_COH_CACHES no longer relevant 2017-02-06 09:37:57 -08:00
plat-sim ARC: [plat-sim] Include this platform unconditionally 2017-08-04 13:49:47 +05:30
plat-tb10x
Kbuild
Kconfig ARC: [plat-sim] Include this platform unconditionally 2017-08-04 13:49:47 +05:30
Kconfig.debug
Makefile ARC: [plat-sim] Include this platform unconditionally 2017-08-04 13:49:47 +05:30