linux/drivers/irqchip
Biju Das cd4a3ced4d irqchip/renesas-rzv2h: Prevent TINT spurious interrupt during resume
A glitch in the edge detection circuit can cause a spurious interrupt. The
hardware manual recommends clearing the status flag after setting the
ICU_TSSRk register as a countermeasure.

Currently, a spurious interrupt is generated on the resume path of s2idle
for the PMIC RTC TINT interrupt due to a glitch related to unnecessary
enabling/disabling of the TINT enable bit.

Fix this issue by not setting TSSR(TINT Source) and TITSR(TINT Detection
Method Selection) registers if the values are the same as those set
in these registers.

Fixes: 0d7605e75a ("irqchip: Add RZ/V2H(P) Interrupt Control Unit (ICU) driver")
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260113125315.359967-2-biju.das.jz@bp.renesas.com
2026-01-18 10:55:34 +01:00
..
alphascale_asm9260-icoll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exynos-combiner.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-aclint-sswi.c irqchip/aclint-sswi: Add Nuclei UX900 support 2025-11-11 22:17:22 +01:00
irq-al-fic.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-alpine-msi.c irqchip/alpine-msi: Switch to msi_create_parent_irq_domain() 2025-07-03 15:49:25 +02:00
irq-apple-aic.c ARM: 2025-12-05 17:01:20 -08:00
irq-armada-370-xp.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-aspeed-i2c-ic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-aspeed-intc.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-aspeed-scu-ic.c irqchip/aspeed-scu-ic: Fix an IS_ERR() vs NULL check 2025-10-07 10:23:22 +02:00
irq-aspeed-vic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-ath79-cpu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
irq-ath79-misc.c irqchip/ath79-misc: Fix missing prototypes warnings 2025-06-20 21:38:52 +02:00
irq-atmel-aic-common.c irqchip/atmel-aic: Simplify with of_machine_get_match_data() 2025-11-26 19:42:51 -06:00
irq-atmel-aic-common.h irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic.c irqchip/atmel-aic[5]: Fix incorrect lock guard conversion 2025-08-23 21:41:07 +02:00
irq-atmel-aic5.c irqchip/atmel-aic[5]: Fix incorrect lock guard conversion 2025-08-23 21:41:07 +02:00
irq-bcm2712-mip.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
irq-bcm2835.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-bcm2836.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-bcm6345-l1.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-bcm7038-l1.c soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
irq-bcm7120-l2.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
irq-brcmstb-l2.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
irq-clps711x.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-crossbar.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-csky-apb-intc.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-csky-mpintc.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-davinci-cp-intc.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-digicolor.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-dw-apb-ictl.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-econet-en751221.c irqchip/econet-en751221: Switch to of_fwnode_handle() 2025-05-13 16:39:03 +02:00
irq-ftintc010.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-gic-common.c irqchip/gic-v3: Make distributor priorities variables 2024-06-24 18:16:44 +01:00
irq-gic-common.h irqchip/gic-v3: Rename GICv3 ITS MSI parent 2025-07-08 18:35:52 +01:00
irq-gic-its-msi-parent.c irqchip/gic-its: Rework platform MSI deviceID detection 2025-11-22 17:09:03 +01:00
irq-gic-its-msi-parent.h irqchip/gic-v5: Add GICv5 ITS support 2025-07-08 18:35:52 +01:00
irq-gic-pm.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-gic-realview.c irqchip/gic/realview: Fix refcount leak in realview_gic_of_init 2022-06-09 17:36:57 +01:00
irq-gic-v2m.c irqchip/gic-v2m: Handle Multiple MSI base IRQ Alignment 2025-09-04 14:52:47 +02:00
irq-gic-v3-its-fsl-mc-msi.c of/irq: Convert of_msi_map_id() callers to of_msi_xlate() 2025-09-03 09:01:26 -05:00
irq-gic-v3-its.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-gic-v3-mbi.c Updates for the MSI subsystem (core code and PCI): 2025-05-27 08:15:26 -07:00
irq-gic-v3.c irqchip/gic-v3: Drop support for custom PPI partitions 2025-10-27 17:16:36 +01:00
irq-gic-v4.c KVM: arm64: WARN if unmapping a vLPI fails in any path 2025-06-20 13:52:29 -07:00
irq-gic-v5-irs.c Updates for interrupt chip drivers: 2025-09-30 16:00:29 -07:00
irq-gic-v5-its.c irqchip/gic-v5: Fix gicv5_its_map_event() ITTE read endianness 2026-01-09 16:10:04 +01:00
irq-gic-v5-iwb.c irqchip/gic-v5: iwb: Fix iounmap probe failure path 2025-08-05 10:43:48 +02:00
irq-gic-v5.c irqchip/gic-v5: Drop has_gcie_v3_compat from gic_kvm_info 2025-09-17 17:41:02 +01:00
irq-gic.c irqchip/gic: Expose CPU interface VA to KVM 2025-11-24 14:29:11 -08:00
irq-goldfish-pic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-hip04.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-i8259.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-idt3243x.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-imgpdc.c irqchip: Use dev_fwnode() 2025-06-12 15:08:12 +02:00
irq-imx-gpcv2.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-imx-intmux.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-imx-irqsteer.c irqchip: Use dev_fwnode() 2025-06-12 15:08:12 +02:00
irq-imx-mu-msi.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
irq-ingenic-tcu.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-ingenic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-ixp4xx.c irqchip: Switch to of_fwnode_handle() 2025-05-16 21:06:07 +02:00
irq-jcore-aic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-keystone.c irqchip: Use dev_fwnode() 2025-06-12 15:08:12 +02:00
irq-lan966x-oic.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-loongarch-avec.c LoongArch: Add and use some macros for AVEC 2025-12-06 10:39:49 +08:00
irq-loongarch-cpu.c irqchip: Switch to of_fwnode_handle() 2025-05-16 21:06:07 +02:00
irq-loongson-eiointc.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-loongson-htpic.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-loongson-htvec.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-loongson-liointc.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-loongson-pch-lpc.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-loongson-pch-msi.c irqchip/loongson-pch-msi.c: Switch to msi_create_parent_irq_domain() 2025-07-03 15:49:24 +02:00
irq-loongson-pch-pic.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-loongson.h irqchip/loongarch-avec: Add AVEC irqchip support 2024-08-23 20:40:27 +02:00
irq-lpc32xx.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-ls-extirq.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-ls-scfg-msi.c irqchip/ls-scfg-msi: Fix NULL dereference in error handling 2025-07-18 14:54:45 +02:00
irq-ls1x.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-madera.c irqchip: Switch back to struct platform_driver::remove() 2024-11-26 20:09:06 +01:00
irq-mbigen.c Updates for the interrupt subsystem: 2024-09-17 07:09:17 +02:00
irq-mchp-eic.c irqchip/mchp-eic: Fix error code in mchp_eic_domain_alloc() 2025-12-10 12:11:06 +09:00
irq-meson-gpio.c irqchip/meson-gpio: Add support for Amlogic S6 S7 and S7D SoCs 2025-11-13 14:04:16 +01:00
irq-mips-cpu.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-mips-gic.c irqchip/mips-gic: Allow forced affinity 2025-06-21 18:20:54 +02:00
irq-mmp.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-mscc-ocelot.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-msi-lib.c irqchip/msi-lib: Honor the MSI_FLAG_PCI_MSI_MASK_PARENT flag 2025-09-09 14:44:30 +02:00
irq-mst-intc.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-mtk-cirq.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-mtk-sysirq.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-mvebu-gicp.c irqchip/mvebu-gicp: Fix an IS_ERR() vs NULL check in probe() 2025-08-24 12:00:47 +02:00
irq-mvebu-icu.c irqchip: Make irq-msi-lib.h globally available 2025-05-16 21:32:19 +02:00
irq-mvebu-odmi.c Updates for the MSI subsystem (core code and PCI): 2025-05-27 08:15:26 -07:00
irq-mvebu-pic.c irqchip/mvebu-pic: Drop unused module alias 2025-10-16 18:17:28 +02:00
irq-mvebu-sei.c irqchip/mvebu: Convert to msi_create_parent_irq_domain() helper 2025-05-16 21:32:20 +02:00
irq-mxs.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-nvic.c irqchip: Use int type to store negative error codes 2025-09-03 14:10:30 +02:00
irq-omap-intc.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-ompic.c irqchip/ompic: fix return value check in ompic_of_init() 2018-01-04 11:13:22 +00:00
irq-or1k-pic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-orion.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-owl-sirq.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-pic32-evic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-pruss-intc.c irqchip: Use dev_fwnode() 2025-06-12 15:08:12 +02:00
irq-qcom-mpm.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
irq-rda-intc.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-realtek-rtl.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-renesas-intc-irqpin.c irqchip/renesas-intc-irqpin: Convert to DEFINE_SIMPLE_DEV_PM_OPS() 2025-07-18 16:46:09 +02:00
irq-renesas-irqc.c irqchip/renesas-irqc: Convert to DEFINE_SIMPLE_DEV_PM_OPS() 2025-07-18 16:46:09 +02:00
irq-renesas-rza1.c irqchip: Use int type to store negative error codes 2025-09-03 14:10:30 +02:00
irq-renesas-rzg2l.c soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
irq-renesas-rzv2h.c irqchip/renesas-rzv2h: Prevent TINT spurious interrupt during resume 2026-01-18 10:55:34 +01:00
irq-riscv-aplic-direct.c irqchip/riscv-aplic: Use riscv_get_hart_index() 2025-06-26 16:06:40 +02:00
irq-riscv-aplic-main.c irqchip/riscv-aplic: Prevent crash when MSI domain is missing 2024-11-16 00:45:37 +01:00
irq-riscv-aplic-main.h irqchip/riscv-aplic: Add ACPI support 2024-08-27 15:48:36 +02:00
irq-riscv-aplic-msi.c irqchip/riscv-aplic: Prevent crash when MSI domain is missing 2024-11-16 00:45:37 +01:00
irq-riscv-imsic-early.c irqchip/riscv-imsic: Inline imsic_vector_from_local_id() 2025-10-16 18:17:28 +02:00
irq-riscv-imsic-platform.c irqchip/riscv-imsic: Revert "Remove redundant irq_data lookups" 2026-01-13 09:51:46 +01:00
irq-riscv-imsic-state.c Revert "irqchip/riscv-imsic: Embed the vector array in lpriv" 2026-01-09 16:10:05 +01:00
irq-riscv-imsic-state.h Revert "irqchip/riscv-imsic: Embed the vector array in lpriv" 2026-01-09 16:10:05 +01:00
irq-riscv-intc.c irqchip/riscv-intc: Add missing free() callback in riscv_intc_domain_ops 2025-11-14 16:52:34 +01:00
irq-riscv-rpmi-sysmsi.c irqchip/riscv-rpmi-sysmsi: Add ACPI support 2025-09-25 19:49:19 -06:00
irq-sa11x0.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-sg2042-msi.c irqchip/sg2042-msi: Set irq type according to DT configuration 2025-09-04 14:52:48 +02:00
irq-sifive-plic.c soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
irq-sl28cpld.c irqchip/irq-sl28cpld: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:53 -07:00
irq-sni-exiu.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-sp7021-intc.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-st.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-starfive-jh8100-intc.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
irq-stm32-exti.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-stm32mp-exti.c irqchip: Use dev_fwnode() 2025-06-12 15:08:12 +02:00
irq-sun4i.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-sun6i-r.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-sunxi-nmi.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-tb10x.c A set of cleanups for the generic interrupt subsystem: 2025-05-27 08:07:32 -07:00
irq-tegra.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-ti-sci-inta.c irqchip: Use dev_fwnode() 2025-06-12 15:08:12 +02:00
irq-ti-sci-intr.c irqchip: Use dev_fwnode() 2025-06-12 15:08:12 +02:00
irq-ts4800.c irqchip/ts4800: Drop unused module alias 2025-10-16 18:17:28 +02:00
irq-uniphier-aidet.c irqchip: Switch to of_fwnode_handle() 2025-05-16 21:06:07 +02:00
irq-versatile-fpga.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-vf610-mscm-ir.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-vic.c syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
irq-vt8500.c irqchip/irq-vt8500: Switch to irq_domain_create_*() 2025-05-07 15:36:56 +02:00
irq-wpcm450-aic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-xilinx-intc.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-xtensa-mx.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-xtensa-pic.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irq-zevio.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00
irqchip.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
Kconfig Boring updates for interrupt drivers: 2025-12-02 09:32:53 -08:00
Makefile irqchip: Kill irq-partition-percpu 2025-10-27 17:16:36 +01:00
qcom-irq-combiner.c irqchip/qcom-irq-combiner: Rename driver structure 2025-10-17 15:18:18 +02:00
qcom-pdc.c irqchip: Pass platform device to platform drivers 2025-10-16 18:17:27 +02:00
spear-shirq.c irqchip: Switch to irq_domain_create_*() 2025-05-16 21:06:09 +02:00