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

Emmanuel Vadot manu at FreeBSD.org
Thu Mar 7 19:28:48 UTC 2019


Author: manu
Date: Thu Mar  7 19:28:47 2019
New Revision: 344893
URL: https://svnweb.freebsd.org/changeset/base/344893

Log:
  arm: allwinner: Fix NM clock recalc
  
  If the NM clock is using a fractional divider the formula isn't the same.

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	Thu Mar  7 18:57:43 2019	(r344892)
+++ head/sys/arm/allwinner/clkng/aw_clk_nm.c	Thu Mar  7 19:28:47 2019	(r344893)
@@ -300,7 +300,11 @@ aw_clk_nm_recalc(struct clknode *clk, uint64_t *freq)
 		else
 			prediv = 1;
 
-		*freq = *freq / prediv / n / m;
+		/* For FRAC NM the formula is freq_parent * n / m */
+		if (sc->flags & AW_CLK_HAS_FRAC)
+			*freq = *freq * n / m;
+		else
+			*freq = *freq / prediv / n / m;
 	}
 
 	return (0);


More information about the svn-src-head mailing list