]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
clockevents/drivers/sh_cmt: Set ->min_delta_ticks and ->max_delta_ticks
authorNicolai Stange <nicstange@gmail.com>
Thu, 30 Mar 2017 20:09:12 +0000 (22:09 +0200)
committerJohn Stultz <john.stultz@linaro.org>
Fri, 14 Apr 2017 20:11:15 +0000 (13:11 -0700)
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 sh_cmt 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.

Cc: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Nicolai Stange <nicstange@gmail.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
drivers/clocksource/sh_cmt.c

index e3bf3baa12ccb033dc76ae4382ca2c8f218fb04c..e09e8bf0bb9bf53680ea50aebff431aa76f6078a 100644 (file)
@@ -815,7 +815,9 @@ static int sh_cmt_register_clockevent(struct sh_cmt_channel *ch,
        ced->shift = 32;
        ced->mult = div_sc(ch->cmt->rate, NSEC_PER_SEC, ced->shift);
        ced->max_delta_ns = clockevent_delta2ns(ch->max_match_value, ced);
+       ced->max_delta_ticks = ch->max_match_value;
        ced->min_delta_ns = clockevent_delta2ns(0x1f, ced);
+       ced->min_delta_ticks = 0x1f;
 
        dev_info(&ch->cmt->pdev->dev, "ch%u: used for clock events\n",
                 ch->index);