linux/drivers/irqchip
Marc Zyngier 021f653791 irqchip: gic-v3: Initial support for GICv3
The Generic Interrupt Controller (version 3) offers services that are
similar to GICv2, with a number of additional features:
- Affinity routing based on the CPU MPIDR (ARE)
- System register for the CPU interfaces (SRE)
- Support for more that 8 CPUs
- Locality-specific Peripheral Interrupts (LPIs)
- Interrupt Translation Services (ITS)

This patch adds preliminary support for GICv3 with ARE and SRE,
non-secure mode only. It relies on higher exception levels to grant ARE
and SRE access.

Support for LPI and ITS will be added at a later time.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Reviewed-by: Zi Shen Lim <zlim@broadcom.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Reviewed-by: Tirumalesh Chalamarla <tchalamarla@cavium.com>
Reviewed-by: Yun Wu <wuyun.wu@huawei.com>
Reviewed-by: Zhen Lei <thunder.leizhen@huawei.com>
Tested-by: Tirumalesh Chalamarla<tchalamarla@cavium.com>
Tested-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
Acked-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lkml.kernel.org/r/1404140510-5382-3-git-send-email-marc.zyngier@arm.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-07-08 22:11:47 +00:00
..
exynos-combiner.c irqchip: exynos-combiner: call handle_bad_irq directly 2014-02-14 07:27:40 +09:00
irq-armada-370-xp.c mvebu SoC changes for v3.16 2014-05-19 21:59:55 -07:00
irq-bcm2835.c irqchip: Remove asmlinkage from static functions 2014-03-12 13:00:41 +01:00
irq-brcmstb-l2.c irqchip: brcmstb-l2: Add Broadcom Set Top Box Level-2 interrupt controller 2014-05-27 14:43:06 +00:00
irq-clps711x.c ARM: clps711x: Add CLPS711X irqchip driver 2014-02-28 17:27:30 +01:00
irq-crossbar.c irqchip: irq-crossbar: Not allocating enough memory 2014-04-28 21:43:24 +02:00
irq-dw-apb-ictl.c irqchip: add DesignWare APB ICTL interrupt controller 2013-12-13 16:29:40 +01:00
irq-gic-common.c irqchip: gic: Move some bits of GICv2 to a library-type file 2014-07-08 21:49:14 +00:00
irq-gic-common.h irqchip: gic: Move some bits of GICv2 to a library-type file 2014-07-08 21:49:14 +00:00
irq-gic-v3.c irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
irq-gic.c irqchip: gic: Move some bits of GICv2 to a library-type file 2014-07-08 21:49:14 +00:00
irq-imgpdc.c irq-imgpdc: add ImgTec PDC irqchip driver 2013-08-21 14:17:56 +01:00
irq-metag-ext.c irq-metag*: stop set_affinity vectoring to offline cpus 2014-02-25 22:35:06 +00:00
irq-metag.c irq-metag*: stop set_affinity vectoring to offline cpus 2014-02-25 22:35:06 +00:00
irq-mmp.c ARM: SoC: cleanups for 3.15 2014-04-05 13:51:19 -07:00
irq-moxart.c irqchip: Remove asmlinkage from static functions 2014-03-12 13:00:41 +01:00
irq-mxs.c irqchip: mxs: Fix function type for IRQCHIP_OF_DECLARE 2014-05-20 14:25:23 -05:00
irq-nvic.c irqchip: nvic: Fix wrong num_ct argument for irq_alloc_domain_generic_chips() 2013-07-05 11:39:24 +02:00
irq-orion.c irqchip: orion: Reverse irq handling priority 2014-05-08 14:42:09 +00:00
irq-renesas-intc-irqpin.c irqchip: renesas-intc-irqpin: Fix register bitfield shift calculation 2013-11-24 15:55:17 +09:00
irq-renesas-irqc.c irqchip: renesas-irqc: Enable mask on suspend 2014-01-22 21:48:55 +01:00
irq-s3c24xx.c irqchip: s3c24xx: Fix function type for IRQCHIP_OF_DECLARE 2014-05-20 14:25:23 -05:00
irq-sirfsoc.c irqchip: sirf: fix one minor checkpatch issue 2014-05-12 21:43:49 +08:00
irq-sun4i.c irqchip: sun4i: Simplify sun4i_irq_ack 2014-03-19 12:34:29 +01:00
irq-sunxi-nmi.c irqchip: sun7i/sun6i: Disable NMI before registering the handler 2014-03-31 11:12:57 +02:00
irq-tb10x.c irqchip: Add TB10x interrupt controller driver 2013-06-25 18:54:21 +02:00
irq-versatile-fpga.c irqchip: versatile FPGA: support cascaded interrupts from DT 2014-01-03 22:26:13 +01:00
irq-vic.c irqchip: vic: Properly chain the cascaded IRQs 2014-04-15 18:24:24 +02:00
irq-vt8500.c irqchip: Remove asmlinkage from static functions 2014-03-12 13:00:41 +01:00
irq-xtensa-mx.c irqchip: xtensa: Select only an online cpu 2014-03-04 17:37:55 +01:00
irq-xtensa-pic.c xtensa: move built-in PIC to drivers/irqchip 2014-01-14 10:19:56 -08:00
irq-zevio.c irqchip: Remove asmlinkage from static functions 2014-03-12 13:00:41 +01:00
irqchip.c irqchip: align irqchip OF match table section naming 2014-05-20 14:24:40 -05:00
irqchip.h of: consolidate linker section OF match table declarations 2014-05-20 14:25:24 -05:00
Kconfig irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
Makefile irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
spear-shirq.c Shiraz has moved 2014-04-18 16:40:08 -07:00