diff options
author | Zhang Rui <rui.zhang@intel.com> | 2023-03-21 06:47:14 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2023-04-27 19:17:11 +0200 |
commit | e4006bfec12cec4fb251de860d384dd34e6df346 (patch) | |
tree | 8bde41a5286409d42965654f4414b774b7414663 /drivers/thermal/gov_step_wise.c | |
parent | thermal: gov_step_wise: Delete obsolete comment (diff) | |
download | linux-e4006bfec12cec4fb251de860d384dd34e6df346.tar.xz linux-e4006bfec12cec4fb251de860d384dd34e6df346.zip |
thermal: gov_step_wise: Adjust code logic to match comment
For the algorithm of choosing the next target state in step_wise
governor, the code does the right thing but is implemented in a
way different from what the comment describes. And this hurts the code
readability.
As the logic in the comment is simpler, adjust the code logic to align
with the comment.
No functional change.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
[ rjw: Subject edit ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/thermal/gov_step_wise.c')
-rw-r--r-- | drivers/thermal/gov_step_wise.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/drivers/thermal/gov_step_wise.c b/drivers/thermal/gov_step_wise.c index 3f72a8eaf2f7..1050fb4d94c2 100644 --- a/drivers/thermal/gov_step_wise.c +++ b/drivers/thermal/gov_step_wise.c @@ -53,24 +53,16 @@ static unsigned long get_target_state(struct thermal_instance *instance, return next_target; } - switch (trend) { - case THERMAL_TREND_RAISING: - if (throttle) { + if (throttle) { + if (trend == THERMAL_TREND_RAISING) next_target = clamp((cur_state + 1), instance->lower, instance->upper); - } - break; - case THERMAL_TREND_DROPPING: - if (cur_state <= instance->lower) { - if (!throttle) + } else { + if (trend == THERMAL_TREND_DROPPING) { + if (cur_state <= instance->lower) next_target = THERMAL_NO_TARGET; - } else { - if (!throttle) { + else next_target = clamp((cur_state - 1), instance->lower, instance->upper); - } } - break; - default: - break; } return next_target; |