On Mon, Nov 12, 2018 at 05:22:56PM +0100, Lucas Stach wrote: > 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 <l.stach@xxxxxxxxxxxxxx> > --- > 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); > On ARM32 this fails with: undefined reference to `__aeabi_uldivmod' Fixed up like this: ----------------------------8<------------------------- >From 6b14328204f3978abeb91e8e779f6444c3c74df8 Mon Sep 17 00:00:00 2001 From: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon, 12 Nov 2018 17:22:56 +0100 Subject: [PATCH] video: ipuv3: use closest fractional divider 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 <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- drivers/video/imx-ipu-v3/ipu-di.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/imx-ipu-v3/ipu-di.c b/drivers/video/imx-ipu-v3/ipu-di.c index b6e64fe16a..b4302412e0 100644 --- a/drivers/video/imx-ipu-v3/ipu-di.c +++ b/drivers/video/imx-ipu-v3/ipu-di.c @@ -140,6 +140,7 @@ static int ipu_di_clk_calc_div(unsigned long inrate, unsigned long outrate) int div; tmp *= 16; + tmp += outrate / 2; do_div(tmp, outrate); -- 2.19.1 -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox