diff options
author | Anup Patel <apatel@ventanamicro.com> | 2024-03-07 19:33:05 +0530 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-03-25 17:38:29 +0100 |
commit | ca8df97fe6798afbe395fc4a8e23bac0c7fbd248 (patch) | |
tree | 69249e22caf0efc1419b39a47b12b68f9c86a567 /drivers/irqchip/irq-riscv-aplic-main.c | |
parent | 2333df5ae51ead2188d07c99e841e159a664741e (diff) |
irqchip/riscv-aplic: Add support for MSI-mode
The RISC-V advanced platform-level interrupt controller (APLIC) has
two modes of operation: 1) Direct mode and 2) MSI mode.
(For more details, refer https://github.com/riscv/riscv-aia)
In APLIC MSI-mode, wired interrupts are forwared as message signaled
interrupts (MSIs) to CPUs via IMSIC.
Extend the existing APLIC irqchip driver to support MSI-mode for
RISC-V platforms having both wired interrupts and MSIs.
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-8-apatel@ventanamicro.com
Diffstat (limited to 'drivers/irqchip/irq-riscv-aplic-main.c')
-rw-r--r-- | drivers/irqchip/irq-riscv-aplic-main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-riscv-aplic-main.c b/drivers/irqchip/irq-riscv-aplic-main.c index 160ff99d6979..774a0c97fdab 100644 --- a/drivers/irqchip/irq-riscv-aplic-main.c +++ b/drivers/irqchip/irq-riscv-aplic-main.c @@ -187,7 +187,7 @@ static int aplic_probe(struct platform_device *pdev) if (is_of_node(dev->fwnode)) msi_mode = of_property_present(to_of_node(dev->fwnode), "msi-parent"); if (msi_mode) - rc = -ENODEV; + rc = aplic_msi_setup(dev, regs); else rc = aplic_direct_setup(dev, regs); if (rc) |