]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PM / Domains: Rework default device stop governor function, v2
authorRafael J. Wysocki <rjw@sisk.pl>
Sun, 29 Apr 2012 20:54:17 +0000 (22:54 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Sun, 29 Apr 2012 20:54:17 +0000 (22:54 +0200)
commit00d3bd25b102dbae45276fb6c0c33bf650fcf8aa
tree4b9f68ae494754ce637a42b4eb49d23815142cfc
parent82317aa9ee2c8ef95e70f5acce23e33da16f8160
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>
drivers/base/power/domain.c
drivers/base/power/domain_governor.c
include/linux/pm_domain.h