a5bef810ad
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> |
||
---|---|---|
.. | ||
power | ||
regmap | ||
Kconfig | ||
Makefile | ||
attribute_container.c | ||
base.h | ||
bus.c | ||
class.c | ||
core.c | ||
cpu.c | ||
dd.c | ||
devres.c | ||
devtmpfs.c | ||
dma-buf.c | ||
dma-coherent.c | ||
dma-mapping.c | ||
driver.c | ||
firmware.c | ||
firmware_class.c | ||
hypervisor.c | ||
init.c | ||
isa.c | ||
map.c | ||
memory.c | ||
module.c | ||
node.c | ||
platform.c | ||
soc.c | ||
syscore.c | ||
topology.c | ||
transport_class.c |