Skip to content

Commit 298dcb2

Browse files
jaszczyk-grzegorzJason Cooper
authored andcommitted
irqchip: armada-370-xp: Fix MSI interrupt handling
The MSI interrupts use the 16 high doorbells, which are notified by using IRQ1 of the main interrupt controller. The MSI interrupts were handled correctly for Armada-XP and Armada-370 but not for Armada-375 and Armada-38x, which use chained handler for the MPIC. This commit fixes that by checking proper interrupt number in chained handler for the MPIC. Signed-off-by: Grzegorz Jaszczyk <[email protected]> Reviewed-by: Gregory CLEMENT <[email protected]> Fixes: bc69b8a ("irqchip: armada-370-xp: Setup a chained handler for the MPIC") Cc: <[email protected]> # v3.15+ Acked-by: Ezequiel Garcia <[email protected]> Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Jason Cooper <[email protected]>
1 parent f114040 commit 298dcb2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/irqchip/irq-armada-370-xp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,9 +413,9 @@ static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,
413413

414414
irqmap = readl_relaxed(per_cpu_int_base + ARMADA_375_PPI_CAUSE);
415415

416-
if (irqmap & BIT(0)) {
416+
if (irqmap & BIT(1)) {
417417
armada_370_xp_handle_msi_irq(NULL, true);
418-
irqmap &= ~BIT(0);
418+
irqmap &= ~BIT(1);
419419
}
420420

421421
for_each_set_bit(irqn, &irqmap, BITS_PER_LONG) {

0 commit comments

Comments
 (0)