linux/drivers/irqchip
Thomas Gleixner 1513782510 irqchip/gic-v3: Make gic_irq_domain_select() robust for zero parameter count
Currently the irqdomain select callback is only invoked when the parameter
count of the fwspec arguments is not zero. That makes sense because then
the match is on the firmware node and eventually on the bus_token, which is
already handled in the core code.

The upcoming support for per device MSI domains requires to do real bus
token specific checks in the MSI parent domains with a zero parameter
count.

Make the gic-v3 select() callback handle that case.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20240127161753.114685-2-apatel@ventanamicro.com
2024-02-15 17:55:39 +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 Merge branch irq/generic_handle_domain_irq-core into irq/irqchip-next 2021-06-11 14:32:12 +01:00
irq-al-fic.c irqchip/al-fic: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
irq-alpine-msi.c Merge branch irq/irqdomain-locking into irq/irqchip-next 2023-02-13 19:39:25 +00:00
irq-apple-aic.c ARM: 2023-02-25 11:30:21 -08:00
irq-armada-370-xp.c irqchip: Use irq_domain_alloc_irqs() 2023-01-11 19:51:39 +01:00
irq-aspeed-i2c-ic.c irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value 2022-05-04 16:37:48 +01:00
irq-aspeed-scu-ic.c irqchip/aspeed-scu-ic: Correctly initialise status and enable registers 2023-02-05 10:55:19 +00:00
irq-aspeed-vic.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01: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: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
irq-atmel-aic-common.c
irq-atmel-aic-common.h
irq-atmel-aic.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-atmel-aic5.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-bcm2835.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-bcm2836.c irqchip: Use irq_domain_alloc_irqs() 2023-01-11 19:51:39 +01:00
irq-bcm6345-l1.c irqchip updates for v6.6 2023-08-28 11:33:03 +02:00
irq-bcm7038-l1.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-bcm7120-l2.c irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts 2023-02-18 14:23:41 +00:00
irq-brcmstb-l2.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-clps711x.c irqchip/clps711x: Remove unused clps711x_intc_init() function 2023-06-17 07:21:08 +01:00
irq-crossbar.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
irq-csky-apb-intc.c irqchip: Use of_property_read_bool() for boolean properties 2023-04-08 11:07:49 +01:00
irq-csky-mpintc.c irqchip/csky-mpintc: Fixup mask/unmask implementation 2021-11-12 16:09:50 +00:00
irq-davinci-cp-intc.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-digicolor.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-dw-apb-ictl.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-ftintc010.c irqchip/ftintc010: Mark all function static 2023-06-17 07:20:52 +01:00
irq-gic-common.c irqchip/gic: Correctly validate OF quirk descriptors 2023-05-30 11:01:22 +01:00
irq-gic-common.h irqchip/gic-v3: Enable non-coherent redistributors/ITSes DT probing 2023-10-07 12:47:12 +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: Use of_property_read_bool() for boolean properties 2023-04-08 11:07:49 +01:00
irq-gic-v3-its-fsl-mc-msi.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-gic-v3-its-pci-msi.c PCI/MSI: Make pci_msi_domain_write_msg() static 2021-12-09 11:52:20 +01:00
irq-gic-v3-its-platform-msi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
irq-gic-v3-its.c mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDER 2024-01-08 15:27:15 -08:00
irq-gic-v3-mbi.c irqchip/gic-v3-mbi: Use irq_domain_create_hierarchy() 2023-02-13 19:31:25 +00:00
irq-gic-v3.c irqchip/gic-v3: Make gic_irq_domain_select() robust for zero parameter count 2024-02-15 17:55:39 +01:00
irq-gic-v4.c sched.h: move pid helpers to pid.h 2023-12-20 19:26:31 -05:00
irq-gic.c irqchip/gic: Drop support for board files 2023-04-08 10:50:04 +01:00
irq-goldfish-pic.c irqchip: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
irq-hip04.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-i8259.c irqchipr/i8259: Mark i8259_of_init() static 2023-08-21 17:40:30 +01:00
irq-idt3243x.c irqchip: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
irq-imgpdc.c Merge branch irq/generic_handle_domain_irq-core into irq/irqchip-next 2021-06-11 14:32:12 +01:00
irq-imx-gpcv2.c irqchip/irq-imx-gpcv2: Mark fwnode device as not initialized 2023-02-08 13:37:55 +01:00
irq-imx-intmux.c irqchip/imx-intmux: Annotate struct intmux_data with __counted_by 2023-10-08 22:46:04 -07:00
irq-imx-irqsteer.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-imx-mu-msi.c irqchip/imx-mu-msi: Do not check for 0 return after calling platform_get_irq() 2023-08-21 17:42:00 +01:00
irq-ingenic-tcu.c irqchip/ingenic-tcu: Use correctly sized arguments for bit field 2021-12-16 15:19:52 +00:00
irq-ingenic.c irqchip: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
irq-ixp4xx.c irq/gpio: ixp4xx: Drop boardfile probe path 2022-04-25 20:53:18 +02:00
irq-jcore-aic.c irqchip/jcore-aic: Fix missing allocation of IRQ descriptors 2023-06-17 07:54:48 +01:00
irq-keystone.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-loongarch-cpu.c Merge branch irq/loongarch-of into irq/irqchip-next 2022-12-05 10:45:11 +00:00
irq-loongson-eiointc.c irqchip/loongson-eiointc: Fix return value checking of eiointc_index 2023-08-21 17:39:21 +01:00
irq-loongson-htpic.c irqchip: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
irq-loongson-htvec.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-loongson-liointc.c irqchip/loongson-liointc: Add IRQCHIP_SKIP_SET_WAKE flag 2023-06-16 12:59:28 +01:00
irq-loongson-pch-lpc.c irqchip/loongson-pch-lpc: Add suspend/resume support 2022-11-26 13:12:13 +00:00
irq-loongson-pch-msi.c irqchip/loongson-pch-msi: Use irq_domain_create_hierarchy() 2023-02-13 19:31:25 +00:00
irq-loongson-pch-pic.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-lpc32xx.c irqchip/lpc32xx: Switch to dynamic chip name output 2022-02-15 11:25:46 +00:00
irq-ls-extirq.c irqchip/ls-extirq: Fix endianness detection 2022-12-05 10:39:52 +00:00
irq-ls-scfg-msi.c irqchip/ls-scfg-msi: Use device_get_match_data() 2023-10-27 09:15:44 +02:00
irq-ls1x.c irqchip: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
irq-madera.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-mbigen.c irqchip/mbigen: Unify the error handling in mbigen_of_create_domain() 2023-05-16 11:19:29 +01:00
irq-mchp-eic.c irqchip/mchp-eic: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:52 -07:00
irq-meson-gpio.c irqchip: Add support for Amlogic-C3 SoCs 2023-08-21 17:49:12 +01:00
irq-mips-cpu.c irqchip/mips: Fix RCU violation when using irqdomain lookup on interrupt entry 2021-07-09 10:18:58 +01:00
irq-mips-gic.c irqchip/mips-gic: Mark gic_irq_domain_free() static 2023-08-21 17:40:20 +01:00
irq-mmp.c irqchip/mmp: Remove non-DT codepath 2023-06-17 07:21:02 +01:00
irq-mscc-ocelot.c irqchip: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
irq-mst-intc.c irqchip/irq-mst: Support polarity configuration 2021-04-07 13:26:00 +01:00
irq-mtk-cirq.c irqchip/irq-mtk-cirq: Add support for System CIRQ on MT8192 2022-11-28 11:44:02 +00:00
irq-mtk-sysirq.c irqchip/mtk-sysirq: Skip setting irq-wake 2021-08-12 08:15:15 +01:00
irq-mvebu-gicp.c irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe 2023-02-05 11:11:24 +00:00
irq-mvebu-icu.c irqchip/irq-mvebu-icu: Fix works by chance pointer assignment 2022-12-06 12:50:17 +01:00
irq-mvebu-odmi.c irqchip/mvebu-odmi: Use irq_domain_create_hierarchy() 2023-02-13 19:31:25 +00:00
irq-mvebu-pic.c irqchip/mvebu-pic: Switch to dynamic chip name output 2022-02-15 11:25:46 +00:00
irq-mvebu-sei.c irqchip/irq-mvebu-sei: Use devm_platform_get_and_ioremap_resource() 2023-08-21 17:49:11 +01:00
irq-mxs.c Revert "irqchip/mxs: Include linux/irqchip/mxs.h" 2023-06-21 13:50:53 +01:00
irq-nvic.c ARM development updates for 5.18: 2022-03-23 17:35:57 -07:00
irq-omap-intc.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-ompic.c
irq-or1k-pic.c irqchip: or1k-pic: Undefine mask_ack for level triggered hardware 2022-06-28 17:31:15 +09:00
irq-orion.c irqchip/orion: Use of_address_count() helper 2023-08-21 17:48:59 +01:00
irq-owl-sirq.c irqchip: Add Actions Semi Owl SIRQ controller 2020-09-25 16:57:33 +01:00
irq-partition-percpu.c irqchip/partitions: Switch to bitmap_zalloc() 2021-07-26 18:01:27 +01:00
irq-pic32-evic.c irqchip/mips: Fix RCU violation when using irqdomain lookup on interrupt entry 2021-07-09 10:18:58 +01:00
irq-pruss-intc.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-qcom-mpm.c irqchip/qcom-mpm: Support passing a slice of SRAM as reg space 2023-12-12 15:40:42 +01:00
irq-rda-intc.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-realtek-rtl.c irqchip/realtek-rtl: use parent interrupts 2022-09-28 14:17:10 +01:00
irq-renesas-intc-irqpin.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-renesas-irqc.c irqchip: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:52 -07:00
irq-renesas-rza1.c irqchip: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:52 -07:00
irq-renesas-rzg2l.c irqchip/renesas-rzg2l: Add support for suspend to RAM 2023-12-12 15:40:41 +01:00
irq-riscv-intc.c irqchip/riscv-intc: Mark all INTC nodes as initialized 2023-10-07 12:47:12 +01:00
irq-sa11x0.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-sifive-plic.c irqchip/sifive-plic: Fix syscore registration for multi-socket systems 2023-10-27 10:09:15 +02: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/exiu: Fix acknowledgment of edge triggered interrupts 2022-05-04 16:33:17 +01:00
irq-sp7021-intc.c irqchip: Add Sunplus SP7021 interrupt controller driver 2022-07-08 14:23:57 +02:00
irq-st.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-stm32-exti.c irqchip/stm32-exti: add missing DT IRQ flag translation 2023-10-07 12:47:12 +01:00
irq-sun4i.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-sun6i-r.c irqchip/sun6i-r: Use NULL for chip_data 2022-05-04 16:36:59 +01:00
irq-sunxi-nmi.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-tb10x.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-tegra.c irqchip/tegra: Fix overflow implicit truncation warnings 2022-06-15 17:41:11 +02:00
irq-ti-sci-inta.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-ti-sci-intr.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-ts4800.c irqchip/ts4800: Switch to dynamic chip name output 2022-02-15 11:25:46 +00:00
irq-uniphier-aidet.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
irq-versatile-fpga.c irqchip: irq-versatile-fpga: remove obsolete oxnas compatible 2023-08-14 10:26:56 +02:00
irq-vf610-mscm-ir.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
irq-vic.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-vt8500.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irq-wpcm450-aic.c irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init() 2022-11-26 13:29:48 +00:00
irq-xilinx-intc.c irqchip/xilinx: Switch to GENERIC_IRQ_MULTI_HANDLER 2022-03-04 14:32:57 +00:00
irq-xtensa-mx.c irqchip: irq-xtensa-mx: include header for missing prototype 2023-09-20 05:03:20 -07:00
irq-xtensa-pic.c irqchip/irq-xtensa-pic: Clean up 2023-12-12 15:45:39 +01:00
irq-zevio.c irq: remove handle_domain_{irq,nmi}() 2021-10-26 10:13:31 +01:00
irqchip.c irqchip: Explicitly include correct DT includes 2023-08-21 17:49:11 +01:00
Kconfig Documentation work keeps chugging along; stuff for 6.6 includes: 2023-08-30 20:05:42 -07:00
Makefile irqchip: remove davinci aintc driver 2023-01-12 10:53:12 +01:00
qcom-irq-combiner.c irqchip: Bulk conversion to generic_handle_domain_irq() 2021-06-10 13:09:19 +01:00
qcom-pdc.c irqchip/qcom-pdc: Add support for v3.2 HW 2023-09-12 13:38:08 +01:00
spear-shirq.c irqchip/spear-shirq: Add support for IRQ 0..6 2021-12-16 13:29:44 +00:00