[PATCH v2] irqchip: armada: Fix chained per-cpu interrupts
Jason Cooper
jason at lakedaemon.net
Sat Mar 7 20:16:10 PST 2015
Maxime,
On Tue, Mar 03, 2015 at 11:27:23AM +0100, Maxime Ripard wrote:
> On the Cortex-A9-based Armada SoCs, the MPIC is not the primary interrupt
> controller. Yet, it still has to handle some per-cpu interrupt.
>
> To do so, it is chained with the GIC using a per-cpu interrupt. However, the
> current code only call irq_set_chained_handler, which is called and enable that
> interrupt only on the boot CPU, which means that the parent per-CPU interrupt
> is never unmasked on the secondary CPUs, preventing the per-CPU interrupt to
> actually work as expected.
>
> This was not seen until now since the only MPIC PPI users were the Marvell
> timers that were not working, but not used either since the system use the ARM
> TWD by default, and the ethernet controllers, that are faking there interrupts
> as SPI, and don't really expect to have interrupts on the secondary cores
> anyway.
>
> Add a CPU notifier that will enable the PPI on the secondary cores when they
> are brought up.
>
> Cc: <stable at vger.kernel.org> # 3.15+
> Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
> ---
> Changes from v1:
> - Renamed the function and notifier names
>
> drivers/irqchip/irq-armada-370-xp.c | 21 ++++++++++++++++++++-
> 1 file changed, 20 insertions(+), 1 deletion(-)
Applied to irqchip/urgent with Gregory's Ack.
thx,
Jason.
More information about the linux-arm-kernel
mailing list