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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 23 Oct 2007, Atsushi Nemoto wrote:
> Added Thomas Gleixner for CC list.
> 
> On Tue, 23 Oct 2007 11:15:58 +0900, Yoichi Yuasa <yoichi_yuasa@xxxxxxxxxxxxxx> wrote:
> > > > > 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
> IRQF_DISABLED flag.
> 
> 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?

Actually all call sites have interrupts disabled right now and I can
not think of a reason why we would ever call with interrupts
enabled. Time to add some comment.

	 tglx


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux