drivers: lpm-levels: Use cpu_do_idle for shallower LPM entry

dsb should be invoked before wfi instruction without which
core can get stuck or do not respond to IPIs. Use cpu_do_idle
that invokes both dsb and wfi instructions for shallower mode
entry.

Change-Id: I2e9d2317048781590a626a0b3d93f23bbf9eb496
Signed-off-by: Raghavendra Kakarla <rkakarla@codeaurora.org>
This commit is contained in:
Raghavendra Kakarla 2020-01-09 19:09:13 +05:30 committed by Gerrit - the friendly Code Review server
parent 4d796e7914
commit 46a5d61d7c

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
* Copyright (C) 2006-2007 Adam Belay <abelay@novell.com>
* Copyright (C) 2009 Intel Corporation
*/
@ -1118,7 +1118,7 @@ static bool psci_enter_sleep(struct lpm_cpu *cpu, int idx, bool from_idle)
if (!idx) {
stop_critical_timings();
wfi();
cpu_do_idle();
start_critical_timings();
return true;
}