• Ulf Hansson's avatar
    PM / Domains: Fix validation of latency constraints in genpd governor · a98f1b78
    Ulf Hansson authored
    Commit ba2bbfbf (PM / Domains: Remove intermediate states from the
    power off sequence) changed the power off sequence in genpd. That also
    required some updates regarding the validation of latency constraints in
    the genpd governor. Unfortunate that wasn't covered, so let's fix this.
    
    From a runtime PM and latency point of view, we need to consider the worst
    case scenario while validating latency constraints. That's typically when
    a call to pm_runtime_get_sync() needs to wait for a ongoing runtime
    suspend operation to be carried out, as it then also needs to wait for the
    device to be runtime resumed again.
    
    The above mentioned commit made the genpd governor's ->stop_ok() callback
    responsible of validating genpd's device's runtime suspend/resume latency.
    In other words, the constraint needs to be validated towards the relevant
    latencies present in genpd's ->runtime_suspend|resume() callbacks.
    
    Earlier, that included latencies from the ->stop|start() callbacks, but as
    ->save|restore_state() are now also being invoked from genpd's
    ->runtime_suspend|resume() and to comply with the worst case scenario,
    let's take also those latencies into account.
    
    Fixes: ba2bbfbf (PM / Domains: Remove intermediate states from the power off sequence)
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    a98f1b78
domain_governor.c 5.92 KB