summaryrefslogtreecommitdiffstats
path: root/drivers/thermal/gov_step_wise.c
diff options
context:
space:
mode:
authorZhang Rui <rui.zhang@intel.com>2023-03-21 06:47:14 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2023-04-27 19:17:11 +0200
commite4006bfec12cec4fb251de860d384dd34e6df346 (patch)
tree8bde41a5286409d42965654f4414b774b7414663 /drivers/thermal/gov_step_wise.c
parentthermal: gov_step_wise: Delete obsolete comment (diff)
downloadlinux-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.c20
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;