On 09/14/2016 05:25 PM, Richard Cochran wrote:
On Wed, Sep 14, 2016 at 04:02:30PM +0300, Grygorii Strashko wrote:
quoted
@@ -427,9 +427,6 @@ static void cpts_calc_mult_shift(struct cpts *cpts)
u64 ns;
u64 frac;
- if (cpts->cc_mult || cpts->cc.shift)
- return;
-
freq = clk_get_rate(cpts->refclk);
/* Calc the maximum number of seconds which we can run before
This hunk has nothing to do with $subject.
Sry, but I did not get your comment here :(
I'd happy to update patch according to your request, but could you provide more info here, pls?
quoted
@@ -442,11 +439,20 @@ static void cpts_calc_mult_shift(struct cpts *cpts)
else if (maxsec > 600 && cpts->cc.mask > UINT_MAX)
maxsec = 600;
+ /* Calc overflow check period (maxsec / 2) */
+ cpts->ov_check_period = (HZ * maxsec) / 2;
+ dev_info(cpts->dev, "cpts: overflow check period %lu\n",
+ cpts->ov_check_period);
+
+ if (cpts->cc_mult || cpts->cc.shift)
+ return;
+
clocks_calc_mult_shift(&mult, &shift, freq, NSEC_PER_SEC, maxsec);
cpts->cc_mult = mult;
cpts->cc.mult = mult;
cpts->cc.shift = shift;
+
Nor does this.
--
regards,
-grygorii