cpufreq: use correct unit when verify cur freq
authorSanjay Chandrashekara <sanjayc@nvidia.com>
Tue, 18 Apr 2023 11:34:54 +0000 (17:04 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 18 Apr 2023 15:45:28 +0000 (17:45 +0200)
cpufreq_verify_current_freq checks() if the frequency returned by
the hardware has a slight delta with the valid frequency value
last set and returns "policy->cur" if the delta is within "1 MHz".
In the comparison, "policy->cur" is in "kHz" but it's compared
against HZ_PER_MHZ. So, the comparison range becomes "1 GHz".

Fix this by comparing against KHZ_PER_MHZ instead of HZ_PER_MHZ.

Fixes: f55ae08c8987 ("cpufreq: Avoid unnecessary frequency updates due to mismatch")
Signed-off-by: Sanjay Chandrashekara <sanjayc@nvidia.com>
[ sumit gupta: Commit message update ]
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq.c

index b24ed81ba8bd3fe64c1c60bf8d3ab958ea11f656..2ac905c637ddca77e9de5a7b8cad76f82252f900 100644 (file)
@@ -1732,7 +1732,7 @@ static unsigned int cpufreq_verify_current_freq(struct cpufreq_policy *policy, b
                 * MHz. In such cases it is better to avoid getting into
                 * unnecessary frequency updates.
                 */
-               if (abs(policy->cur - new_freq) < HZ_PER_MHZ)
+               if (abs(policy->cur - new_freq) < KHZ_PER_MHZ)
                        return policy->cur;
 
                cpufreq_out_of_sync(policy, new_freq);