power: policy: Account exit latency
Account exit latency time in the residency policy. Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
This commit is contained in:
parent
e2d25bf031
commit
fba5779a8d
@ -20,13 +20,21 @@ struct pm_state_info pm_policy_next_state(int32_t ticks)
|
||||
int i;
|
||||
|
||||
for (i = ARRAY_SIZE(pm_min_residency) - 1; i >= 0; i--) {
|
||||
uint32_t min_residency, exit_latency;
|
||||
|
||||
if (!pm_constraint_get(pm_min_residency[i].state)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
min_residency = k_us_to_ticks_ceil32(
|
||||
pm_min_residency[i].min_residency_us);
|
||||
exit_latency = k_us_to_ticks_ceil32(
|
||||
pm_min_residency[i].exit_latency_us);
|
||||
__ASSERT(min_residency > exit_latency,
|
||||
"min_residency_us < exit_latency_us");
|
||||
|
||||
if ((ticks == K_TICKS_FOREVER) ||
|
||||
(ticks >= k_us_to_ticks_ceil32(
|
||||
pm_min_residency[i].min_residency_us))) {
|
||||
(ticks >= (min_residency - exit_latency))) {
|
||||
LOG_DBG("Selected power state %d "
|
||||
"(ticks: %d, min_residency: %u)",
|
||||
pm_min_residency[i].state, ticks,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user