]> www.infradead.org Git - users/jedix/linux-maple.git/commit
irqchip/loongson-liointc: Set different ISRs for different cores
authorHuacai Chen <chenhuacai@loongson.cn>
Sat, 22 Jun 2024 04:33:38 +0000 (12:33 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 23 Jun 2024 15:09:26 +0000 (17:09 +0200)
commita9c3ee5d0fdb069b54902300df6ac822027f3b0a
tree0159fa07ed9df29f2da3cf667b52ce72f7ada756
parent2d64eaeeeda5659d52da1af79d237269ba3c2d2c
irqchip/loongson-liointc: Set different ISRs for different cores

The liointc hardware provides separate Interrupt Status Registers (ISR) for
each core. The current code uses always the ISR of core #0, which works
during boot because by default all interrupts are routed to core #0.

When the interrupt routing changes in the firmware configuration then this
causes interrupts to be lost because they are not configured in the
corresponding core.

Use the core index to access the correct ISR instead of a hardcoded 0.

[ tglx: Massaged changelog ]

Fixes: 0858ed035a85 ("irqchip/loongson-liointc: Add ACPI init support")
Co-developed-by: Tianli Xiong <xiongtianli@loongson.cn>
Signed-off-by: Tianli Xiong <xiongtianli@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20240622043338.1566945-1-chenhuacai@loongson.cn
drivers/irqchip/irq-loongson-liointc.c