mirror of https://gitee.com/openkylin/linux.git
ARM: 5958/1: ARM: U300: fix inverted clk round rate
The clk_round_rate() functions in the U300 clocking will always select the lowest clocking frequency due to inverted rounding comparisons. Fix this. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
fcfadcaa57
commit
cd71f8f48e
|
@ -610,34 +610,34 @@ EXPORT_SYMBOL(clk_get_rate);
|
|||
|
||||
static unsigned long clk_round_rate_mclk(struct clk *clk, unsigned long rate)
|
||||
{
|
||||
if (rate >= 18900000)
|
||||
if (rate <= 18900000)
|
||||
return 18900000;
|
||||
if (rate >= 20800000)
|
||||
if (rate <= 20800000)
|
||||
return 20800000;
|
||||
if (rate >= 23100000)
|
||||
if (rate <= 23100000)
|
||||
return 23100000;
|
||||
if (rate >= 26000000)
|
||||
if (rate <= 26000000)
|
||||
return 26000000;
|
||||
if (rate >= 29700000)
|
||||
if (rate <= 29700000)
|
||||
return 29700000;
|
||||
if (rate >= 34700000)
|
||||
if (rate <= 34700000)
|
||||
return 34700000;
|
||||
if (rate >= 41600000)
|
||||
if (rate <= 41600000)
|
||||
return 41600000;
|
||||
if (rate >= 52000000)
|
||||
if (rate <= 52000000)
|
||||
return 52000000;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static unsigned long clk_round_rate_cpuclk(struct clk *clk, unsigned long rate)
|
||||
{
|
||||
if (rate >= 13000000)
|
||||
if (rate <= 13000000)
|
||||
return 13000000;
|
||||
if (rate >= 52000000)
|
||||
if (rate <= 52000000)
|
||||
return 52000000;
|
||||
if (rate >= 104000000)
|
||||
if (rate <= 104000000)
|
||||
return 104000000;
|
||||
if (rate >= 208000000)
|
||||
if (rate <= 208000000)
|
||||
return 208000000;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue