Commit 4538fad5 authored by Len Brown's avatar Len Brown

Merge branch 'cpuidle' into test

parents ebd7e45f 89cedfef
...@@ -123,6 +123,9 @@ config GENERIC_TIME_VSYSCALL ...@@ -123,6 +123,9 @@ config GENERIC_TIME_VSYSCALL
config ARCH_HAS_CPU_RELAX config ARCH_HAS_CPU_RELAX
def_bool y def_bool y
config ARCH_HAS_DEFAULT_IDLE
def_bool y
config ARCH_HAS_CACHE_LINE_SIZE config ARCH_HAS_CACHE_LINE_SIZE
def_bool y def_bool y
......
...@@ -1587,6 +1587,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, ...@@ -1587,6 +1587,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
if (acpi_idle_bm_check()) { if (acpi_idle_bm_check()) {
if (dev->safe_state) { if (dev->safe_state) {
dev->last_state = dev->safe_state;
return dev->safe_state->enter(dev, dev->safe_state); return dev->safe_state->enter(dev, dev->safe_state);
} else { } else {
local_irq_disable(); local_irq_disable();
......
...@@ -56,7 +56,11 @@ static void cpuidle_idle_call(void) ...@@ -56,7 +56,11 @@ static void cpuidle_idle_call(void)
if (pm_idle_old) if (pm_idle_old)
pm_idle_old(); pm_idle_old();
else else
#if defined(CONFIG_ARCH_HAS_DEFAULT_IDLE)
default_idle();
#else
local_irq_enable(); local_irq_enable();
#endif
return; return;
} }
...@@ -67,8 +71,11 @@ static void cpuidle_idle_call(void) ...@@ -67,8 +71,11 @@ static void cpuidle_idle_call(void)
target_state = &dev->states[next_state]; target_state = &dev->states[next_state];
/* enter the state and update stats */ /* enter the state and update stats */
dev->last_residency = target_state->enter(dev, target_state);
dev->last_state = target_state; dev->last_state = target_state;
dev->last_residency = target_state->enter(dev, target_state);
if (dev->last_state)
target_state = dev->last_state;
target_state->time += (unsigned long long)dev->last_residency; target_state->time += (unsigned long long)dev->last_residency;
target_state->usage++; target_state->usage++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment