MIPS: Lantiq: Fix cascaded IRQ setup
authorFelix Fietkau <nbd@nbd.name>
Thu, 19 Jan 2017 11:28:22 +0000 (12:28 +0100)
committerJames Hogan <james.hogan@imgtec.com>
Mon, 13 Feb 2017 18:58:53 +0000 (18:58 +0000)
commit6c356eda225e3ee134ed4176b9ae3a76f793f4dd
tree625252e42bea239fb313f569a96e760f1d51cca4
parent4fb69afa767777360201a43725ddd7f7c64459bb
MIPS: Lantiq: Fix cascaded IRQ setup

With the IRQ stack changes integrated, the XRX200 devices started
emitting a constant stream of kernel messages like this:

[  565.415310] Spurious IRQ: CAUSE=0x1100c300

This is caused by IP0 getting handled by plat_irq_dispatch() rather than
its vectored interrupt handler, which is fixed by commit de856416e714
("MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch").

Fix plat_irq_dispatch() to handle non-vectored IPI interrupts correctly
by setting up IP2-6 as proper chained IRQ handlers and calling do_IRQ
for all MIPS CPU interrupts.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Acked-by: John Crispin <john@phrozen.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/15077/
[james.hogan@imgtec.com: tweaked commit message]
Signed-off-by: James Hogan <james.hogan@imgtec.com>
arch/mips/lantiq/irq.c