linux/Documentation/devicetree/bindings/interrupt-controller
Linus Torvalds 5c2b050848 A set of updates for the interrupt subsystem:
- Tree wide:
 
     * Make nr_irqs static to the core code and provide accessor functions
       to remove existing and prevent future aliasing problems with local
       variables or function arguments of the same name.
 
   - Core code:
 
     * Prevent freeing an interrupt in the devres code which is not managed
       by devres in the first place.
 
     * Use seq_put_decimal_ull_width() for decimal values output in
       /proc/interrupts which increases performance significantly as it
       avoids parsing the format strings over and over.
 
     * Optimize raising the timer and hrtimer soft interrupts by using the
       'set bit only' variants instead of the combined version which checks
       whether ksoftirqd should be woken up. The latter is a pointless
       exercise as both soft interrupts are raised in the context of the
       timer interrupt and therefore never wake up ksoftirqd.
 
     * Delegate timer/hrtimer soft interrupt processing to a dedicated thread
       on RT.
 
       Timer and hrtimer soft interrupts are always processed in ksoftirqd
       on RT enabled kernels. This can lead to high latencies when other
       soft interrupts are delegated to ksoftirqd as well.
 
       The separate thread allows to run them seperately under a RT
       scheduling policy to reduce the latency overhead.
 
   - Drivers:
 
     * New drivers or extensions of existing drivers to support Renesas
       RZ/V2H(P), Aspeed AST27XX, T-HEAD C900 and ATMEL sam9x7 interrupt
       chips
 
     * Support for multi-cluster GICs on MIPS.
 
       MIPS CPUs can come with multiple CPU clusters, where each CPU cluster
       has its own GIC (Generic Interrupt Controller). This requires to
       access the GIC of a remote cluster through a redirect register block.
 
       This is encapsulated into a set of helper functions to keep the
       complexity out of the actual code paths which handle the GIC details.
 
     * Support for encrypted guests in the ARM GICV3 ITS driver
 
       The ITS page needs to be shared with the hypervisor and therefore
       must be decrypted.
 
     * Small cleanups and fixes all over the place
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmc7ggcTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoaf7D/9G6FgJXx/60zqnpnOr9Yx0hxjaI47x
 PFyCd3P05qyVMBYXfI99vrSKuVdMZXJ/fH5L83y+sOaTASyLTzg37igZycIDJzLI
 FnHh/m/+UA8k2aIC5VUiNAjne2RLaTZiRN15uEHFVjByC5Y+YTlCNUE4BBhg5RfQ
 hKmskeffWdtui3ou13CSNvbFn+pmqi4g6n1ysUuLhiwM2E5b1rZMprcCOnun/cGP
 IdUQsODNWTTv9eqPJez985M6A1x2SCGNv7Z73h58B9N0pBRPEC1xnhUnCJ1sA0cJ
 pnfde2C1lztEjYbwDngy0wgq0P6LINjQ5Ma2YY2F2hTMsXGJxGPDZm24/u5uR46x
 N/gsOQMXqw6f5yvbiS7Asx9WzR6ry8rJl70QRgTyozz7xxJTaiNm2HqVFe2wc+et
 Q/BzaKdhmUJj1GMZmqD2rrgwYeDcb4wWYNtwjM4PVHHxYlJVq0mEF1kLLS8YDyjf
 HuGPVqtSkt3E0+Br3FKcv5ltUQP8clXbudc6L1u98YBfNK12hW8L+c3YSvIiFoYM
 ZOAeANPM7VtQbP2Jg2q81Dd3CShImt5jqL2um+l8g7+mUE7l9gyuO/w/a5dQ57+b
 kx7mHHIW2zCeHrkZZbRUYzI2BJfMCCOVN4Ax5OZxTLnLsL9VEehy8NM8QYT4TS8R
 XmTOYW3U9XR3gw==
 =JqxC
 -----END PGP SIGNATURE-----

