On Sat, Nov 4, 2017 at 3:34 AM, Ramesh Thomas <ramesh.tho...@intel.com> wrote: > On 2017-11-03 at 12:47:20 +0100, Rafael J. Wysocki wrote: >> From: Rafael J. Wysocki <rafael.j.wyso...@intel.com> >> >> The genpd governor currently uses negative PM QoS values to indicate >> the "no suspend" condition and 0 as "no restriction", but it doesn't >> use them consistently. Moreover, it tries to refresh QoS values for >> already suspended devices in a quite questionable way. >> >> For the above reasons, rework it to be a bit more consistent. >> >> First off, note that dev_pm_qos_read_value() in >> dev_update_qos_constraint() and __default_power_down_ok() is >> evaluated for devices in suspend. Moreover, that only happens if the >> effective_constraint_ns value for them is negative (meaning "no >> suspend"). It is not evaluated in any other cases, so effectively >> the QoS values are only updated for devices in suspend that should >> not have been suspended in the first place. In all of the other >> cases, the QoS values taken into account are the effective ones from >> the time before the device has been suspended, so generally devices >> need to be resumed and suspended again for new QoS values to take >> effect anyway. Thus evaluating dev_update_qos_constraint() in >> those two places doesn't make sense at all, so drop it. >> >> Second, initialize effective_constraint_ns to 0 ("no constraint") >> rather than to (-1) ("no suspend"), which makes more sense in >> general and in case effective_constraint_ns is never updated >> (the device is in suspend all the time or it is never suspended) >> it doesn't affect the device's parent and so on. >> >> Finally, rework default_suspend_ok() to explicitly handle the >> "no restriction" special case. >> >> Signed-off-by: Rafael J. Wysocki <rafael.j.wyso...@intel.com> >> ---
[cut] > Looks good to me. > > Acked-by: Ramesh Thomas <ramesh.tho...@intel.com> Thanks! Do you actually mean Reviewed-by?