diff options
| author | Anup Patel <apatel@ventanamicro.com> | 2023-01-03 19:42:15 +0530 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2023-02-05 10:57:55 +0000 |
| commit | 835a486cd9f55790dee9f6b67ce0057d49f15da5 (patch) | |
| tree | 2c866ed0fa0584df029b17461dd33125d039791a /kernel/irq/Makefile | |
| parent | 5dc4c995db9eb45f6373a956eb1f69460e69e6d4 (diff) | |
| download | linux-835a486cd9f55790dee9f6b67ce0057d49f15da5.tar.gz linux-835a486cd9f55790dee9f6b67ce0057d49f15da5.tar.bz2 linux-835a486cd9f55790dee9f6b67ce0057d49f15da5.zip | |
genirq: Add mechanism to multiplex a single HW IPI
All RISC-V platforms have a single HW IPI provided by the INTC local
interrupt controller. The HW method to trigger INTC IPI can be through
external irqchip (e.g. RISC-V AIA), through platform specific device
(e.g. SiFive CLINT timer), or through firmware (e.g. SBI IPI call).
To support multiple IPIs on RISC-V, add a generic IPI multiplexing
mechanism which help us create multiple virtual IPIs using a single
HW IPI. This generic IPI multiplexing is inspired by the Apple AIC
irqchip driver and it is shared by various RISC-V irqchip drivers.
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Hector Martin <marcan@marcan.st>
Tested-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230103141221.772261-4-apatel@ventanamicro.com
Diffstat (limited to 'kernel/irq/Makefile')
| -rw-r--r-- | kernel/irq/Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/irq/Makefile b/kernel/irq/Makefile index b4f53717d143..f19d3080bf11 100644 --- a/kernel/irq/Makefile +++ b/kernel/irq/Makefile @@ -15,6 +15,7 @@ obj-$(CONFIG_GENERIC_IRQ_MIGRATION) += cpuhotplug.o obj-$(CONFIG_PM_SLEEP) += pm.o obj-$(CONFIG_GENERIC_MSI_IRQ) += msi.o obj-$(CONFIG_GENERIC_IRQ_IPI) += ipi.o +obj-$(CONFIG_GENERIC_IRQ_IPI_MUX) += ipi-mux.o obj-$(CONFIG_SMP) += affinity.o obj-$(CONFIG_GENERIC_IRQ_DEBUGFS) += debugfs.o obj-$(CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR) += matrix.o |
