Commit 2886a734 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge branch 'fortglx/4.12/time' of...

Merge branch 'fortglx/4.12/time' of https://git.linaro.org/people/john.stultz/linux into timers/core

Merge timer updates from John Stultz:

 A preparatory patch series for correcting the clock event devices via NTP
 to avoid early timer expiry and reprogramming.
parents ad196384 6fc46497
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -230,7 +230,9 @@ static void __init bfin_gptmr0_clockevent_init(struct clock_event_device *evt)
	clock_tick = get_sclk();
	evt->mult = div_sc(clock_tick, NSEC_PER_SEC, evt->shift);
	evt->max_delta_ns = clockevent_delta2ns(-1, evt);
	evt->max_delta_ticks = (unsigned long)-1;
	evt->min_delta_ns = clockevent_delta2ns(100, evt);
	evt->min_delta_ticks = 100;

	evt->cpumask = cpumask_of(0);

@@ -344,7 +346,9 @@ void bfin_coretmr_clockevent_init(void)
	clock_tick = get_cclk() / TIME_SCALE;
	evt->mult = div_sc(clock_tick, NSEC_PER_SEC, evt->shift);
	evt->max_delta_ns = clockevent_delta2ns(-1, evt);
	evt->max_delta_ticks = (unsigned long)-1;
	evt->min_delta_ns = clockevent_delta2ns(100, evt);
	evt->min_delta_ticks = 100;

	evt->cpumask = cpumask_of(cpu);

+2 −0
Original line number Diff line number Diff line
@@ -234,7 +234,9 @@ void __init timer64_init(void)
	clockevents_calc_mult_shift(cd, c6x_core_freq / TIMER_DIVISOR, 5);

	cd->max_delta_ns	= clockevent_delta2ns(0x7fffffff, cd);
	cd->max_delta_ticks	= 0x7fffffff;
	cd->min_delta_ns	= clockevent_delta2ns(250, cd);
	cd->min_delta_ticks	= 250;

	cd->cpumask		= cpumask_of(smp_processor_id());

+2 −0
Original line number Diff line number Diff line
@@ -199,7 +199,9 @@ void __init time_init_deferred(void)
	clockevents_calc_mult_shift(ce_dev, sleep_clk_freq, 4);

	ce_dev->max_delta_ns = clockevent_delta2ns(0x7fffffff, ce_dev);
	ce_dev->max_delta_ticks = 0x7fffffff;
	ce_dev->min_delta_ns = clockevent_delta2ns(0xf, ce_dev);
	ce_dev->min_delta_ticks = 0xf;

#ifdef CONFIG_SMP
	setup_percpu_clockdev();
+2 −0
Original line number Diff line number Diff line
@@ -149,8 +149,10 @@ void hw_timer_init(irq_handler_t handler)
	cf_pit_clockevent.mult = div_sc(FREQ, NSEC_PER_SEC, 32);
	cf_pit_clockevent.max_delta_ns =
		clockevent_delta2ns(0xFFFF, &cf_pit_clockevent);
	cf_pit_clockevent.max_delta_ticks = 0xFFFF;
	cf_pit_clockevent.min_delta_ns =
		clockevent_delta2ns(0x3f, &cf_pit_clockevent);
	cf_pit_clockevent.min_delta_ticks = 0x3f;
	clockevents_register_device(&cf_pit_clockevent);

	setup_irq(MCF_IRQ_PIT1, &pit_irq);
+3 −1
Original line number Diff line number Diff line
@@ -138,7 +138,9 @@ static int __init alchemy_time_init(unsigned int m2int)
	cd->shift = 32;
	cd->mult = div_sc(32768, NSEC_PER_SEC, cd->shift);
	cd->max_delta_ns = clockevent_delta2ns(0xffffffff, cd);
	cd->min_delta_ns = clockevent_delta2ns(9, cd);	/* ~0.28ms */
	cd->max_delta_ticks = 0xffffffff;
	cd->min_delta_ns = clockevent_delta2ns(9, cd);
	cd->min_delta_ticks = 9;	/* ~0.28ms */
	clockevents_register_device(cd);
	setup_irq(m2int, &au1x_rtcmatch2_irqaction);

Loading