[PULL] irqdomain/irqchip updates for 4.8

From: Marc Zyngier
Date: Mon Jun 13 2016 - 08:53:45 EST


Hi Thomas,

This is a pull request containing the first bunch of updates for
irqdomain and irqchip.

The most important bit is Jon's PM work, which triggered a number of
interesting bug fixes. The ARM GIC is the first driver to make direct
use of this. Also included in this series is Shanker's work
inproducing 2-level translation tables got the GICv3 ITS.

I've given it a good shake, but given that some of the changes are
subtle enough, I'm eager to let it soak in -next for some time.

Thanks,

M.

The following changes since commit af8c34ce6ae32addda3788d54a7e340cad22516b:

Linux 4.7-rc2 (2016-06-05 14:31:26 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git tags/irqchip-for-4.8

for you to fetch changes up to 3faf24ea894a34887c0ca412f1643540251b9d82:

irqchip/gicv3-its: Implement two-level(indirect) device table support (2016-06-13 11:53:53 +0100)

----------------------------------------------------------------
First drop of irqchip updates for 4.8:

- Fix a few bugs in configuring the default trigger from the irqdomain layer
- Make the genirq layer PM aware
- Add PM capability to the ARM GIC driver
- Add support for 2-level translation tables to the GICv3 ITS driver

----------------------------------------------------------------
Jon Hunter (9):
irqdomain: Fix handling of type settings for existing mappings
genirq: Look-up trigger type if not specified by caller
irqdomain: Don't set type when mapping an IRQ
genirq: Add runtime power management support for IRQ chips
irqchip/gic: Isolate early GIC initialisation code
irqchip/gic: Add helper function for chip initialisation
irqchip/gic: Prepare for adding platform driver
dt-bindings: arm-gic: Add documentation for Tegra210 AGIC
irqchip/gic: Add platform driver for non-root GICs that require RPM

Marc Zyngier (1):
genirq: Look-up percpu trigger type if not specified by caller

Shanker Donthineni (5):
irqchip/gicv3-its: Introduce two helper functions for accessing BASERn
irqchip/gicv3-its: Add a new function for parsing device table BASERn
irqchip/gicv3-its: Split its_alloc_tables() into two functions
irqchip/gicv3-its: Remove an unused argument 'node_name'
irqchip/gicv3-its: Implement two-level(indirect) device table support

.../bindings/interrupt-controller/arm,gic.txt | 3 +-
drivers/irqchip/Kconfig | 6 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-gic-common.c | 4 +-
drivers/irqchip/irq-gic-pm.c | 184 ++++++++++
drivers/irqchip/irq-gic-v3-its.c | 404 +++++++++++++--------
drivers/irqchip/irq-gic.c | 134 +++++--
include/linux/irq.h | 4 +
include/linux/irqchip/arm-gic-v3.h | 4 +
include/linux/irqchip/arm-gic.h | 11 +
include/linux/irqdomain.h | 3 +
kernel/irq/chip.c | 40 ++
kernel/irq/internals.h | 1 +
kernel/irq/irqdomain.c | 58 ++-
kernel/irq/manage.c | 45 ++-
15 files changed, 698 insertions(+), 204 deletions(-)
create mode 100644 drivers/irqchip/irq-gic-pm.c