提交 298dcb2d 编写于 作者: G Grzegorz Jaszczyk 提交者: Jason Cooper

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: NGrzegorz Jaszczyk <jaz@semihalf.com>
Reviewed-by: NGregory CLEMENT <gregory.clement@free-electrons.com>
Fixes: bc69b8ad ("irqchip: armada-370-xp: Setup a chained handler for the MPIC")
Cc: <stable@vger.kernel.org> # v3.15+
Acked-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Link: https://lkml.kernel.org/r/1411643839-64925-2-git-send-email-jaz@semihalf.comSigned-off-by: NJason Cooper <jason@lakedaemon.net>
上级 f114040e
......@@ -413,9 +413,9 @@ static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,
irqmap = readl_relaxed(per_cpu_int_base + ARMADA_375_PPI_CAUSE);
if (irqmap & BIT(0)) {
if (irqmap & BIT(1)) {
armada_370_xp_handle_msi_irq(NULL, true);
irqmap &= ~BIT(0);
irqmap &= ~BIT(1);
}
for_each_set_bit(irqn, &irqmap, BITS_PER_LONG) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册