diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-08-06 01:47:29 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-09-04 01:36:04 +0200 |
commit | e2e3e4e51ebdcd757079bd7ec5dcc9dfb2ebce24 (patch) | |
tree | 89d658924faebb526d9f0649c1aa5cf984af6c88 /drivers/clocksource | |
parent | dbf374142dd7a3c394ec124ebe7339a6c412d9b6 (diff) | |
download | linux-e2e3e4e51ebdcd757079bd7ec5dcc9dfb2ebce24.tar.bz2 |
PM / Domains: Do not measure start time for "irq safe" devices
The genpd_start_dev() routine used by pm_genpd_runtime_resume()
to put "irq safe" devices into the full power state measures the
time necessary to "start" the device and updates its PM QoS timing
data if necessary. This may lead to a deadlock if the given device
is a clock source and genpd_start_dev() is invoked from within the
clock source's .enable() routine, which will happen if that routine
uses pm_runtime_get_sync(), for example, to ensure that the device
is operational.
For this reason, introduce a special routine analogous to
genpd_start_dev(), called genpd_start_dev_no_timing(), that doesn't
carry out the time measurement, and make pm_genpd_runtime_resume()
use it instead of genpd_start_dev() to power up "irq safe" devices.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/clocksource')
0 files changed, 0 insertions, 0 deletions