svn commit: r345711 - head/sys/arm/allwinner/clkng

Emmanuel Vadot manu at FreeBSD.org
Fri Mar 29 19:40:06 UTC 2019


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;


More information about the svn-src-all mailing list