> In preparation for making the clockevents core NTP correction aware,
> all clockevent device drivers must set ->min_delta_ticks and
> ->max_delta_ticks rather than ->min_delta_ns and ->max_delta_ns: a
> clockevent device's rate is going to change dynamically and thus, the
> ratio of ns to ticks ceases to stay invariant.
>
> Make the unicore32 arch's clockevent driver initialize these fields
> properly.
>
> This patch alone doesn't introduce any change in functionality as the
> clockevents core still looks exclusively at the (untouched) ->min_delta_ns
> and ->max_delta_ns. As soon as this has changed, a followup patch will
> purge the initialization of ->min_delta_ns and ->max_delta_ns from this
> driver.
>
> Signed-off-by: Nicolai Stange <[email protected]>

Thanks,
Acked-by: Guan Xuetao <[email protected]>

> ---
>
> Notes:
>     This prerequisite patch is part of a larger effort to feed NTP
>     corrections into the clockevent devices' frequencies and thus
>     avoiding their notion of time to diverge from the system's
>     one. If you're interested, the current state of the whole series
>     can be found at [1].
>
>     If you haven't got any objections and these prerequisites get
>     merged by 4.12 everywhere, I'll proceed with the remainder of
>     this series in 4.13.
>
>     Applicable to next-20170324 as well as to John' Stultz tree [2].
>
>     [1]
>       git://nicst.de/linux.git cev-freq-adj.v10.fortglx-4.12-time
>       
> https://nicst.de/git/?p=linux.git;a=shortlog;h=refs/heads/cev-freq-adj.v10.fortglx-4.12-time
>
>     [2]
>       https://git.linaro.org/people/john.stultz/linux.git
> fortglx/4.12/time
>
>  arch/unicore32/kernel/time.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/unicore32/kernel/time.c b/arch/unicore32/kernel/time.c
> index fceaa673f861..c6b3fa3ee0b6 100644
> --- a/arch/unicore32/kernel/time.c
> +++ b/arch/unicore32/kernel/time.c
> @@ -91,8 +91,10 @@ void __init time_init(void)
>
>       ckevt_puv3_osmr0.max_delta_ns =
>               clockevent_delta2ns(0x7fffffff, &ckevt_puv3_osmr0);
> +     ckevt_puv3_osmr0.max_delta_ticks = 0x7fffffff;
>       ckevt_puv3_osmr0.min_delta_ns =
>               clockevent_delta2ns(MIN_OSCR_DELTA * 2, &ckevt_puv3_osmr0) + 1;
> +     ckevt_puv3_osmr0.min_delta_ticks = MIN_OSCR_DELTA * 2;
>       ckevt_puv3_osmr0.cpumask = cpumask_of(0);
>
>       setup_irq(IRQ_TIMER0, &puv3_timer_irq);
> --
> 2.12.0
>

Reply via email to