ARCv2: intc: untangle SMP, MCIP and IDU
authorVineet Gupta <vgupta@synopsys.com>
Thu, 29 Sep 2016 17:00:14 +0000 (10:00 -0700)
committerVineet Gupta <vgupta@synopsys.com>
Sun, 16 Oct 2016 22:49:07 +0000 (15:49 -0700)
commit3ce0fefc51bd56381b1b9a92835cf8f9db3f2ef8
treec425859767f89b65b4d11b41325632ffd82afffb
parent1001354ca34179f3db924eb66672442a173147dc
ARCv2: intc: untangle SMP, MCIP and IDU

The IDU intc is technically part of MCIP (Multi-core IP) hence
historically was only available in a SMP hardware build (and thus only
in a SMP kernel build). Now that hardware restriction has been lifted,
so a UP kernel needs to support it.

This requires breaking mcip.c into parts which are strictly SMP
(inter-core interrupts) and IDU which in reality is just another
intc and thus has no bearing on SMP.

This change allows IDU in UP builds and with a suitable device tree, we
can have the cascaded intc system

    ARCv2 core intc <---> ARCv2 IDU intc <---> periperals

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/Kconfig
arch/arc/include/asm/mcip.h
arch/arc/kernel/mcip.c