Thread (30 messages) 30 messages, 3 authors, 2016-11-30

Re: [PATCH v2 12/13] net: ethernet: ti: cpts: calc mult and shift from refclk freq

From: Grygorii Strashko <grygorii.strashko@ti.com>
Date: 2016-11-29 16:22:45
Also in: linux-omap, lkml, netdev


On 11/29/2016 04:34 AM, Richard Cochran wrote:
On Mon, Nov 28, 2016 at 05:03:36PM -0600, Grygorii Strashko wrote:
quoted
+static void cpts_calc_mult_shift(struct cpts *cpts)
+{
+	u64 frac, maxsec, ns;
+	u32 freq, mult, shift;
+
+	freq = clk_get_rate(cpts->refclk);
+
+	/* Calc the maximum number of seconds which we can run before
+	 * wrapping around.
+	 */
+	maxsec = cpts->cc.mask;
+	do_div(maxsec, freq);
+	if (maxsec > 600 && cpts->cc.mask > UINT_MAX)
+		maxsec = 600;
The reason for this test is not obvious.  Why check cc.mask against
UINT_MAX?  Please use the comment to explain it.
Yeah. This is copy paste from __clocksource_update_freq_scale(), but
I'm going to limit it to 10 sec for now, because otherwise it will result in too small
mult in case of 64bit counter.

if (maxsec > 10)
	maxsec = 10;

-- 
regards,
-grygorii
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help