Messages in this thread | | | Date | Fri, 7 Apr 2017 15:14:29 +0200 | From | Daniel Lezcano <> | Subject | Re: [PATCH] microblaze/timer: set ->min_delta_ticks and ->max_delta_ticks |
| |
On Thu, Mar 30, 2017 at 09:45:28PM +0200, Nicolai Stange wrote: > 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 microblaze 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> > --- > > 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/microblaze/kernel/timer.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/microblaze/kernel/timer.c b/arch/microblaze/kernel/timer.c > index 999066192715..545ccd46edb3 100644 > --- a/arch/microblaze/kernel/timer.c > +++ b/arch/microblaze/kernel/timer.c > @@ -178,8 +178,10 @@ static __init int xilinx_clockevent_init(void) > clockevent_xilinx_timer.shift); > clockevent_xilinx_timer.max_delta_ns = > clockevent_delta2ns((u32)~0, &clockevent_xilinx_timer); > + clockevent_xilinx_timer.max_delta_ticks = (u32)~0;
Can you take the opportunity to fix the type (unsigned long) ?
> clockevent_xilinx_timer.min_delta_ns = > clockevent_delta2ns(1, &clockevent_xilinx_timer); > + clockevent_xilinx_timer.min_delta_ticks = 1; > clockevent_xilinx_timer.cpumask = cpumask_of(0); > clockevents_register_device(&clockevent_xilinx_timer); > > -- > 2.12.0 >
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
| |