mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-18 10:34:24 +08:00
clk: sunxi: Fix incorrect usage of round_down()
round_down() can only round to powers of 2. If round_down() is asked
to round to something that is not a power of 2, incorrect results are
produced. The incorrect results can be both too large and too small.
Instead, use rounddown() which can round to any number.
Fixes: 6a721db180
("clk: sunxi: Add A31 clocks support")
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
This commit is contained in:
parent
8f3d9f3542
commit
ee25d9742d
@ -90,7 +90,7 @@ static void sun6i_a31_get_pll1_factors(struct factors_request *req)
|
|||||||
* Round down the frequency to the closest multiple of either
|
* Round down the frequency to the closest multiple of either
|
||||||
* 6 or 16
|
* 6 or 16
|
||||||
*/
|
*/
|
||||||
u32 round_freq_6 = round_down(freq_mhz, 6);
|
u32 round_freq_6 = rounddown(freq_mhz, 6);
|
||||||
u32 round_freq_16 = round_down(freq_mhz, 16);
|
u32 round_freq_16 = round_down(freq_mhz, 16);
|
||||||
|
|
||||||
if (round_freq_6 > round_freq_16)
|
if (round_freq_6 > round_freq_16)
|
||||||
|
Loading…
Reference in New Issue
Block a user