]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/gicv3: Remove disabling redistributor and group1 non-secure interrupts
authorSudeep Holla <sudeep.holla@arm.com>
Wed, 17 Aug 2016 12:49:19 +0000 (13:49 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 17 Aug 2016 17:33:07 +0000 (18:33 +0100)
commit0469fbe8c1795cb930153611dbe783aed342d0f3
tree67d375b1dfaf6e4268c9f05e6e726f00d7b6c575
parentd08a5017718247f396e29ee96ffe805aebb5e506
irqchip/gicv3: Remove disabling redistributor and group1 non-secure interrupts

As per the GICv3 specification, to power down a processor using GICv3
and allow automatic power-on if an interrupt must be sent to a processor,
software must set Enable to zero for all interrupt groups(by writing
to GICC_CTLR or ICC_IGRPEN{0,1}_EL1/3 as appropriate.

When commit fdbef035c8df ("irqchip: gic-v3: Implement CPU PM notifier")
was introduced there were no firmware implementations(in particular PSCI)
handling this.

Linux kernel may not be aware of the CPU power state details and might
fail to identify the power states that require quiescing the CPU
interface. Even if it can be aware of those details, it can't determine
which CPU power state have been triggered at the platform level and how
the power control is implemented.

This patch make disabling redistributor and group1 non-secure interrupts
in the power down path and re-enabling of redistributor in the power-up
path conditional. It will be handled in the kernel if and only if the
non-secure accesses are permitted to access and modify control registers.
It is left to the platform implementation otherwise.

Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Tested-by: Christopher Covington <cov@codeaurora.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-gic-v3.c