mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 01:22:07 +00:00
MIPS: loongson2_cpufreq: Fix CPU clock rate setting mismerge
During 3.16 merge window, parts of the commit 8e8acb3296
(MIPS/loongson2_cpufreq: Fix CPU clock rate setting) seem to have
been deleted probably due to a mismerge, and as a result cpufreq
is broken again on Loongson2 boards in 3.16 and newer kernels.
Fix by repeating the fix.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: stable@vger.kernel.org # 3.16
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/7835/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
5a1e73ffe5
commit
aa08ed5544
@ -91,6 +91,7 @@ EXPORT_SYMBOL(clk_put);
|
|||||||
|
|
||||||
int clk_set_rate(struct clk *clk, unsigned long rate)
|
int clk_set_rate(struct clk *clk, unsigned long rate)
|
||||||
{
|
{
|
||||||
|
unsigned int rate_khz = rate / 1000;
|
||||||
struct cpufreq_frequency_table *pos;
|
struct cpufreq_frequency_table *pos;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int regval;
|
int regval;
|
||||||
@ -107,9 +108,9 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
|
|||||||
propagate_rate(clk);
|
propagate_rate(clk);
|
||||||
|
|
||||||
cpufreq_for_each_valid_entry(pos, loongson2_clockmod_table)
|
cpufreq_for_each_valid_entry(pos, loongson2_clockmod_table)
|
||||||
if (rate == pos->frequency)
|
if (rate_khz == pos->frequency)
|
||||||
break;
|
break;
|
||||||
if (rate != pos->frequency)
|
if (rate_khz != pos->frequency)
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
|
|
||||||
clk->rate = rate;
|
clk->rate = rate;
|
||||||
|
Loading…
Reference in New Issue
Block a user