diff options
| -rw-r--r-- | arch/arm/mach-pxa/time.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-sa1100/time.c | 17 | 
2 files changed, 12 insertions, 12 deletions
diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c index 72b15e9a373a..7dad3f1465e0 100644 --- a/arch/arm/mach-pxa/time.c +++ b/arch/arm/mach-pxa/time.c @@ -91,9 +91,10 @@ pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	/* Loop until we get ahead of the free running timer.  	 * This ensures an exact clock tick count and time accuracy. -	 * IRQs are disabled inside the loop to ensure coherence between -	 * lost_ticks (updated in do_timer()) and the match reg value, so we -	 * can use do_gettimeofday() from interrupt handlers. +	 * Since IRQs are disabled at this point, coherence between +	 * lost_ticks(updated in do_timer()) and the match reg value is +	 * ensured, hence we can use do_gettimeofday() from interrupt +	 * handlers.  	 *  	 * HACK ALERT: it seems that the PXA timer regs aren't updated right  	 * away in all cases when a write occurs.  We therefore compare with diff --git a/arch/arm/mach-sa1100/time.c b/arch/arm/mach-sa1100/time.c index 0eeb3616ffea..a084b38698cf 100644 --- a/arch/arm/mach-sa1100/time.c +++ b/arch/arm/mach-sa1100/time.c @@ -70,15 +70,6 @@ static unsigned long sa1100_gettimeoffset (void)  	return usec;  } -/* - * We will be entered with IRQs enabled. - * - * Loop until we get ahead of the free running timer. - * This ensures an exact clock tick count and time accuracy. - * IRQs are disabled inside the loop to ensure coherence between - * lost_ticks (updated in do_timer()) and the match reg value, so we - * can use do_gettimeofday() from interrupt handlers. - */  static irqreturn_t  sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  { @@ -86,6 +77,14 @@ sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	write_seqlock(&xtime_lock); +	/* +	 * Loop until we get ahead of the free running timer. +	 * This ensures an exact clock tick count and time accuracy. +	 * Since IRQs are disabled at this point, coherence between +	 * lost_ticks(updated in do_timer()) and the match reg value is +	 * ensured, hence we can use do_gettimeofday() from interrupt +	 * handlers. +	 */  	do {  		timer_tick(regs);  		OSSR = OSSR_M0;  /* Clear match on timer 0 */  |