Mailing List Archive

[PATCH v2] thermal: intel_powerclamp: Return last requested state as cur_state
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@linux.intel.com>
---
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;
--
2.17.1
Re: [PATCH v2] thermal: intel_powerclamp: Return last requested state as cur_state [ In reply to ]
On Sat, Feb 4, 2023 at 5:29 AM Srinivas Pandruvada
<srinivas.pandruvada@linux.intel.com> 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@linux.intel.com>
> ---
> 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!