1
0
Fork 0
alistair23-linux/drivers/irqchip
Marc Zyngier 1c7d4dd46e irqchip/gic: Add save/restore of the active state
When using EOImode==1, we may mark interrupts as being forwarded
to a virtual machine. In that case, the interrupt is left active
while being passed to the VM.

If we suspend the system before the VM has deactivated the interrupt,
the active state will be lost (which may be very annoying, as this
may result in spurious interrupts and a confused guest).

To avoid this, save and restore the active state together with the
rest of the GIC registers.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: <linux-arm-kernel@lists.infradead.org>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/1447701208-18150-5-git-send-email-marc.zyngier@arm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-11-17 14:25:59 +01:00
..
Kconfig irqchip/mxs: Add Alphascale ASM9260 support 2015-10-14 09:37:47 +02:00
Makefile irqchip/mxs: Add Alphascale ASM9260 support 2015-10-14 09:37:47 +02:00
alphascale_asm9260-icoll.h irqchip/mxs: Add Alphascale ASM9260 support 2015-10-14 09:37:47 +02:00
exynos-combiner.c irqdomain: Use irq_domain_get_of_node() instead of direct field access 2015-10-13 19:01:23 +02:00
irq-armada-370-xp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-11-04 09:41:05 -08:00
irq-atmel-aic-common.c irqdomain: Use irq_domain_get_of_node() instead of direct field access 2015-10-13 19:01:23 +02:00
irq-atmel-aic-common.h irqchip: atmel-aic: Add irq fixup for RTT block 2014-11-09 04:36:38 +00:00
irq-atmel-aic.c irqchip: Appropriate __init annotation for const data 2015-07-27 08:09:38 +02:00
irq-atmel-aic5.c irqchip/atmel-aic5: Simplify base chip selection 2015-09-22 16:04:43 +02:00
irq-bcm2835.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-bcm2836.c irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2 2015-08-20 22:38:42 +02:00
irq-bcm7038-l1.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-bcm7120-l2.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-brcmstb-l2.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-clps711x.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-crossbar.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-digicolor.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-dw-apb-ictl.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-gic-common.c irqchip/gic: Make sure all interrupts are deactivated at boot 2015-11-17 14:25:58 +01:00
irq-gic-common.h irqchip/gicv3-its: Add HW revision detection and configuration 2015-09-29 10:10:53 +02:00
irq-gic-v2m.c irqchip/gic-v2m: Add support for multiple MSI frames 2015-10-15 10:18:48 +02:00
irq-gic-v3-its-pci-msi.c irqchip/gic-v3-its: Add handling of PCI requester id. 2015-10-16 13:07:13 +01:00
irq-gic-v3-its-platform-msi.c irqchip/gic-v3-its: Parse new version of msi-parent property 2015-10-16 13:07:15 +01:00
irq-gic-v3-its.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-gic-v3.c irqchip/gic-v3: Fix translation of LPIs after conversion to irq_fwspec 2015-10-15 10:18:48 +02:00
irq-gic.c irqchip/gic: Add save/restore of the active state 2015-11-17 14:25:59 +01:00
irq-hip04.c irqdomain: Use irq_domain_get_of_node() instead of direct field access 2015-10-13 19:01:23 +02:00
irq-i8259.c irqchip/i8259: Convert to use irq_set_chained_handler_and_data 2015-10-01 16:32:54 +02:00
irq-imgpdc.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-imx-gpcv2.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-ingenic.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-keystone.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-metag-ext.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-metag.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-mips-cpu.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-mips-gic.c irqchip: irq-mips-gic: Provide function to map GIC user section 2015-11-11 08:36:38 +01:00
irq-mmp.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-moxart.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-mtk-sysirq.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-mxs.c irqchip/mxs: Add Alphascale ASM9260 support 2015-10-14 09:37:47 +02:00
irq-nvic.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-omap-intc.c irqchip: omap-intc: Improve IRQ handler 2015-07-22 18:37:42 +02:00
irq-or1k-pic.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-orion.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-renesas-h8s.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-renesas-h8300h.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-renesas-intc-irqpin.c irqchip/renesas-intc-irqpin: r8a7778 IRLM setup support 2015-09-30 21:02:22 +02:00
irq-renesas-irqc.c irqchip/renesas-irqc: Move over to nested generic chip 2015-09-29 20:41:00 +02:00
irq-s3c24xx.c irqdomain: Use irq_domain_get_of_node() instead of direct field access 2015-10-13 19:01:23 +02:00
irq-sa11x0.c ARM: kill off set_irq_flags usage 2015-07-28 13:58:13 +02:00
irq-sirfsoc.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-st.c irqchip: st: Supply new driver for STi based devices 2015-03-03 19:48:53 +00:00
irq-sun4i.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-sunxi-nmi.c irqchip/sunxi-nmi: Switch to of_io_request_and_map() from of_iomap() 2015-10-09 22:47:28 +02:00
irq-tb10x.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-tegra.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-11-03 14:40:01 -08:00
irq-versatile-fpga.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-vf610-mscm-ir.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-vic.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-vt8500.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-xtensa-mx.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-xtensa-pic.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-zevio.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irqchip.c irqchip / GIC: Convert the GIC driver to ACPI probing 2015-10-01 02:18:38 +02:00
spear-shirq.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00