Thomas, Here's a small collection of irqchip patches for 6.4. The only significant thing is the RISC-V IPI rework, which spans both the irqchip subsystem and the arch code (and is Acked by Palmer). The rest is a bunch of errata workarounds, fixes and cleanups. Please pull, M. The following changes since commit 197b6b60ae7bc51dd0814953c562833143b292aa: Linux 6.3-rc4 (2023-03-26 14:40:20 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git tags/irqchip-6.4 for you to fetch changes up to 2ff1b0839ddd514be4752c64c1c6facf91ff3a56: Merge branch irq/misc-6.4 into irq/irqchip-next (2023-04-21 14:05:31 +0100) ---------------------------------------------------------------- irqchip changes for 6.4 - Large RISC-V IPI rework to make way for a new interrupt architecture - More Loongarch fixes from Lianmin Lv, fixing issues in the so called "dual-bridge" systems. - Workaround for the nvidia T241 chip that gets confused in 3 and 4 socket configurations, leading to the GIC malfunctionning in some contexts - Drop support for non-firmware driven GIC configurarations now that the old ARM11MP Cavium board is gone - Workaround for the Rockchip 3588 chip that doesn't correctly deal with the shareability attributes. - Replace uses of of_find_property() with the more appropriate of_property_read_bool() - Make bcm-6345-l1 request its MMIO region - Add suspend support to the SiFive PLIC - Drop support for stih415, stih416 and stid127 platforms ---------------------------------------------------------------- Alain Volmat (1): irqchip/st: Remove stih415/stih416 and stid127 platforms support Anup Patel (7): RISC-V: Clear SIP bit only when using SBI IPI operations irqchip/riscv-intc: Allow drivers to directly discover INTC hwnode RISC-V: Treat IPIs as normal Linux IRQs RISC-V: Allow marking IPIs as suitable for remote FENCEs RISC-V: Use IPIs for remote TLB flush when possible RISC-V: Use IPIs for remote icache flush when possible irqchip/riscv-intc: Add empty irq_eoi() for chained irq handlers Jianmin Lv (5): irqchip/loongson-eiointc: Fix returned value on parsing MADT irqchip/loongson-eiointc: Fix incorrect use of acpi_get_vec_parent irqchip/loongson-eiointc: Fix registration of syscore_ops irqchip/loongson-pch-pic: Fix registration of syscore_ops irqchip/loongson-pch-pic: Fix pch_pic_acpi_init calling Marc Zyngier (5): irqchip/gic: Drop support for board files Merge branch irq/gic-6.4 into irq/irqchip-next Merge branch irq/riscv-ipi into irq/irqchip-next Merge branch irq/loongarch-fixes-6.4 into irq/irqchip-next Merge branch irq/misc-6.4 into irq/irqchip-next Mason Huo (1): irqchip/irq-sifive-plic: Add syscore callbacks for hibernation Rob Herring (1): irqchip: Use of_property_read_bool() for boolean properties Sebastian Reichel (1): irqchip/gic-v3: Add Rockchip 3588001 erratum workaround Shanker Donthineni (1): irqchip/gicv3: Workaround for NVIDIA erratum T241-FABRIC-4 Álvaro Fernández Rojas (1): irqchip/bcm-6345-l1: Request memory region Documentation/arm64/silicon-errata.rst | 5 + arch/arm64/Kconfig | 10 ++ arch/riscv/Kconfig | 2 + arch/riscv/include/asm/irq.h | 4 + arch/riscv/include/asm/sbi.h | 9 +- arch/riscv/include/asm/smp.h | 49 +++++++--- arch/riscv/kernel/Makefile | 1 + arch/riscv/kernel/cpu-hotplug.c | 3 +- arch/riscv/kernel/irq.c | 21 +++- arch/riscv/kernel/sbi-ipi.c | 77 +++++++++++++++ arch/riscv/kernel/sbi.c | 100 +++---------------- arch/riscv/kernel/smp.c | 171 +++++++++++++++++---------------- arch/riscv/kernel/smpboot.c | 5 +- arch/riscv/mm/cacheflush.c | 5 +- arch/riscv/mm/tlbflush.c | 93 +++++++++++++++--- drivers/clocksource/timer-clint.c | 65 ++++++++++--- drivers/firmware/smccc/smccc.c | 26 +++++ drivers/firmware/smccc/soc_id.c | 28 +----- drivers/irqchip/Kconfig | 3 + drivers/irqchip/irq-bcm6345-l1.c | 6 +- drivers/irqchip/irq-csky-apb-intc.c | 2 +- drivers/irqchip/irq-gic-v2m.c | 2 +- drivers/irqchip/irq-gic-v3-its.c | 35 +++++++ drivers/irqchip/irq-gic-v3.c | 115 +++++++++++++++++++--- drivers/irqchip/irq-gic.c | 60 +----------- drivers/irqchip/irq-loongson-eiointc.c | 32 ++++-- drivers/irqchip/irq-loongson-pch-pic.c | 6 +- drivers/irqchip/irq-riscv-intc.c | 71 ++++++++------ drivers/irqchip/irq-sifive-plic.c | 93 +++++++++++++++++- drivers/irqchip/irq-st.c | 15 --- include/linux/arm-smccc.h | 18 ++++ include/linux/irqchip/arm-gic.h | 6 -- 32 files changed, 761 insertions(+), 377 deletions(-) create mode 100644 arch/riscv/kernel/sbi-ipi.c