Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Apr 2016 12:36:12 +0000 (UTC)
From:      Jared McNeill <jmcneill@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r298634 - head/sys/arm/allwinner/clk
Message-ID:  <201604261236.u3QCaCS1090143@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jmcneill
Date: Tue Apr 26 12:36:12 2016
New Revision: 298634
URL: https://svnweb.freebsd.org/changeset/base/298634

Log:
  Fix calculation of LCD CH1 SCLK1 output frequency when SCLK2 /2 is used
  as source.
  
  PR:		208680
  Reported by:	David Binderman <dcb314@hotmail.com>

Modified:
  head/sys/arm/allwinner/clk/aw_lcdclk.c

Modified: head/sys/arm/allwinner/clk/aw_lcdclk.c
==============================================================================
--- head/sys/arm/allwinner/clk/aw_lcdclk.c	Tue Apr 26 12:33:25 2016	(r298633)
+++ head/sys/arm/allwinner/clk/aw_lcdclk.c	Tue Apr 26 12:36:12 2016	(r298634)
@@ -266,7 +266,7 @@ static int
 aw_lcdclk_recalc_freq(struct clknode *clk, uint64_t *freq)
 {
 	struct aw_lcdclk_softc *sc;
-	uint32_t val, m;
+	uint32_t val, m, src_sel;
 
 	sc = clknode_get_softc(clk);
 
@@ -281,7 +281,8 @@ aw_lcdclk_recalc_freq(struct clknode *cl
 	*freq = *freq / m;
 
 	if (sc->id == CLK_IDX_CH1_SCLK1) {
-		if ((val & CH1_SCLK1_SEL) == CH1_SCLK1_SEL_SCLK2_DIV2)
+		src_sel = (val & CH1_SCLK1_SEL) >> CH1_SCLK1_SEL_SHIFT;
+		if (src_sel == CH1_SCLK1_SEL_SCLK2_DIV2)
 			*freq /= 2;
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604261236.u3QCaCS1090143>