summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMurali Nalajala <mnalajal@codeaurora.org>2015-05-19 10:26:11 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:07:22 -0700
commitb3445ac6ea92f4751ba5f5671aa2c3fce6b6e55b (patch)
tree1494e2024eeb48250f7bd903ab7ae5006a8afde6 /kernel
parent885262005f3269b595e6c83df99ff1b5ead11106 (diff)
lpm-levels: Do not disable non-sec interrupts in suspend
When the system suspend is happening, last core disables the non-sec interrupts at QGIC by setting the GRPEN1_EL1_NS to ZERO. This makes core not seen any non-sec interrupts and would result into system do not wake up from any of interrupts. Do not touch GRPEN1_EL1_NS register while system is going into suspend. Change-Id: I7d6c5047fb4743df187fe49fba18b64db3179bc9 Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org> Conflicts: drivers/irqchip/irq-gic-common.h
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cpu_pm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/cpu_pm.c b/kernel/cpu_pm.c
index 6c3523f83776..774bfe7a2893 100644
--- a/kernel/cpu_pm.c
+++ b/kernel/cpu_pm.c
@@ -22,6 +22,8 @@
#include <linux/spinlock.h>
#include <linux/syscore_ops.h>
+bool from_suspend = false;
+
static DEFINE_RWLOCK(cpu_pm_notifier_lock);
static RAW_NOTIFIER_HEAD(cpu_pm_notifier_chain);
@@ -208,6 +210,7 @@ static int cpu_pm_suspend(void)
{
int ret;
+ from_suspend = true;
ret = cpu_pm_enter();
if (ret)
return ret;
@@ -218,6 +221,7 @@ static int cpu_pm_suspend(void)
static void cpu_pm_resume(void)
{
+ from_suspend = false;
cpu_cluster_pm_exit(0);
cpu_pm_exit();
}