irqchip: Add RISC-V advanced PLIC driver for direct-mode
authorAnup Patel <apatel@ventanamicro.com>
Thu, 7 Mar 2024 14:03:04 +0000 (19:33 +0530)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 25 Mar 2024 16:38:29 +0000 (17:38 +0100)
commit2333df5ae51ead2188d07c99e841e159a664741e
treee85609149ff3d7f32ae1c02250b2f730048f8ea0
parent3b806a5a1a39d593d6fe0def2ef474402f551f91
irqchip: Add RISC-V advanced PLIC driver for direct-mode

The RISC-V advanced interrupt architecture (AIA) specification defines
advanced platform-level interrupt controller (APLIC) which has two modes
of operation: 1) Direct mode and 2) MSI mode.
(For more details, refer https://github.com/riscv/riscv-aia)

In APLIC direct-mode, wired interrupts are forwared to CPUs (or HARTs)
as a local external interrupt.

Add a platform irqchip driver for the RISC-V APLIC direct-mode to
support RISC-V platforms having only wired interrupts.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Björn Töpel <bjorn@rivosinc.com>
Reviewed-by: Björn Töpel <bjorn@rivosinc.com>
Link: https://lore.kernel.org/r/20240307140307.646078-7-apatel@ventanamicro.com
drivers/irqchip/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-riscv-aplic-direct.c [new file with mode: 0644]
drivers/irqchip/irq-riscv-aplic-main.c [new file with mode: 0644]
drivers/irqchip/irq-riscv-aplic-main.h [new file with mode: 0644]
include/linux/irqchip/riscv-aplic.h [new file with mode: 0644]