|
@@ -124,7 +124,6 @@ struct menu_device {
|
|
|
|
|
|
unsigned int next_timer_us;
|
|
|
unsigned int predicted_us;
|
|
|
- unsigned int exit_us;
|
|
|
unsigned int bucket;
|
|
|
unsigned int correction_factor[BUCKETS];
|
|
|
unsigned int intervals[INTERVALS];
|
|
@@ -298,7 +297,6 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev)
|
|
|
}
|
|
|
|
|
|
data->last_state_idx = 0;
|
|
|
- data->exit_us = 0;
|
|
|
|
|
|
/* Special case when user has set very strict latency requirement */
|
|
|
if (unlikely(latency_req == 0))
|
|
@@ -359,7 +357,6 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev)
|
|
|
continue;
|
|
|
|
|
|
data->last_state_idx = i;
|
|
|
- data->exit_us = s->exit_latency;
|
|
|
}
|
|
|
|
|
|
return data->last_state_idx;
|
|
@@ -410,8 +407,8 @@ static void menu_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
|
|
|
* We correct for the exit latency; we are assuming here that the
|
|
|
* exit latency happens after the event that we're interested in.
|
|
|
*/
|
|
|
- if (measured_us > data->exit_us)
|
|
|
- measured_us -= data->exit_us;
|
|
|
+ if (measured_us > target->exit_latency)
|
|
|
+ measured_us -= target->exit_latency;
|
|
|
|
|
|
|
|
|
/* Update our correction ratio */
|