summaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/timer-atlas7.c
diff options
context:
space:
mode:
authorNicolai Stange <nicstange@gmail.com>2017-03-30 22:10:21 +0200
committerJohn Stultz <john.stultz@linaro.org>2017-04-14 13:11:15 -0700
commit547733c58dc3d2a50af762d4fdaf1d552e6b31cd (patch)
tree8f25cc7e3a39d22cdb6bb5fbe5a771a5c39f6286 /drivers/clocksource/timer-atlas7.c
parentbb2e94ac0cf4628f5e5f778c8de4a376dac43558 (diff)
downloadlinux-547733c58dc3d2a50af762d4fdaf1d552e6b31cd.tar.gz
linux-547733c58dc3d2a50af762d4fdaf1d552e6b31cd.tar.bz2
linux-547733c58dc3d2a50af762d4fdaf1d552e6b31cd.zip
clockevents/drivers/atlas7: Set ->min_delta_ticks and ->max_delta_ticks
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 timer-atlas7 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> Cc: Barry Song <baohua@kernel.org> Cc: linux-arm-kernel@lists.infradead.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>
Diffstat (limited to 'drivers/clocksource/timer-atlas7.c')
-rw-r--r--drivers/clocksource/timer-atlas7.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/clocksource/timer-atlas7.c b/drivers/clocksource/timer-atlas7.c
index 3d8a181f0252..50300eec4a39 100644
--- a/drivers/clocksource/timer-atlas7.c
+++ b/drivers/clocksource/timer-atlas7.c
@@ -192,7 +192,9 @@ static int sirfsoc_local_timer_starting_cpu(unsigned int cpu)
ce->set_next_event = sirfsoc_timer_set_next_event;
clockevents_calc_mult_shift(ce, atlas7_timer_rate, 60);
ce->max_delta_ns = clockevent_delta2ns(-2, ce);
+ ce->max_delta_ticks = (unsigned long)-2;
ce->min_delta_ns = clockevent_delta2ns(2, ce);
+ ce->min_delta_ticks = 2;
ce->cpumask = cpumask_of(cpu);
action->dev_id = ce;