On 30.3.2017 21:45, 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 > --- > > 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; > 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); > > Applied as microblaze: Set ->min_delta_ticks and ->max_delta_ticks for timer With Daniel's ACK. Thanks, Michal -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Xilinx Microblaze Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP SoCs