[PATCH] cpufreq: ppc-corenet-cpu-freq: do_div use quotient
Tim Gardner
tim.gardner at canonical.com
Sat Jun 7 00:03:40 EST 2014
On 06/04/2014 02:32 PM, Ed Swarthout wrote:
> 6712d2931933ada259b82f06c03a855b19937074 (cpufreq:
> ppc-corenet-cpufreq: Fix __udivdi3 modpost error) used the remainder
> from do_div instead of the quotient. Fix that and add one to ensure
> minimum is met.
>
> Signed-off-by: Ed Swarthout <Ed.Swarthout at freescale.com>
> ---
> drivers/cpufreq/ppc-corenet-cpufreq.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/cpufreq/ppc-corenet-cpufreq.c b/drivers/cpufreq/ppc-corenet-cpufreq.c
> index 0af618a..3607070 100644
> --- a/drivers/cpufreq/ppc-corenet-cpufreq.c
> +++ b/drivers/cpufreq/ppc-corenet-cpufreq.c
> @@ -138,7 +138,7 @@ static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy)
> struct cpufreq_frequency_table *table;
> struct cpu_data *data;
> unsigned int cpu = policy->cpu;
> - u64 transition_latency_hz;
> + u64 u64temp;
>
> np = of_get_cpu_node(cpu, NULL);
> if (!np)
> @@ -206,9 +206,10 @@ static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy)
> for_each_cpu(i, per_cpu(cpu_mask, cpu))
> per_cpu(cpu_data, i) = data;
>
> - transition_latency_hz = 12ULL * NSEC_PER_SEC;
> - policy->cpuinfo.transition_latency =
> - do_div(transition_latency_hz, fsl_get_sys_freq());
> + /* Minimum transition latency is 12 platform clocks */
> + u64temp = 12ULL * NSEC_PER_SEC;
> + do_div(u64temp, fsl_get_sys_freq());
> + policy->cpuinfo.transition_latency = u64temp + 1;
>
> of_node_put(np);
>
>
Whoops, what was I thinking ? You should also add "Cc:
stable at vger.kernel.org # 3.15+" since this patch will likely miss 3.15
final.
Acked-by: Tim Gardner <tim.gardner at canonical.com>
--
Tim Gardner tim.gardner at canonical.com
More information about the Linuxppc-dev
mailing list