On 11/29/2016 04:34 AM, Richard Cochran wrote: > On Mon, Nov 28, 2016 at 05:03:36PM -0600, Grygorii Strashko wrote: >> +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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html