]> git.baikalelectronics.ru Git - kernel.git/commit
cpufreq: intel_pstate: Avoid percentages in limits-related computations
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 14 Mar 2017 15:18:34 +0000 (16:18 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 15 Mar 2017 15:52:29 +0000 (16:52 +0100)
commit2380cd0fd1268ccaf50bbba8da815302ce3a2118
tree55363eb8c97522ad447b9c7e3126f71509582780
parent8fac689f7e40ec2cf537ad8903ec251aa053a8f4
cpufreq: intel_pstate: Avoid percentages in limits-related computations

Currently, intel_pstate_update_perf_limits() first converts the
policy minimum and maximum limits into percentages of the maximum
turbo frequency (rounding up to an integer) and then converts these
percentages to fractions (by using fixed-point arithmetic to divide
them by 100).

That introduces a rounding error unnecessarily, because the fractions
can be obtained by carrying out fixed-point divisions directly on the
input numbers.

Rework the computations in intel_pstate_hwp_set() to use fractions
instead of percentages (and drop redundant local variables from
there) and modify intel_pstate_update_perf_limits() to compute the
fractions directly and percentages out of them.

While at it, introduce percent_ext_fp() for converting percentages
to fractions (with extended number of fraction bits) and use it in
the computations.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c