Re: [PATCH] microblaze/timer: set ->min_delta_ticks and ->max_delta_ticks

From: Michal Simek
Date: Mon May 29 2017 - 05:03:34 EST


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 <nicstange@xxxxxxxxx>
> ---
>
> 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


Attachment: signature.asc
Description: OpenPGP digital signature