• Patrick Titiano's avatar
    thermal: rcar-thermal: update thermal zone only when temperature changes · 9477165e
    Patrick Titiano authored
    Avoid updating the thermal zone in case an IRQ was triggered but the
    temperature didn't effectively change.
    Note this is not a driver issue.
    Below is a captured debug trace illustrating the purpose of this patch:
    out of 8 thermal zone updates, only 2 are actually necessary.
    
    [   41.120000] rcar_thermal_work(): cctemp=25000
    [   41.120000] rcar_thermal_work(): nctemp=30000
    [   41.120000] rcar_thermal_work(): temp is now 30000C, update thermal zone
    [   58.990000] rcar_thermal_work(): cctemp=30000
    [   58.990000] rcar_thermal_work(): nctemp=30000
    [   58.990000] rcar_thermal_work(): same temp, do not update thermal zone
    [   59.290000] rcar_thermal_work(): cctemp=30000
    [   59.290000] rcar_thermal_work(): nctemp=30000
    [   59.290000] rcar_thermal_work(): same temp, do not update thermal zone
    [   59.590000] rcar_thermal_work(): cctemp=30000
    [   59.590000] rcar_thermal_work(): nctemp=30000
    [   59.590000] rcar_thermal_work(): same temp, do not update thermal zone
    [   59.890000] rcar_thermal_work(): cctemp=30000
    [   59.890000] rcar_thermal_work(): nctemp=30000
    [   59.890000] rcar_thermal_work(): same temp, do not update thermal zone
    [   60.190000] rcar_thermal_work(): cctemp=30000
    [   60.190000] rcar_thermal_work(): nctemp=30000
    [   60.190000] rcar_thermal_work(): same temp, do not update thermal zone
    [   60.490000] rcar_thermal_work(): cctemp=30000
    [   60.490000] rcar_thermal_work(): nctemp=30000
    [   60.490000] rcar_thermal_work(): same temp, do not update thermal zone
    [   60.790000] rcar_thermal_work(): cctemp=30000
    [   60.790000] rcar_thermal_work(): nctemp=35000
    [   60.790000] rcar_thermal_work(): temp is now 35000C, update thermal zone
    
    I suspect this may be due to sensor sampling accuracy / fluctuation,
    but no formal proof.
    Signed-off-by: default avatarPatrick Titiano <ptitiano@baylibre.com>
    Acked-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
    9477165e
rcar_thermal.c 12.1 KB