• Rafael J. Wysocki's avatar
    thermal/debugfs: Avoid excessive updates of trip point statistics · 0a293c77
    Rafael J. Wysocki authored
    Since thermal_debug_update_temp() is called before invoking
    thermal_debug_tz_trip_down() for the trips that were crossed by the
    zone temperature on the way up, it updates the statistics for them
    as though the current zone temperature was above the low temperature
    of each of them.  However, if a given trip has just been crossed on the
    way down, the zone temperature is in fact below its low temperature,
    but this is handled by thermal_debug_tz_trip_down() running after the
    update of the trip statistics.
    
    The remedy is to call thermal_debug_update_temp() after
    thermal_debug_tz_trip_down() has been invoked for all of the
    trips in question, but then thermal_debug_tz_trip_up() needs to
    be adjusted, so it does not update the statistics for the trips
    that has just been crossed on the way up, as that will be taken
    care of by thermal_debug_update_temp() down the road.
    
    Modify the code accordingly.
    
    Fixes: 7ef01f22 ("thermal/debugfs: Add thermal debugfs information for mitigation episodes")
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: default avatarLukasz Luba <lukasz.luba@arm.com>
    Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    0a293c77
thermal_debugfs.c 21.8 KB