Reenable "Cr50: Set the default idle action to Sleep"

Cr50 sleep has been fixed so we can now set the default idle action to
sleep.

This reverts commit 734d834bec to add back
commit 9a644c429a.

BUG=chrome-os-partner:54331

Change-Id: I62edffe0823f6d49a50d8e3fbde3d16f075585c8
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/363582
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
Mary Ruthven
2016-07-27 00:20:46 +00:00
committed by chrome-bot
parent 4b202194e9
commit 893e1c0cb7

View File

@@ -13,13 +13,17 @@
/* What to do when we're just waiting */
static enum {
IDLE_WFI, /* default */
DONT_KNOW,
IDLE_WFI,
IDLE_SLEEP,
IDLE_DEEP_SLEEP,
NUM_CHOICES
} idle_action;
#define IDLE_DEFAULT IDLE_SLEEP
static const char const *idle_name[] = {
"invalid",
"wfi",
"sleep",
"deep sleep",
@@ -32,7 +36,7 @@ static int command_idle(int argc, char **argv)
if (argc > 1) {
c = tolower(argv[1][0]);
for (i = 0; i < ARRAY_SIZE(idle_name); i++)
for (i = 1; i < ARRAY_SIZE(idle_name); i++)
if (idle_name[i][0] == c) {
idle_action = i;
break;
@@ -141,10 +145,17 @@ void __idle(void)
{
int sleep_ok, sleep_delay_passed;
/* Preserved across soft reboots, but not hard */
/*
* This register is preserved across soft reboots, but not hard. It
* defaults to zero, which is how we can tell whether this is the
* preserved value or not. We only need to remember it because we might
* change it with the console command.
*/
idle_action = GREG32(PMU, PWRDN_SCRATCH17);
if (idle_action >= NUM_CHOICES)
idle_action = IDLE_WFI;
if (idle_action == DONT_KNOW || idle_action >= NUM_CHOICES) {
idle_action = IDLE_DEFAULT;
GREG32(PMU, PWRDN_SCRATCH17) = idle_action;
}
while (1) {