[PATCH v4 0/2] Loongarch irq-redirect supprot

From: Tianyang Zhang
Date: Tue Jun 10 2025 - 07:43:25 EST


From: Super User <root@localhost.localdomain>

This series of patches introduces support for interrupt-redirect
controllers, and this hardware feature will be supported on 3C6000
for the first time

change log:
v0->v1:
1.Rename the model names in the document.
2.Adjust the code format.
3.Remove architecture - specific prefixes.
4.Refactor the initialization logic, and IR driver no longer set AVEC_ENABLE.
5.Enhance compatibility under certain configurations.

v1->v2:
1.Fixed an erroneous enabling issue.

v2->v3
1.Replace smp_call with address mapping to access registers
2.Fix some code style issues

v3->v4
1.Provide reasonable comments on the modifications made to IRQ_SET_MASK_OK_DONE
2.Replace meaningless empty functions with parent_mask/unmask/ack
3.Added and indeed released resources
4.Added judgment for data structure initialization completion to avoid duplicate creation during cpuhotplug
5.Fixed the code style and some unnecessary troubles

Tianyang Zhang (2):
Docs/LoongArch: Add Advanced Extended-Redirect IRQ model description
irq/irq-loongarch-ir:Add Redirect irqchip support

.../arch/loongarch/irq-chip-model.rst | 38 ++
.../zh_CN/arch/loongarch/irq-chip-model.rst | 37 ++
arch/loongarch/include/asm/cpu-features.h | 1 +
arch/loongarch/include/asm/cpu.h | 2 +
arch/loongarch/include/asm/loongarch.h | 6 +
arch/loongarch/kernel/cpu-probe.c | 2 +
drivers/irqchip/Makefile | 2 +-
drivers/irqchip/irq-loongarch-avec.c | 25 +-
drivers/irqchip/irq-loongarch-ir.c | 562 ++++++++++++++++++
drivers/irqchip/irq-loongson.h | 12 +
include/linux/cpuhotplug.h | 1 +
11 files changed, 674 insertions(+), 14 deletions(-)
create mode 100644 drivers/irqchip/irq-loongarch-ir.c

--
2.41.0