Merge tag 'irq-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull interrupt subsystem updates from Thomas Gleixner:
 "Tree wide:

   - Make nr_irqs static to the core code and provide accessor functions
     to remove existing and prevent future aliasing problems with local
     variables or function arguments of the same name.

  Core code:

   - Prevent freeing an interrupt in the devres code which is not
     managed by devres in the first place.

   - Use seq_put_decimal_ull_width() for decimal values output in
     /proc/interrupts which increases performance significantly as it
     avoids parsing the format strings over and over.

   - Optimize raising the timer and hrtimer soft interrupts by using the
     'set bit only' variants instead of the combined version which
     checks whether ksoftirqd should be woken up. The latter is a
     pointless exercise as both soft interrupts are raised in the
     context of the timer interrupt and therefore never wake up
     ksoftirqd.

   - Delegate timer/hrtimer soft interrupt processing to a dedicated
     thread on RT.

     Timer and hrtimer soft interrupts are always processed in ksoftirqd
     on RT enabled kernels. This can lead to high latencies when other
     soft interrupts are delegated to ksoftirqd as well.

     The separate thread allows to run them seperately under a RT
     scheduling policy to reduce the latency overhead.

  Drivers:

   - New drivers or extensions of existing drivers to support Renesas
     RZ/V2H(P), Aspeed AST27XX, T-HEAD C900 and ATMEL sam9x7 interrupt
     chips

   - Support for multi-cluster GICs on MIPS.

     MIPS CPUs can come with multiple CPU clusters, where each CPU
     cluster has its own GIC (Generic Interrupt Controller). This
     requires to access the GIC of a remote cluster through a redirect
     register block.

     This is encapsulated into a set of helper functions to keep the
     complexity out of the actual code paths which handle the GIC
     details.

   - Support for encrypted guests in the ARM GICV3 ITS driver

     The ITS page needs to be shared with the hypervisor and therefore
     must be decrypted.

   - Small cleanups and fixes all over the place"

* tag 'irq-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (50 commits)
  irqchip/riscv-aplic: Prevent crash when MSI domain is missing
  genirq/proc: Use seq_put_decimal_ull_width() for decimal values
  softirq: Use a dedicated thread for timer wakeups on PREEMPT_RT.
  timers: Use __raise_softirq_irqoff() to raise the softirq.
  hrtimer: Use __raise_softirq_irqoff() to raise the softirq
  riscv: defconfig: Enable T-HEAD C900 ACLINT SSWI drivers
  irqchip: Add T-HEAD C900 ACLINT SSWI driver
  dt-bindings: interrupt-controller: Add T-HEAD C900 ACLINT SSWI device
  irqchip/stm32mp-exti: Use of_property_present() for non-boolean properties
  irqchip/mips-gic: Fix selection of GENERIC_IRQ_EFFECTIVE_AFF_MASK
  irqchip/mips-gic: Prevent indirect access to clusters without CPU cores
  irqchip/mips-gic: Multi-cluster support
  irqchip/mips-gic: Setup defaults in each cluster
  irqchip/mips-gic: Support multi-cluster in for_each_online_cpu_gic()
  irqchip/mips-gic: Replace open coded online CPU iterations
  genirq/irqdesc: Use str_enabled_disabled() helper in wakeup_show()
  genirq/devres: Don't free interrupt which is not managed by devres
  irqchip/gic-v3-its: Fix over allocation in itt_alloc_pool()
  irqchip/aspeed-intc: Add AST27XX INTC support
  dt-bindings: interrupt-controller: Add support for ASPEED AST27XX INTC
  ...
