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