diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-06-16 00:02:34 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-07-01 13:31:29 +0200 |
commit | 80de3d7f416f1accd03f2e519ead32d6fde4fcf4 (patch) | |
tree | 4f6c5b3a6355fc6d9f6423b11afa28b119eb6dbc /drivers/base/dma-mapping.c | |
parent | 0b589741b8b83a33e25fb32bb714ea1b972af5aa (diff) |
PM / Domains: Do not stop devices after restoring their states
While resuming a device belonging to a PM domain,
pm_genpd_runtime_resume() calls __pm_genpd_restore_device() to
restore its state, if necessary. The latter starts the device,
using genpd_start_dev(), restores its state, using
genpd_restore_dev(), and then stops it, using genpd_stop_dev().
However, this last operation is not necessary, because the
device is supposed to be operational after pm_genpd_runtime_resume()
has returned and because of it pm_genpd_runtime_resume() has to
call genpd_start_dev() once again for the "restored" device, which
is inefficient.
To make things more efficient, remove the call to genpd_stop_dev()
from __pm_genpd_restore_device() and the direct call to
genpd_start_dev() from pm_genpd_runtime_resume(). [Of course,
genpd_start_dev() still has to be called by it for devices with the
power.irq_safe flag set, because __pm_genpd_restore_device() is not
executed for them.]
This change has been tested on the SH7372 Mackerel board.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/base/dma-mapping.c')
0 files changed, 0 insertions, 0 deletions