thermal: intel: powerclamp: Return last requested state as cur_state
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Sat, 4 Feb 2023 04:29:02 +0000 (20:29 -0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 7 Feb 2023 19:51:15 +0000 (20:51 +0100)
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>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/thermal/intel/intel_powerclamp.c

index 209bb5f..1390748 100644 (file)
@@ -541,17 +541,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;