[PATCH v3 1/3] clocksource: timer-keystone: introduce clocksource driver for Keystone

Stephen Boyd sboyd at codeaurora.org
Thu Dec 26 14:42:55 EST 2013


On 12/26, ivan.khoronzhuk wrote:
> On 12/26/2013 08:22 PM, Stephen Boyd wrote:
> > On 12/25, Ivan Khoronzhuk wrote:
> >> +
> >> +	/* enable timer interrupts */
> >> +	keystone_timer_writel(INTCTLSTAT_ENINT_MASK, INTCTLSTAT);
> >> +
> >> +	error = request_irq(irq, keystone_timer_interrupt, IRQF_TIMER,
> >> +			    TIMER_NAME, event_dev);
> >> +	if (error) {
> >> +		pr_err("%s: failed to setup irq\n", __func__);
> >> +		goto err;
> >> +	}
> >> +
> >> +	/* setup clockevent */
> >> +	event_dev->features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT;
> >> +	event_dev->set_next_event = keystone_set_next_event;
> >> +	event_dev->set_mode = keystone_set_mode;
> >> +	event_dev->cpumask = cpu_all_mask;
> >> +	event_dev->owner = THIS_MODULE;
> >> +	event_dev->name = TIMER_NAME;
> >> +	event_dev->irq = irq;
> >> +
> >> +	clockevents_config_and_register(event_dev, rate, 1, ULONG_MAX);
> >> +
> > 
> > I hope you don't get an interrupt before you register the
> > clockevent. You might want to reorder the interrupt request and
> > the clockevent registration so that it isn't a problem. Other
> > than that you can have my
> > 
> > Reviewed-by: Stephen Boyd <sboyd at codeaurora.org>
> > 
> 
> Thanks.
> 
> While interrupt enabling the timer is disabled, so it cannot generate interrupt.
> The timer will be enabled when next event is set by clockevent core.
> 

Ok, I was thinking more like the interrupt is level triggered and
the bootloader left it triggered. Sounds like that doesn't
happen.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation



More information about the linux-arm-kernel mailing list