Date: Fri, 29 Mar 2019 19:40:05 +0000 (UTC) From: Emmanuel Vadot <manu@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r345711 - head/sys/arm/allwinner/clkng Message-ID: <201903291940.x2TJe5PE016068@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: manu Date: Fri Mar 29 19:40:04 2019 New Revision: 345711 URL: https://svnweb.freebsd.org/changeset/base/345711 Log: arm: allwinner: clk: Fix nm_recalc When comparing best frequencies use the absolute value. If we do not do that we end up choosing an always lower value than the best one if the exact freq cannot be met. MFC after: 2 weeks Modified: head/sys/arm/allwinner/clkng/aw_clk_nm.c Modified: head/sys/arm/allwinner/clkng/aw_clk_nm.c ============================================================================== --- head/sys/arm/allwinner/clkng/aw_clk_nm.c Fri Mar 29 18:51:14 2019 (r345710) +++ head/sys/arm/allwinner/clkng/aw_clk_nm.c Fri Mar 29 19:40:04 2019 (r345711) @@ -155,7 +155,7 @@ aw_clk_nm_find_best(struct aw_clk_nm_sc *sc, uint64_t for (m = min_m; m <= max_m; ) { for (n = min_m; n <= max_n; ) { cur = fparent / n / m; - if ((*fout - cur) < (*fout - best)) { + if (abs(*fout - cur) < abs(*fout - best)) { best = cur; *factor_n = n; *factor_m = m;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903291940.x2TJe5PE016068>