2024-11-19 15:54:19 -08:00
..
abilis,tb10x-ictl.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
actions,owl-sirq.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
al,alpine-msix.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
allwinner,sun4i-a10-ic.yaml dt-bindings: Remove 'Device Tree Bindings' from end of title: 2022-08-25 14:06:57 -05:00
allwinner,sun6i-a31-r-intc.yaml dt-bindings: Remove 'Device Tree Bindings' from end of title: 2022-08-25 14:06:57 -05:00
allwinner,sun7i-a20-sc-nmi.yaml dt-bindings: irq: sun7i-nmi: Add binding for the H616 NMI controller 2024-04-23 11:33:10 -05:00
amazon,al-fic.txt dt-bindings: interrupt-controller: al-fic: remove redundant binding 2019-07-24 14:36:16 -06:00
amlogic,meson-gpio-intc.yaml dt-bindings: interrupt-controller: Add support for Amlogic-T7 SoCs 2024-02-22 18:04:42 +01:00
apple,aic.yaml dt-bindings: apple,aic: Document A7-A11 compatibles 2024-09-04 20:43:29 +02:00
apple,aic2.yaml dt-bindings: interrupt-controller: apple,aic2: Add apple,t8112-aic compatible 2023-03-28 19:39:05 +09:00
arm,gic-v3.yaml dt-bindings: Fix various typos 2024-09-13 14:01:34 -05:00
arm,gic.yaml dt-bindings: yamllint: Require a space after a comment '#' 2023-03-08 09:04:53 -06:00
arm,nvic.txt
arm,versatile-fpga-irq.txt dt-bindings: interrupt-controller: arm,versatile-fpga-irq: mark oxnas compatible as deprecated 2023-08-14 10:26:56 +02:00
arm,vic.yaml dt-bindings: interrupt-controller: Convert ARM VIC to json-schema 2021-06-24 13:47:26 -06:00
aspeed,ast2xxx-scu-ic.txt dt-bindings: interrupt-controller: Add Aspeed SCU interrupt controller 2020-01-20 19:10:03 +00:00
aspeed,ast2400-i2c-ic.txt
aspeed,ast2400-vic.yaml dt-bindings: interrupt-controller: aspeed,ast2400-vic: Convert to DT schema 2024-08-13 14:19:31 -06:00
aspeed,ast2700-intc.yaml dt-bindings: interrupt-controller: Add support for ASPEED AST27XX INTC 2024-10-17 21:35:28 +02:00
atmel,aic.yaml dt-bindings: interrupt-controller: Add support for sam9x7 aic 2024-10-02 15:36:47 +02:00
brcm,bcm2835-armctrl-ic.txt dt-bindings: Fix typos 2023-08-18 11:32:25 -05:00
brcm,bcm2836-l1-intc.yaml dt-bindings: interrupt-controller: convert bcm2836-l1-intc to yaml 2024-08-20 11:49:16 -07:00
brcm,bcm6345-l1-intc.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
brcm,bcm7038-l1-intc.yaml dt-binding: interrupt-controller: Convert BCM7038 L1 intc to YAML 2021-12-14 14:27:58 -06:00
brcm,bcm7120-l2-intc.yaml dt-bindings: Fix typos 2023-08-18 11:32:25 -05:00
brcm,l2-intc.yaml dt-bindings: interrupt-controller: Convert Broadcom STB L2 to YAML 2021-12-14 14:27:58 -06:00
cdns,xtensa-mx.txt
cdns,xtensa-pic.txt
cirrus,clps711x-intc.txt
csky,apb-intc.txt dt-bindings: interrupt-controller: C-SKY APB intc 2018-10-26 00:54:31 +08:00
csky,mpintc.txt doc: devicetree: bindings: fix spelling mistake 2020-06-18 12:36:53 -06:00
digicolor-ic.txt
ezchip,nps400-ic.txt
faraday,ftintc010.txt
fsl,intmux.yaml dt-bindings: interrupt-controller: fsl,intmux: Include power-domains support 2024-03-06 18:30:59 -06:00
fsl,irqsteer.yaml dt-bindings: interrupt-controller: fsl,irqsteer: Document fsl,imx8qm-irqsteer 2024-09-13 14:01:34 -05:00
fsl,ls-extirq.yaml dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number 2024-10-07 15:09:08 -05:00
fsl,ls-msi.yaml dt-bindings: interrupt-controller: convert fsl,ls-scfg-msi to yaml 2024-07-09 07:40:17 -06:00
fsl,mu-msi.yaml dt-bindings: irqchip: Describe the IMX MU block as a MSI controller 2022-09-29 17:19:36 +01:00
google,goldfish-pic.txt dt-bindings/goldfish-pic: Add device tree binding for Goldfish PIC driver 2018-01-04 11:13:48 +00:00
hisilicon,mbigen-v2.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
idt,32434-pic.yaml dt-bindings: Remove 'Device Tree Bindings' from end of title: 2022-08-25 14:06:57 -05:00
img,pdc-intc.txt dt-bindings: Remove leading 0x from bindings notation 2017-12-06 14:56:33 -06:00
ingenic,intc.yaml dt-bindings: drop redundant part of title (end) 2022-12-16 11:41:49 -06:00
intel,ce4100-ioapic.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
intel,ce4100-lapic.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
intel,ixp4xx-interrupt.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
interrupts.txt of/irq: Document properties for wakeup interrupt parent 2019-11-16 10:20:02 +00:00
jcore,aic.txt
kontron,sl28cpld-intc.yaml dt-bindings: mfd: Add bindings for sl28cpld 2020-09-17 15:57:14 +01:00
loongson,cpu-interrupt-controller.yaml dt-bindings: interrupt-controller: loongarch: Fix mismatched compatible 2023-04-11 14:39:15 -05:00
loongson,eiointc.yaml dt-bindings: interrupt-controller: Add Loongson EIOINTC 2023-06-17 07:16:09 +01:00
loongson,htpic.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
loongson,htvec.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
loongson,liointc.yaml dt-bindings: interrupt-controller: loongson,liointc: Fix dtbs_check warning for interrupt-names 2024-01-17 12:43:00 +08:00
loongson,ls1x-intc.yaml dt-bindings: interrupt-controller: convert loongson,ls1x-intc.txt to json-schema 2023-02-21 10:22:04 -06:00
loongson,pch-msi.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
loongson,pch-pic.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
lsi,zevio-intc.txt
marvell,armada-8k-pic.txt
marvell,gicp.txt
marvell,icu.txt dt-bindings/interrupt-controller: Update Marvell ICU bindings 2018-10-02 12:02:20 +01:00
marvell,mpic.yaml dt-bindings: interrupt-controller: convert marvell,mpic binding to YAML 2024-06-28 17:27:44 +02:00
marvell,odmi-controller.txt dt: fix refs that were renamed to json with the same file name 2019-05-22 09:01:01 -05:00
marvell,orion-intc.txt
marvell,sei.txt dt-bindings/interrupt-controller: Add documentation for Marvell SEI controller 2018-10-02 12:02:43 +01:00
mediatek,mt6577-sysirq.yaml dt-bindings: interrupt-controller: mediatek,mt6577-sysirq: Drop unnecessary quotes 2024-05-03 07:50:05 -05:00
mediatek,mtk-cirq.yaml dt-bindings: interrupt-controller: mediatek,cirq: Document MT8192 2022-11-28 11:43:42 +00:00
microchip,lan966x-oic.yaml dt-bindings: interrupt-controller: Add support for Microchip LAN966x OIC 2024-06-17 15:48:15 +02:00
microchip,pic32-evic.txt
microchip,sama7g5-eic.yaml dt-bindings: interrupt-controller: microchip,sama7g5-eic: use proper naming syntax 2023-06-12 13:31:21 -06:00
mrvl,intc.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
mscc,ocelot-icpu-intr.yaml dt-bindings: interrupt-controller: Drop unneeded quotes 2023-04-04 12:01:52 -05:00
msi-controller.yaml dt-bindings: interrupt-controller: msi: Add msi-ranges property 2021-09-27 11:55:05 -05:00
msi.txt dt-bindings: interrupt-controller: msi: Correct msi-controller@c's reg 2020-03-31 09:03:33 -06:00
mstar,mst-intc.yaml dt-bindings: interrupt-controller: Add MStar interrupt controller 2020-10-10 12:45:16 +01:00
mti,cpu-interrupt-controller.yaml dt-bindings: interrupt-controller: migrate MIPS CPU interrupt controller text bindings to YAML 2022-09-26 14:13:33 -05:00
mti,gic.yaml dt-bindings: Fix JSON pointers 2020-12-18 15:14:44 -06:00
nuvoton,wpcm450-aic.yaml dt-bindings: drop redundant part of title (end, part three) 2022-12-16 11:41:49 -06:00
nvidia,tegra20-ictlr.txt Devicetree updates for 4.19: 2018-08-14 12:41:49 -07:00
nxp,lpc3220-mic.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
open-pic.txt
opencores,or1k-pic.txt
openrisc,ompic.txt
qca,ath79-cpu-intc.txt
qca,ath79-misc-intc.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
qcom,mpm.yaml IRQ subsystem changes for v6.8: 2024-01-08 19:35:04 -08:00
qcom,pdc.yaml dt-bindings: interrupt-controller: qcom-pdc: document support for SA8255p 2024-09-13 14:01:34 -05:00
ralink,rt2880-intc.yaml dt-bindings: interrupt-controller: add Ralink SoCs interrupt controller 2023-06-27 08:14:38 -06:00
rda,8810pl-intc.yaml dt-bindings: interrupt-controller: Convert rda,8810pl-intc to YAML 2022-06-16 12:01:14 -06:00
realtek,rtl-intc.yaml dt-bindings: interrupt-controller: realtek,rtl-intc: Add rtl9300-intc 2024-07-12 13:12:00 +02:00
renesas,intc-irqpin.yaml dt-bindings: irqchip: renesas-intc-irqpin: Convert to json-schema 2020-05-14 21:48:36 -05:00
renesas,irqc.yaml dt-bindings: interrupt-controller: renesas,irqc: Add r8a779g0 support 2024-04-23 11:33:09 -05:00
renesas,rza1-irqc.yaml dt-bindings: irqchip: renesas-rza1-irqc: Convert to json-schema 2020-06-15 10:08:53 -06:00
renesas,rzg2l-irqc.yaml dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/Five SoC 2024-06-05 18:56:53 +02:00
renesas,rzv2h-icu.yaml dt-bindings: interrupt-controller: Add Renesas RZ/V2H(P) Interrupt Controller 2024-10-16 00:01:06 +02:00
riscv,aplic.yaml dt-bindings: interrupt-controller: Add RISC-V advanced PLIC 2024-03-25 17:38:28 +01:00
riscv,cpu-intc.yaml dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema 2024-06-24 13:26:55 -07:00
riscv,imsics.yaml dt-bindings: interrupt-controller: Add RISC-V incoming MSI controller 2024-03-25 17:38:28 +01:00
samsung,exynos4210-combiner.yaml dt-bindings: update Krzysztof Kozlowski's email 2022-04-04 15:43:20 +02:00
sifive,plic-1.0.0.yaml dt-bindings: interrupt-controller: Add SOPHGO SG2002 plic 2024-09-02 08:54:55 +08:00
snps,arc700-intc.txt
snps,archs-idu-intc.txt dt-bindings: IDU-intc: Add support for edge-triggered interrupts 2019-08-26 22:35:51 +05:30
snps,archs-intc.txt
snps,dw-apb-ictl.txt dt-bindings: dw-apb-ictl: Update binding to describe use as primary interrupt controller 2020-09-25 16:49:15 +01:00
socionext,synquacer-exiu.yaml dt-bindings: interrupt-controller: Convert Synquacer EXIU to DT schema 2023-01-08 18:14:17 -06:00
socionext,uniphier-aidet.yaml dt-bindings: interrupt-controller/uniphier-aidet: Add bindings for NX1 SoC 2022-06-09 17:41:57 +01:00
st,spear3xx-shirq.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
st,stih407-irq-syscfg.yaml dt-bindings: correct white-spaces in examples 2023-11-29 14:32:08 -06:00
st,stm32-exti.yaml dt-bindings: interrupt-controller: stm32-exti: Add irq mapping to parent 2024-04-23 00:28:14 +02:00
starfive,jh8100-intc.yaml dt-bindings: interrupt-controller: Add starfive,jh8100-intc 2024-02-26 15:09:18 +01:00
sunplus,sp7021-intc.yaml dt-bindings: interrupt-controller: Add bindings for SP7021 interrupt controller 2022-07-08 14:23:55 +02:00
technologic,ts4800.txt dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
thead,c900-aclint-mswi.yaml dt-bindings: interrupt-controller: Add Sophgo sg2042 CLINT mswi 2023-10-06 14:40:09 +01:00
thead,c900-aclint-sswi.yaml dt-bindings: interrupt-controller: Add T-HEAD C900 ACLINT SSWI device 2024-11-07 00:28:27 +01:00
ti,cp-intc.txt
ti,keystone-irq.txt
ti,omap-intc-irq.txt
ti,omap2-intc.txt
ti,omap4-wugen-mpu dt-bindings: remove 'interrupt-parent' from bindings 2018-07-25 14:09:39 -06:00
ti,pruss-intc.yaml dt-bindings: use capital "OR" for multiple licenses in SPDX 2023-08-23 15:00:31 -05:00
ti,sci-inta.yaml dt-bindings: irqchip: ti,sci-inta: Add optional power-domains property 2023-04-11 08:19:32 -05:00
ti,sci-intr.yaml dt-bindings: interrupt-controller: ti,sci-intr: Fix missing reg property in the binding 2022-09-29 11:13:43 +01:00
via,vt8500-intc.txt