• R
    PM / Domains: Do not stop devices after restoring their states · 80de3d7f
    Rafael J. Wysocki 提交于
    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: NRafael J. Wysocki <rjw@sisk.pl>
    80de3d7f
domain.c 47.0 KB