mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge back earlier cpuidle material for 3.19-rc1.
Conflicts: drivers/cpuidle/dt_idle_states.c
This commit is contained in:
commit
0a924200ae
34 changed files with 75 additions and 125 deletions
|
|
@ -73,7 +73,6 @@ static struct cpuidle_driver arm64_idle_driver = {
|
|||
.exit_latency = 1,
|
||||
.target_residency = 1,
|
||||
.power_usage = UINT_MAX,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "WFI",
|
||||
.desc = "ARM64 WFI",
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ static struct cpuidle_driver at91_idle_driver = {
|
|||
.enter = at91_enter_idle,
|
||||
.exit_latency = 10,
|
||||
.target_residency = 10000,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "RAM_SR",
|
||||
.desc = "WFI and DDR Self Refresh",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -67,8 +67,7 @@ static struct cpuidle_driver bl_idle_little_driver = {
|
|||
.enter = bl_enter_powerdown,
|
||||
.exit_latency = 700,
|
||||
.target_residency = 2500,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID |
|
||||
CPUIDLE_FLAG_TIMER_STOP,
|
||||
.flags = CPUIDLE_FLAG_TIMER_STOP,
|
||||
.name = "C1",
|
||||
.desc = "ARM little-cluster power down",
|
||||
},
|
||||
|
|
@ -89,8 +88,7 @@ static struct cpuidle_driver bl_idle_big_driver = {
|
|||
.enter = bl_enter_powerdown,
|
||||
.exit_latency = 500,
|
||||
.target_residency = 2000,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID |
|
||||
CPUIDLE_FLAG_TIMER_STOP,
|
||||
.flags = CPUIDLE_FLAG_TIMER_STOP,
|
||||
.name = "C1",
|
||||
.desc = "ARM big-cluster power down",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ static struct cpuidle_driver calxeda_idle_driver = {
|
|||
{
|
||||
.name = "PG",
|
||||
.desc = "Power Gate",
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.exit_latency = 30,
|
||||
.power_usage = 50,
|
||||
.target_residency = 200,
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@ static struct cpuidle_driver cps_driver = {
|
|||
.enter = cps_nc_enter,
|
||||
.exit_latency = 200,
|
||||
.target_residency = 450,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "nc-wait",
|
||||
.desc = "non-coherent MIPS wait",
|
||||
},
|
||||
|
|
@ -87,8 +86,7 @@ static struct cpuidle_driver cps_driver = {
|
|||
.enter = cps_nc_enter,
|
||||
.exit_latency = 300,
|
||||
.target_residency = 700,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID |
|
||||
CPUIDLE_FLAG_TIMER_STOP,
|
||||
.flags = CPUIDLE_FLAG_TIMER_STOP,
|
||||
.name = "clock-gated",
|
||||
.desc = "core clock gated",
|
||||
},
|
||||
|
|
@ -96,8 +94,7 @@ static struct cpuidle_driver cps_driver = {
|
|||
.enter = cps_nc_enter,
|
||||
.exit_latency = 600,
|
||||
.target_residency = 1000,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID |
|
||||
CPUIDLE_FLAG_TIMER_STOP,
|
||||
.flags = CPUIDLE_FLAG_TIMER_STOP,
|
||||
.name = "power-gated",
|
||||
.desc = "core power gated",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ static struct cpuidle_driver exynos_idle_driver = {
|
|||
.enter = exynos_enter_lowpower,
|
||||
.exit_latency = 300,
|
||||
.target_residency = 100000,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "C1",
|
||||
.desc = "ARM power down",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ static struct cpuidle_driver kirkwood_idle_driver = {
|
|||
.enter = kirkwood_enter_idle,
|
||||
.exit_latency = 10,
|
||||
.target_residency = 100000,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "DDR SR",
|
||||
.desc = "WFI and DDR Self Refresh",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@ static struct cpuidle_driver armadaxp_idle_driver = {
|
|||
.exit_latency = 10,
|
||||
.power_usage = 50,
|
||||
.target_residency = 100,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "MV CPU IDLE",
|
||||
.desc = "CPU power down",
|
||||
},
|
||||
|
|
@ -62,8 +61,7 @@ static struct cpuidle_driver armadaxp_idle_driver = {
|
|||
.exit_latency = 100,
|
||||
.power_usage = 5,
|
||||
.target_residency = 1000,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID |
|
||||
MVEBU_V7_FLAG_DEEP_IDLE,
|
||||
.flags = MVEBU_V7_FLAG_DEEP_IDLE,
|
||||
.name = "MV CPU DEEP IDLE",
|
||||
.desc = "CPU and L2 Fabric power down",
|
||||
},
|
||||
|
|
@ -78,8 +76,7 @@ static struct cpuidle_driver armada370_idle_driver = {
|
|||
.exit_latency = 100,
|
||||
.power_usage = 5,
|
||||
.target_residency = 1000,
|
||||
.flags = (CPUIDLE_FLAG_TIME_VALID |
|
||||
MVEBU_V7_FLAG_DEEP_IDLE),
|
||||
.flags = MVEBU_V7_FLAG_DEEP_IDLE,
|
||||
.name = "Deep Idle",
|
||||
.desc = "CPU and L2 Fabric power down",
|
||||
},
|
||||
|
|
@ -94,7 +91,6 @@ static struct cpuidle_driver armada38x_idle_driver = {
|
|||
.exit_latency = 10,
|
||||
.power_usage = 5,
|
||||
.target_residency = 100,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "Idle",
|
||||
.desc = "CPU and SCU power down",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -93,7 +93,6 @@ static struct cpuidle_state powernv_states[MAX_POWERNV_IDLE_STATES] = {
|
|||
{ /* Snooze */
|
||||
.name = "snooze",
|
||||
.desc = "snooze",
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.exit_latency = 0,
|
||||
.target_residency = 0,
|
||||
.enter = &snooze_loop },
|
||||
|
|
@ -202,7 +201,7 @@ static int powernv_add_idle_states(void)
|
|||
/* Add NAP state */
|
||||
strcpy(powernv_states[nr_idle_states].name, "Nap");
|
||||
strcpy(powernv_states[nr_idle_states].desc, "Nap");
|
||||
powernv_states[nr_idle_states].flags = CPUIDLE_FLAG_TIME_VALID;
|
||||
powernv_states[nr_idle_states].flags = 0;
|
||||
powernv_states[nr_idle_states].exit_latency =
|
||||
((unsigned int)latency_ns) / 1000;
|
||||
powernv_states[nr_idle_states].target_residency =
|
||||
|
|
@ -215,8 +214,7 @@ static int powernv_add_idle_states(void)
|
|||
/* Add FASTSLEEP state */
|
||||
strcpy(powernv_states[nr_idle_states].name, "FastSleep");
|
||||
strcpy(powernv_states[nr_idle_states].desc, "FastSleep");
|
||||
powernv_states[nr_idle_states].flags =
|
||||
CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_TIMER_STOP;
|
||||
powernv_states[nr_idle_states].flags = CPUIDLE_FLAG_TIMER_STOP;
|
||||
powernv_states[nr_idle_states].exit_latency =
|
||||
((unsigned int)latency_ns) / 1000;
|
||||
powernv_states[nr_idle_states].target_residency =
|
||||
|
|
|
|||
|
|
@ -142,14 +142,12 @@ static struct cpuidle_state dedicated_states[] = {
|
|||
{ /* Snooze */
|
||||
.name = "snooze",
|
||||
.desc = "snooze",
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.exit_latency = 0,
|
||||
.target_residency = 0,
|
||||
.enter = &snooze_loop },
|
||||
{ /* CEDE */
|
||||
.name = "CEDE",
|
||||
.desc = "CEDE",
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.exit_latency = 10,
|
||||
.target_residency = 100,
|
||||
.enter = &dedicated_cede_loop },
|
||||
|
|
@ -162,7 +160,6 @@ static struct cpuidle_state shared_states[] = {
|
|||
{ /* Shared Cede */
|
||||
.name = "Shared Cede",
|
||||
.desc = "Shared Cede",
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.exit_latency = 0,
|
||||
.target_residency = 0,
|
||||
.enter = &shared_cede_loop },
|
||||
|
|
|
|||
|
|
@ -101,8 +101,7 @@ static struct cpuidle_driver ux500_idle_driver = {
|
|||
.enter = ux500_enter_idle,
|
||||
.exit_latency = 70,
|
||||
.target_residency = 260,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID |
|
||||
CPUIDLE_FLAG_TIMER_STOP,
|
||||
.flags = CPUIDLE_FLAG_TIMER_STOP,
|
||||
.name = "ApIdle",
|
||||
.desc = "ARM Retention",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@ static struct cpuidle_driver zynq_idle_driver = {
|
|||
.enter = zynq_enter_idle,
|
||||
.exit_latency = 10,
|
||||
.target_residency = 10000,
|
||||
.flags = CPUIDLE_FLAG_TIME_VALID,
|
||||
.name = "RAM_SR",
|
||||
.desc = "WFI and RAM Self Refresh",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -201,7 +201,6 @@ static void poll_idle_init(struct cpuidle_driver *drv)
|
|||
state->exit_latency = 0;
|
||||
state->target_residency = 0;
|
||||
state->power_usage = -1;
|
||||
state->flags = CPUIDLE_FLAG_TIME_VALID;
|
||||
state->enter = poll_idle;
|
||||
state->disabled = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ static int init_state_node(struct cpuidle_state *idle_state,
|
|||
if (err)
|
||||
desc = state_node->name;
|
||||
|
||||
idle_state->flags = CPUIDLE_FLAG_TIME_VALID;
|
||||
idle_state->flags = 0;
|
||||
if (of_property_read_bool(state_node, "local-timer-stop"))
|
||||
idle_state->flags |= CPUIDLE_FLAG_TIMER_STOP;
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ static int ladder_select_state(struct cpuidle_driver *drv,
|
|||
|
||||
last_state = &ldev->states[last_idx];
|
||||
|
||||
if (drv->states[last_idx].flags & CPUIDLE_FLAG_TIME_VALID) {
|
||||
if (!(drv->states[last_idx].flags & CPUIDLE_FLAG_TIME_INVALID)) {
|
||||
last_residency = cpuidle_get_last_residency(dev) - \
|
||||
drv->states[last_idx].exit_latency;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -405,7 +405,7 @@ static void menu_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
|
|||
* the measured amount of time is less than the exit latency,
|
||||
* assume the state was never reached and the exit latency is 0.
|
||||
*/
|
||||
if (unlikely(!(target->flags & CPUIDLE_FLAG_TIME_VALID))) {
|
||||
if (unlikely(target->flags & CPUIDLE_FLAG_TIME_INVALID)) {
|
||||
/* Use timer value as is */
|
||||
measured_us = data->next_timer_us;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue