Currently the divider is always rounded down, which may lead to a
rather big overshoot of the display clock. Try to match the clock
better by rounding to closest.

Signed-off-by: Lucas Stach <[email protected]>
---
 drivers/video/imx-ipu-v3/ipu-di.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/video/imx-ipu-v3/ipu-di.c 
b/drivers/video/imx-ipu-v3/ipu-di.c
index b6e64fe16a85..5751c678b28e 100644
--- a/drivers/video/imx-ipu-v3/ipu-di.c
+++ b/drivers/video/imx-ipu-v3/ipu-di.c
@@ -140,10 +140,7 @@ static int ipu_di_clk_calc_div(unsigned long inrate, 
unsigned long outrate)
        int div;
 
        tmp *= 16;
-
-       do_div(tmp, outrate);
-
-       div = tmp;
+       div = DIV_ROUND_CLOSEST(tmp, outrate);
 
        if (div < 0x10)
                div = 0x10;
-- 
2.19.1


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to