Loading drivers/irqchip/irq-gic-common.h +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ struct gic_quirk { u32 iidr; u32 mask; }; extern bool from_suspend; #ifdef CONFIG_QCOM_SHOW_RESUME_IRQ extern int msm_show_resume_irq_mask; Loading drivers/irqchip/irq-gic-v3.c +3 −0 Original line number Diff line number Diff line Loading @@ -894,6 +894,9 @@ static bool gic_dist_security_disabled(void) static int gic_cpu_pm_notifier(struct notifier_block *self, unsigned long cmd, void *v) { if (from_suspend) return NOTIFY_OK; if (cmd == CPU_PM_EXIT) { if (gic_dist_security_disabled()) gic_enable_redist(true); Loading kernel/cpu_pm.c +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ #include <linux/spinlock.h> #include <linux/syscore_ops.h> bool from_suspend; static ATOMIC_NOTIFIER_HEAD(cpu_pm_notifier_chain); static int cpu_pm_notify(enum cpu_pm_event event, int nr_to_call, int *nr_calls) Loading Loading @@ -181,6 +183,7 @@ static int cpu_pm_suspend(void) { int ret; from_suspend = true; ret = cpu_pm_enter(); if (ret) return ret; Loading @@ -191,6 +194,7 @@ static int cpu_pm_suspend(void) static void cpu_pm_resume(void) { from_suspend = false; cpu_cluster_pm_exit(); cpu_pm_exit(); } Loading Loading
drivers/irqchip/irq-gic-common.h +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ struct gic_quirk { u32 iidr; u32 mask; }; extern bool from_suspend; #ifdef CONFIG_QCOM_SHOW_RESUME_IRQ extern int msm_show_resume_irq_mask; Loading
drivers/irqchip/irq-gic-v3.c +3 −0 Original line number Diff line number Diff line Loading @@ -894,6 +894,9 @@ static bool gic_dist_security_disabled(void) static int gic_cpu_pm_notifier(struct notifier_block *self, unsigned long cmd, void *v) { if (from_suspend) return NOTIFY_OK; if (cmd == CPU_PM_EXIT) { if (gic_dist_security_disabled()) gic_enable_redist(true); Loading
kernel/cpu_pm.c +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ #include <linux/spinlock.h> #include <linux/syscore_ops.h> bool from_suspend; static ATOMIC_NOTIFIER_HEAD(cpu_pm_notifier_chain); static int cpu_pm_notify(enum cpu_pm_event event, int nr_to_call, int *nr_calls) Loading Loading @@ -181,6 +183,7 @@ static int cpu_pm_suspend(void) { int ret; from_suspend = true; ret = cpu_pm_enter(); if (ret) return ret; Loading @@ -191,6 +194,7 @@ static int cpu_pm_suspend(void) static void cpu_pm_resume(void) { from_suspend = false; cpu_cluster_pm_exit(); cpu_pm_exit(); } Loading