• Rafael J. Wysocki's avatar
    PM / Domains: Rework default device stop governor function, v2 · a5bef810
    Rafael J. Wysocki authored
    The existing default device stop governor function for PM domains,
    default_stop_ok(), is supposed to check whether or not the device's
    PM QoS latency constraint will be violated if the device is stopped
    by pm_genpd_runtime_suspend().  However, the computations carried out
    by it don't reflect the definition of the PM QoS latency constrait in
    Documentation/ABI/testing/sysfs-devices-power.
    
    Make default_stop_ok() follow the definition of the PM QoS latency
    constrait.  In particular, make it take the device's start and stop
    latencies correctly.
    
    Add a new field, effective_constraint_ns, to struct gpd_timing_data
    and use it to store the difference between the device's PM QoS
    constraint and its resume latency for use by the device's parent
    (the effective_constraint_ns values for the children are used for
    computing the parent's one along with its PM QoS constraint).
    
    Remove the break_even_ns field from struct gpd_timing_data, because
    it's not used any more.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    a5bef810
domain.c 44.5 KB