mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
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 prevents the core from detecting any non-sec interrupts and ithat would result in the system not waking up from any of interrupts. Do not modify GRPEN1_EL1_NS register when the system is going into suspend. Change-Id: I7d6c5047fb4743df187fe49fba18b64db3179bc9 Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org> Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
This commit is contained in:
parent
038b5bef76
commit
d3ba44934f
@ -27,6 +27,8 @@ struct gic_quirk {
|
||||
u32 iidr;
|
||||
u32 mask;
|
||||
};
|
||||
extern bool from_suspend;
|
||||
extern struct irq_chip gic_arch_extn;
|
||||
|
||||
int gic_configure_irq(unsigned int irq, unsigned int type,
|
||||
void __iomem *base, void (*sync_access)(void));
|
||||
|
@ -744,6 +744,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);
|
||||
|
@ -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,
|
||||
@ -184,6 +186,7 @@ static int cpu_pm_suspend(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
from_suspend = true;
|
||||
ret = cpu_pm_enter();
|
||||
if (ret)
|
||||
return ret;
|
||||
@ -194,6 +197,7 @@ static int cpu_pm_suspend(void)
|
||||
|
||||
static void cpu_pm_resume(void)
|
||||
{
|
||||
from_suspend = false;
|
||||
cpu_cluster_pm_exit(0);
|
||||
cpu_pm_exit();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user