diff options
author | Zhang Zhuoyu <Zhuoyu.Zhang@freescale.com> | 2014-06-20 02:13:42 (GMT) |
---|---|---|
committer | Rich Schmitt <B43082@freescale.com> | 2014-09-05 17:19:45 (GMT) |
commit | bca97da5a5ba8111dcbd21dcc2c1f0f57365d565 (patch) | |
tree | 9c8c19003e662dd84fbfc474fcbd70edcc220d38 /drivers/cpufreq | |
parent | d677f2bd4a04a19e245faa23b56253849ca25605 (diff) | |
download | linux-fsl-qoriq-bca97da5a5ba8111dcbd21dcc2c1f0f57365d565.tar.xz |
cpufreq: ppc-corenet-cpu-freq: do_div use quotient
Commit bfa709b (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.
Fixes: bfa709b (cpufreq: ppc-corenet-cpufreq: Fix __udivdi3 modpost error)
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
Cc: 3.15+ <stable@vger.kernel.org> # 3.15+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Zhang Zhuoyu <Zhuoyu.Zhang@freescale.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/ppc-corenet-cpufreq.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/cpufreq/ppc-corenet-cpufreq.c b/drivers/cpufreq/ppc-corenet-cpufreq.c index 1efab8f..8500627 100644 --- a/drivers/cpufreq/ppc-corenet-cpufreq.c +++ b/drivers/cpufreq/ppc-corenet-cpufreq.c @@ -149,7 +149,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) @@ -217,9 +217,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; policy->cur = corenet_cpufreq_get_speed(policy->cpu); cpufreq_frequency_table_get_attr(table, cpu); |