diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-04-29 16:54:17 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-05-01 15:28:03 -0400 |
commit | a5bef810ad9816a3a8e500d8832be77d52903a12 (patch) | |
tree | dd108feaf2fa45f9520b63ea94ecec2c42259194 /include/linux/pm_domain.h | |
parent | 69964ea4c7b68c9399f7977aa5b9aa6539a6a98a (diff) |
PM / Domains: Rework default device stop governor function, v2
The existing default device stop governor function for PM domains,
default_stop_ok(), is supposed to check whether or not the device's
PM QoS latency constraint will be violated if the device is stopped
by pm_genpd_runtime_suspend(). However, the computations carried out
by it don't reflect the definition of the PM QoS latency constrait in
Documentation/ABI/testing/sysfs-devices-power.
Make default_stop_ok() follow the definition of the PM QoS latency
constrait. In particular, make it take the device's start and stop
latencies correctly.
Add a new field, effective_constraint_ns, to struct gpd_timing_data
and use it to store the difference between the device's PM QoS
constraint and its resume latency for use by the device's parent
(the effective_constraint_ns values for the children are used for
computing the parent's one along with its PM QoS constraint).
Remove the break_even_ns field from struct gpd_timing_data, because
it's not used any more.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/pm_domain.h')
-rw-r--r-- | include/linux/pm_domain.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index 91f8286106ea..9c25219458c2 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h | |||
@@ -93,7 +93,7 @@ struct gpd_timing_data { | |||
93 | s64 start_latency_ns; | 93 | s64 start_latency_ns; |
94 | s64 save_state_latency_ns; | 94 | s64 save_state_latency_ns; |
95 | s64 restore_state_latency_ns; | 95 | s64 restore_state_latency_ns; |
96 | s64 break_even_ns; | 96 | s64 effective_constraint_ns; |
97 | }; | 97 | }; |
98 | 98 | ||
99 | struct generic_pm_domain_data { | 99 | struct generic_pm_domain_data { |