mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 09:12:08 +02:00
clk: at91: clk-generated: select absolute closest rate
To get the same behavior as the Linux driver, instead of selecting the closest inferior rate, select the closest inferior or superior rate Signed-off-by: Ludovic Desroches <ludovic.desroches@microchip.com> Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
This commit is contained in:
committed by
Tom Rini
parent
9e0eb01239
commit
eb1ed2b19b
@@ -98,9 +98,7 @@ static ulong generic_clk_set_rate(struct clk *clk, ulong rate)
|
|||||||
|
|
||||||
for (div = 1; div < GENERATED_MAX_DIV + 2; div++) {
|
for (div = 1; div < GENERATED_MAX_DIV + 2; div++) {
|
||||||
tmp_rate = DIV_ROUND_CLOSEST(parent_rate, div);
|
tmp_rate = DIV_ROUND_CLOSEST(parent_rate, div);
|
||||||
if (rate < tmp_rate)
|
tmp_diff = abs(rate - tmp_rate);
|
||||||
continue;
|
|
||||||
tmp_diff = rate - tmp_rate;
|
|
||||||
|
|
||||||
if (best_diff < 0 || best_diff > tmp_diff) {
|
if (best_diff < 0 || best_diff > tmp_diff) {
|
||||||
best_rate = tmp_rate;
|
best_rate = tmp_rate;
|
||||||
|
Reference in New Issue
Block a user