linux/drivers/base
Rafael J. Wysocki e2e3e4e51e 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>
2012-09-04 01:36:04 +02:00
..
power PM / Domains: Do not measure start time for "irq safe" devices 2012-09-04 01:36:04 +02:00
regmap Merge branches 'regmap-core', 'regmap-irq' and 'regmap-page' into regmap-next 2012-07-22 19:26:07 +01:00
attribute_container.c
base.h driver core: move the deferred probe pointer into the private area 2012-03-08 12:17:22 -08:00
bus.c driver core: move uevent call to driver_register 2012-07-16 18:04:25 -07:00
class.c Revert "driver core: check start node in klist_iter_init_node" 2012-04-19 19:17:30 -07:00
core.c dyndbg: fix for SOH in logging messages 2012-08-18 23:40:13 -07:00
cpu.c sched: Remove stale power aware scheduling remnants and dysfunctional knobs 2012-05-17 13:48:56 +02:00
dd.c [SCSI] cleanup usages of scsi_complete_async_scans 2012-07-20 09:25:22 +01:00
devres.c devres: Add devres_release() 2012-05-04 16:33:16 -07:00
devtmpfs.c new helper: done_path_create() 2012-07-29 21:24:13 +04:00
dma-buf.c driver core: fix some kernel-doc warnings in dma*.c 2012-06-14 17:15:26 -07:00
dma-coherent.c driver core: fix some kernel-doc warnings in dma*.c 2012-06-14 17:15:26 -07:00
dma-contiguous.c drivers: add Contiguous Memory Allocator 2012-05-21 15:09:37 +02:00
dma-mapping.c common: dma-mapping: introduce dma_get_sgtable() function 2012-07-30 12:25:46 +02:00
driver.c driver core: don't trigger uevent after failure 2012-07-17 10:40:23 -07:00
firmware_class.c driver-core: Use kobj_to_dev instead of re-implementing it 2012-07-16 18:05:45 -07:00
firmware.c
hypervisor.c
init.c
isa.c
Kconfig mm: factor out memory isolate functions 2012-07-31 18:42:45 -07:00
Makefile drivers: add Contiguous Memory Allocator 2012-05-21 15:09:37 +02:00
map.c
memory.c Linux 3.3-rc7 2012-03-14 07:44:11 +01:00
module.c
node.c mm: fix off-by-one bug in print_nodes_state() 2012-05-29 16:22:19 -07:00
platform.c PM / Runtime: Allow helpers to be called by early platform drivers 2012-09-04 01:36:03 +02:00
soc.c mode_t whack-a-mole: ->is_visible() returns umode_t... 2012-05-29 23:28:42 -04:00
syscore.c
topology.c
transport_class.c