linux-stable/drivers/irqchip
Jiaxun Yang 884945d098 irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
commit 2c6c9c0495 upstream.

When a GIC local interrupt is not routable, it's vl_map will be used
to control some internal states for core (providing IPTI, IPPCI, IPFDC
input signal for core). Overriding it will interfere core's intetrupt
controller.

Do not touch vl_map if a local interrupt is not routable, we are not
going to remap it.

Before dd098a0e03 (" irqchip/mips-gic: Get rid of the reliance on
irq_cpu_online()"), if a local interrupt is not routable, then it won't
be requested from GIC Local domain, and thus gic_all_vpes_irq_cpu_online
won't be called for that particular interrupt.

Fixes: dd098a0e03 (" irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()")
Cc: stable@vger.kernel.org
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230424103156.66753-2-jiaxun.yang@flygoat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-30 16:31:56 +02:00
..
Kconfig irqchip/goldfish-pic: Select GENERIC_IRQ_CHIP to fix build 2021-10-06 15:31:15 +02:00
Makefile irqchip: add a SiFive PLIC driver 2018-08-13 08:31:32 -07:00
alphascale_asm9260-icoll.h
exynos-combiner.c
irq-alpine-msi.c irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains 2023-03-11 16:31:37 +01:00
irq-armada-370-xp.c irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x 2022-06-14 16:59:29 +02:00
irq-aspeed-i2c-ic.c irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value 2022-06-14 16:59:21 +02:00
irq-aspeed-vic.c
irq-ath79-cpu.c
irq-ath79-misc.c Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment" 2019-06-11 12:20:53 +02:00
irq-ativic32.c irqchip: Andestech Internal Vector Interrupt Controller driver 2018-02-22 10:44:36 +08:00
irq-atmel-aic-common.c
irq-atmel-aic-common.h
irq-atmel-aic.c
irq-atmel-aic5.c
irq-bcm2835.c
irq-bcm2836.c
irq-bcm6345-l1.c irq-bcm6345-l1: Do not assume a fixed block to cpu mapping 2023-08-11 11:45:35 +02:00
irq-bcm7038-l1.c irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary 2020-01-04 19:12:52 +01:00
irq-bcm7120-l2.c irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts 2023-03-11 16:31:39 +01:00
irq-brcmstb-l2.c irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts 2023-03-11 16:31:39 +01:00
irq-clps711x.c
irq-crossbar.c
irq-digicolor.c
irq-dw-apb-ictl.c
irq-eznps.c
irq-ftintc010.c
irq-gic-common.c irqchip/gic: Take lock when updating irq type 2018-03-29 11:47:50 +01:00
irq-gic-common.h
irq-gic-pm.c irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe() 2023-01-18 11:30:06 +01:00
irq-gic-realview.c irqchip/gic/realview: Fix refcount leak in realview_gic_of_init 2022-06-25 11:49:16 +02:00
irq-gic-v2m.c irqchip/gic-v2m: Fix SPI release on error path 2018-06-22 14:22:00 +02:00
irq-gic-v3-its-fsl-mc-msi.c irqchip/gic-v3-its: Move minimum LPI requirements to individual busses 2018-07-16 14:22:19 +01:00
irq-gic-v3-its-pci-msi.c irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices 2018-07-27 10:01:24 +01:00
irq-gic-v3-its-platform-msi.c irqchip/gic-v3-its: Move minimum LPI requirements to individual busses 2018-07-16 14:22:19 +01:00
irq-gic-v3-its.c irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL 2021-12-14 10:18:10 +01:00
irq-gic-v3-mbi.c irqchip/gic-v3: Fix OF_BAD_ADDR error handling 2021-05-22 10:59:30 +02:00
irq-gic-v3.c irqchip/gic-v3: Fix refcount leak in gic_populate_ppi_partitions 2022-06-25 11:49:16 +02:00
irq-gic-v4.c
irq-gic.c irqchip/gic: Atomically update affinity 2020-07-09 09:37:12 +02:00
irq-goldfish-pic.c
irq-hip04.c
irq-i8259.c
irq-imgpdc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
irq-imx-gpcv2.c irqchip/irq-imx-gpcv2: Forward irq type to parent 2019-08-25 10:47:53 +02:00
irq-ingenic.c irqchip: ingenic: Error out if IRQ domain creation failed 2020-01-04 19:12:52 +01:00
irq-jcore-aic.c irqchip/jcore-aic: Fix missing allocation of IRQ descriptors 2023-08-11 11:45:02 +02:00
irq-keystone.c
irq-lpc32xx.c
irq-ls-scfg-msi.c irqchip/ls-scfg-msi: Fix MSI affinity handling 2018-06-22 14:22:00 +02:00
irq-mbigen.c irqchip/mbigen: Free msi_desc on device teardown 2020-04-23 10:30:13 +02:00
irq-meson-gpio.c irqchip/meson-gpio: Mark OF related data as maybe unused 2023-06-21 15:39:56 +02:00
irq-mips-cpu.c irqchip/mips-cpu: Set IPI domain parent chip 2021-01-27 11:05:40 +01:00
irq-mips-gic.c irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable 2023-08-30 16:31:56 +02:00
irq-mmp.c irqchip/mmp: Only touch the PJ4 IRQ & FIQ bits on enable/disable 2019-03-13 14:02:35 -07:00
irq-mscc-ocelot.c irqchip: Add a driver for the Microsemi Ocelot controller 2018-03-22 15:52:27 +00:00
irq-mtk-cirq.c
irq-mtk-sysirq.c irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock 2020-08-19 08:14:52 +02:00
irq-mvebu-gicp.c irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe 2023-03-11 16:31:37 +01:00
irq-mvebu-icu.c irqchip/irq-mvebu-icu: Fix wrong private data retrieval 2019-11-24 08:19:40 +01:00
irq-mvebu-odmi.c
irq-mvebu-pic.c
irq-mxs.c
irq-nvic.c irqchip/nvic: Release nvic_base upon failure 2022-04-15 14:14:54 +02:00
irq-omap-intc.c
irq-ompic.c
irq-or1k-pic.c irqchip: or1k-pic: Undefine mask_ack for level triggered hardware 2022-07-21 21:09:31 +02:00
irq-orion.c
irq-partition-percpu.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-pic32-evic.c
irq-renesas-h8s.c h8300: irqchip: fix warning 2018-08-22 19:14:19 +09:00
irq-renesas-h8300h.c
irq-renesas-intc-irqpin.c irqchip/renesas-intc-irqpin: Use wakeup_path i.s.o. explicit clock handling 2018-03-14 11:11:15 +00:00
irq-renesas-irqc.c irqchip/renesas-irqc: Use wakeup_path i.s.o. explicit clock handling 2018-03-14 11:11:21 +00:00
irq-s3c24xx.c ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc() 2021-11-26 11:36:12 +01:00
irq-sa11x0.c
irq-sifive-plic.c irqchip/sifive-plic: Add missing thead,c900-plic match string 2022-02-23 11:58:41 +01:00
irq-sirfsoc.c
irq-sni-exiu.c
irq-st.c
irq-stm32-exti.c irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by mistake 2020-09-03 11:24:29 +02:00
irq-sun4i.c
irq-sunxi-nmi.c
irq-tango.c irqchip/tango: Set irq handler and data in one go 2018-08-20 09:54:44 +01:00
irq-tb10x.c
irq-tegra.c irqchip/tegra: Fix overflow implicit truncation warnings 2022-08-25 11:15:43 +02:00
irq-ts4800.c
irq-uniphier-aidet.c
irq-versatile-fpga.c irqchip/versatile-fpga: Apply clear-mask earlier 2020-04-17 10:48:46 +02:00
irq-vf610-mscm-ir.c
irq-vic.c
irq-vt8500.c
irq-xilinx-intc.c
irq-xtensa-mx.c irqchip: irq-xtensa-mx: fix initial IRQ affinity 2022-06-14 16:59:29 +02:00
irq-xtensa-pic.c xtensa: drop variant IRQ support 2018-08-20 12:28:05 -07:00
irq-zevio.c
irqchip.c
qcom-irq-combiner.c irqchip/qcom: Fix check for spurious interrupts 2018-05-02 15:56:10 +02:00
qcom-pdc.c irqchip/qcom-pdc: Fix broken locking 2022-04-15 14:14:54 +02:00
spear-shirq.c