Commit 39a38808 authored by Daniel Lezcano's avatar Daniel Lezcano
Browse files

thermal/core: Use precomputed jiffies for the polling



The delays are also stored in jiffies based unit. Use them instead of
the ms.

Cc: Thara Gopinath <thara.gopinath@linaro.org>
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: default avatarLukasz Luba <lukasz.luba@arm.com>
Reviewed-by: default avatarThara Gopinath <thara.gopinath@linaro.org>
Link: https://lore.kernel.org/r/20201216220337.839878-2-daniel.lezcano@linaro.org
parent 17d399cd
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -289,16 +289,11 @@ static int __init thermal_register_governors(void)
 * - Critical trip point will cause a system shutdown.
 */
static void thermal_zone_device_set_polling(struct thermal_zone_device *tz,
					    int delay)
					    unsigned long delay)
{
	if (delay > 1000)
	if (delay)
		mod_delayed_work(system_freezable_power_efficient_wq,
				 &tz->poll_queue,
				 round_jiffies(msecs_to_jiffies(delay)));
	else if (delay)
		mod_delayed_work(system_freezable_power_efficient_wq,
				 &tz->poll_queue,
				 msecs_to_jiffies(delay));
				 &tz->poll_queue, delay);
	else
		cancel_delayed_work(&tz->poll_queue);
}
@@ -317,9 +312,9 @@ static void monitor_thermal_zone(struct thermal_zone_device *tz)
	mutex_lock(&tz->lock);

	if (!stop && tz->passive)
		thermal_zone_device_set_polling(tz, tz->passive_delay);
		thermal_zone_device_set_polling(tz, tz->passive_delay_jiffies);
	else if (!stop && tz->polling_delay)
		thermal_zone_device_set_polling(tz, tz->polling_delay);
		thermal_zone_device_set_polling(tz, tz->polling_delay_jiffies);
	else
		thermal_zone_device_set_polling(tz, 0);