OSDN Git Service

ARM: PRIMA2: delete redundant codes to restore LATCHED when timer resumes
authorBarry Song <Baohua.Song@csr.com>
Mon, 30 Jul 2012 05:29:30 +0000 (13:29 +0800)
committerOlof Johansson <olof@lixom.net>
Thu, 2 Aug 2012 17:05:27 +0000 (10:05 -0700)
The only way to write LATCHED registers to write LATCH_BIT to LATCH register,
that will latch COUNTER into LATCHED.e.g.
writel_relaxed(SIRFSOC_TIMER_LATCH_BIT, sirfsoc_timer_base +
SIRFSOC_TIMER_LATCH);

Writing values to LATCHED registers directly is useless at all.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-prima2/timer.c

index 0d024b1..f224107 100644 (file)
@@ -132,11 +132,11 @@ static void sirfsoc_clocksource_resume(struct clocksource *cs)
 {
        int i;
 
-       for (i = 0; i < SIRFSOC_TIMER_REG_CNT; i++)
+       for (i = 0; i < SIRFSOC_TIMER_REG_CNT - 2; i++)
                writel_relaxed(sirfsoc_timer_reg_val[i], sirfsoc_timer_base + sirfsoc_timer_reg_list[i]);
 
-       writel_relaxed(sirfsoc_timer_reg_val[i - 2], sirfsoc_timer_base + SIRFSOC_TIMER_COUNTER_LO);
-       writel_relaxed(sirfsoc_timer_reg_val[i - 1], sirfsoc_timer_base + SIRFSOC_TIMER_COUNTER_HI);
+       writel_relaxed(sirfsoc_timer_reg_val[SIRFSOC_TIMER_REG_CNT - 2], sirfsoc_timer_base + SIRFSOC_TIMER_COUNTER_LO);
+       writel_relaxed(sirfsoc_timer_reg_val[SIRFSOC_TIMER_REG_CNT - 1], sirfsoc_timer_base + SIRFSOC_TIMER_COUNTER_HI);
 }
 
 static struct clock_event_device sirfsoc_clockevent = {