[Top] [All Lists]

Re: [PATCH][MIPS] add GT641xx timer0 clockevent

Subject: Re: [PATCH][MIPS] add GT641xx timer0 clockevent
From: Atsushi Nemoto <>
Date: Tue, 23 Oct 2007 11:48:24 +0900 (JST)
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <>
Added Thomas Gleixner for CC list.

On Tue, 23 Oct 2007 11:15:58 +0900, Yoichi Yuasa <> 
> > > > These clockevent routines are always called with interrupt disabled,
> > > > so I suppose those spin_lock_irqsave/spin_unlock_irqrestore pairs can
> > > > be omitted. (or this timer can be used on SMP?)
> > > 
> > > Yes, it can be used on Malta(SMP).
> > 
> > Then spin_lock()/spin_unlock() is enough, isn't it?
> The timer control register(GT_TC_CONTROL_OFS) is shared with 4 timers.
> The 4 timers are connected with separate IRQ. 
> clockevents_program_event() and clockevents_set_mode() can be called from
> anywhere(in the kernel).
> I think that it's necessary for it.

Hmm... clockevents_set_mode() must be called with interrupt disabled
as stated in its comment.  There are no such a comment for
clockevents_program_event(), but it is always called with interrupt
disabled if the interrupt for the event was registered with

I agree that saving/restoring irq_flag would be safer, but I think it
can be omitted at least for now.

If clockevents_program_event() could be called with interrupt enabled,
mips_next_event() in cevt-r4k.c should be fixed.

Thomas, clockevents_program_event() (or ->set_next_event() method for
clock_event_device) is supposed to be called with interrupt enabled?

Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>