Messages in this thread | | | Date | Fri, 31 Mar 2017 09:59:08 +0800 (CST) | Subject | Re: [PATCH] unicore32/time: set ->min_delta_ticks and ->max_delta_ticks | From | "Xuetao Guan" <> |
| |
> 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 <nicstange@gmail.com>
Thanks, Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
> --- > > 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 >
| |