thermal/cpu_cooling: update policy limits if clipped_freq < policy->max
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 30 Jul 2015 07:10:35 +0000 (12:40 +0530)
committerEduardo Valentin <edubezval@gmail.com>
Sat, 15 Aug 2015 01:26:23 +0000 (18:26 -0700)
policy->max is the maximum allowed frequency defined by user and
clipped_freq is the maximum that thermal constraints allow.

If clipped_freq is lower than policy->max, then we need to readjust
policy->max.

But, if clipped_freq is greater than policy->max, we don't need to do
anything. We used to call cpufreq_verify_within_limits() in this case,
but it doesn't change anything in this case.

Lets skip this unnecessary call and write a comment that explains this.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/cpu_cooling.c

index 71dbede..620dcd4 100644 (file)
@@ -229,9 +229,20 @@ static int cpufreq_thermal_notifier(struct notifier_block *nb,
                if (!cpumask_test_cpu(policy->cpu, &cpufreq_dev->allowed_cpus))
                        continue;
 
+               /*
+                * policy->max is the maximum allowed frequency defined by user
+                * and clipped_freq is the maximum that thermal constraints
+                * allow.
+                *
+                * If clipped_freq is lower than policy->max, then we need to
+                * readjust policy->max.
+                *
+                * But, if clipped_freq is greater than policy->max, we don't
+                * need to do anything.
+                */
                clipped_freq = cpufreq_dev->clipped_freq;
 
-               if (policy->max != clipped_freq)
+               if (policy->max > clipped_freq)
                        cpufreq_verify_within_limits(policy, 0, clipped_freq);
                break;
        }