Re: [PATCH v2] thermal: intel_powerclamp: Return last requested state as cur_state

From: Rafael J. Wysocki
Date: Tue Feb 07 2023 - 14:54:40 EST


On Sat, Feb 4, 2023 at 5:29 AM Srinivas Pandruvada
<srinivas.pandruvada@xxxxxxxxxxxxxxx> wrote:
>
> When the user is reading cur_state from the thermal cooling device for
> Intel powerclamp device:
> - It returns the idle ratio from Package C-state counters when
> there is active idle injection session.
> - -1, when there is no active idle injection session.
>
> This information is not very useful as the package C-state counters vary
> a lot from read to read. Instead just return the last requested cur_state.
>
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
> ---
> v2:
> Fixed setting of *state
>
> drivers/thermal/intel/intel_powerclamp.c | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/drivers/thermal/intel/intel_powerclamp.c b/drivers/thermal/intel/intel_powerclamp.c
> index 5f54c88b1977..0282503ecaaf 100644
> --- a/drivers/thermal/intel/intel_powerclamp.c
> +++ b/drivers/thermal/intel/intel_powerclamp.c
> @@ -539,17 +539,7 @@ static int powerclamp_get_cur_state(struct thermal_cooling_device *cdev,
> unsigned long *state)
> {
> mutex_lock(&powerclamp_lock);
> -
> - if (powerclamp_data.clamping) {
> - if (poll_pkg_cstate_enable)
> - *state = pkg_cstate_ratio_cur;
> - else
> - *state = powerclamp_data.target_ratio;
> - } else {
> - /* to save power, do not poll idle ratio while not clamping */
> - *state = -1; /* indicates invalid state */
> - }
> -
> + *state = powerclamp_data.target_ratio;
> mutex_unlock(&powerclamp_lock);
>
> return 0;
> --

Applied as 6.3 material, thanks!