Commit a2022001 authored by Viresh Kumar's avatar Viresh Kumar Committed by Rafael J. Wysocki

cpufreq: dt: Tolerance applies on both sides of target voltage

Tolerance applies on both sides of the target voltage, i.e. both min and
max sides. But while checking if a voltage is supported by the regulator
or not, we haven't taken care of tolerance on the lower side. Fix that.

Cc: Lucas Stach <l.stach@pengutronix.de>
Fixes: 045ee45c ("cpufreq: cpufreq-dt: disable unsupported OPPs")
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarLucas Stach <l.stach@pengutronix.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 8bc86284
...@@ -303,7 +303,8 @@ static int cpufreq_init(struct cpufreq_policy *policy) ...@@ -303,7 +303,8 @@ static int cpufreq_init(struct cpufreq_policy *policy)
rcu_read_unlock(); rcu_read_unlock();
tol_uV = opp_uV * priv->voltage_tolerance / 100; tol_uV = opp_uV * priv->voltage_tolerance / 100;
if (regulator_is_supported_voltage(cpu_reg, opp_uV, if (regulator_is_supported_voltage(cpu_reg,
opp_uV - tol_uV,
opp_uV + tol_uV)) { opp_uV + tol_uV)) {
if (opp_uV < min_uV) if (opp_uV < min_uV)
min_uV = opp_uV; min_uV = opp_uV;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment