[PATCH v2] thermal: intel: powerclamp: Simplify idle_inject_update()

Thorsten Blum posted 1 patch 4 weeks, 1 day ago
drivers/thermal/intel/intel_powerclamp.c | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
[PATCH v2] thermal: intel: powerclamp: Simplify idle_inject_update()
Posted by Thorsten Blum 4 weeks, 1 day ago
Drop the local update variable and call idle_inject_set_duration()
directly instead. Also return !should_skip directly.

Signed-off-by: Thorsten Blum <blum@kernel.org>
---
Changes in v2:
- Call get_run_time() after powerclamp_adjust_controls() as before and
  as suggested by Sashiko [1]
- v1: https://lore.kernel.org/r/20260828184354.39423-2-blum@kernel.org/

[1] https://sashiko.dev/#/patchset/20260828184354.39423-2-blum%40kernel.org
---
 drivers/thermal/intel/intel_powerclamp.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/thermal/intel/intel_powerclamp.c b/drivers/thermal/intel/intel_powerclamp.c
index bd7fd98dc310..da10b02bc028 100644
--- a/drivers/thermal/intel/intel_powerclamp.c
+++ b/drivers/thermal/intel/intel_powerclamp.c
@@ -536,23 +536,17 @@ static struct idle_inject_device *ii_dev;
  */
 static bool idle_inject_update(void)
 {
-	bool update = false;
-
 	/* We can't sleep in this callback */
 	if (!mutex_trylock(&powerclamp_lock))
 		return true;
 
 	if (!(powerclamp_data.count % powerclamp_data.window_size_now)) {
+		unsigned int runtime;
 
 		should_skip = powerclamp_adjust_controls(powerclamp_data.target_ratio,
 							 powerclamp_data.guard,
 							 powerclamp_data.window_size_now);
-		update = true;
-	}
-
-	if (update) {
-		unsigned int runtime = get_run_time();
-
+		runtime = get_run_time();
 		idle_inject_set_duration(ii_dev, runtime, duration);
 	}
 
@@ -560,10 +554,7 @@ static bool idle_inject_update(void)
 
 	mutex_unlock(&powerclamp_lock);
 
-	if (should_skip)
-		return false;
-
-	return true;
+	return !should_skip;
 }
 
 /* This function starts idle injection by calling idle_inject_start() */
Re: [PATCH v2] thermal: intel: powerclamp: Simplify idle_inject_update()
Posted by Rafael J. Wysocki (Intel) 3 weeks, 1 day ago
On Fri, Aug 28, 2026 at 9:45 PM Thorsten Blum <blum@kernel.org> wrote:
>
> Drop the local update variable and call idle_inject_set_duration()
> directly instead. Also return !should_skip directly.
>
> Signed-off-by: Thorsten Blum <blum@kernel.org>
> ---
> Changes in v2:
> - Call get_run_time() after powerclamp_adjust_controls() as before and
>   as suggested by Sashiko [1]
> - v1: https://lore.kernel.org/r/20260828184354.39423-2-blum@kernel.org/
>
> [1] https://sashiko.dev/#/patchset/20260828184354.39423-2-blum%40kernel.org
> ---
>  drivers/thermal/intel/intel_powerclamp.c | 15 +++------------
>  1 file changed, 3 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/thermal/intel/intel_powerclamp.c b/drivers/thermal/intel/intel_powerclamp.c
> index bd7fd98dc310..da10b02bc028 100644
> --- a/drivers/thermal/intel/intel_powerclamp.c
> +++ b/drivers/thermal/intel/intel_powerclamp.c
> @@ -536,23 +536,17 @@ static struct idle_inject_device *ii_dev;
>   */
>  static bool idle_inject_update(void)
>  {
> -       bool update = false;
> -
>         /* We can't sleep in this callback */
>         if (!mutex_trylock(&powerclamp_lock))
>                 return true;
>
>         if (!(powerclamp_data.count % powerclamp_data.window_size_now)) {
> +               unsigned int runtime;
>
>                 should_skip = powerclamp_adjust_controls(powerclamp_data.target_ratio,
>                                                          powerclamp_data.guard,
>                                                          powerclamp_data.window_size_now);
> -               update = true;
> -       }
> -
> -       if (update) {
> -               unsigned int runtime = get_run_time();
> -
> +               runtime = get_run_time();
>                 idle_inject_set_duration(ii_dev, runtime, duration);
>         }
>
> @@ -560,10 +554,7 @@ static bool idle_inject_update(void)
>
>         mutex_unlock(&powerclamp_lock);
>
> -       if (should_skip)
> -               return false;
> -
> -       return true;
> +       return !should_skip;
>  }
>
>  /* This function starts idle injection by calling idle_inject_start() */

Applied as 7.4 material, thanks!