[v2,2/3] thermal/core: Use precomputed jiffies for the polling
diff mbox series

Message ID 20201216220337.839878-2-daniel.lezcano@linaro.org
State Accepted
Commit 39a38808d082fc0fbf45cfefda17252ed8c6b31f
Headers show
Series
  • [v2,1/3] thermal/core: Precompute the delays from msecs to jiffies
Related show

Commit Message

Daniel Lezcano Dec. 16, 2020, 10:03 p.m. UTC
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: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
---
 drivers/thermal/thermal_core.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

Comments

Thara Gopinath Dec. 18, 2020, 3:06 p.m. UTC | #1
On 12/16/20 5:03 PM, Daniel Lezcano wrote:
> 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: Daniel Lezcano <daniel.lezcano@linaro.org>
> Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
> ---
>   drivers/thermal/thermal_core.c | 15 +++++----------
>   1 file changed, 5 insertions(+), 10 deletions(-)

Reviewed-by: Thara Gopinath <thara.gopinath@linaro.org>

> 
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index 2c41d4a0923f..d96c515af3cb 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -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);
>   
>

Patch
diff mbox series

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 2c41d4a0923f..d96c515af3cb 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -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);