From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: tglx@linutronix.de, mingo@kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH 10/13] clocksource: sirf: Disable counter before re-setting it
Date: Mon, 29 Sep 2014 02:23:43 +0200 [thread overview]
Message-ID: <1411950226-21598-10-git-send-email-daniel.lezcano@linaro.org> (raw)
In-Reply-To: <1411950226-21598-1-git-send-email-daniel.lezcano@linaro.org>
From: Hao Liu <Hao.Liu@csr.com>
According to HW spec, we have to disable the counter before setting
it, if we don't this, in pressure test, sometimes the timer might
not generate interrupt any more.
And this patch also fixes a typo for register set by changing 0x7
to 0x3. 0x7 is loop mode in HW, but here we are using oneshot 0x3.
Signed-off-by: Hao Liu <Hao.Liu@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
drivers/clocksource/timer-marco.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/clocksource/timer-marco.c b/drivers/clocksource/timer-marco.c
index 330e930..caf7a20 100644
--- a/drivers/clocksource/timer-marco.c
+++ b/drivers/clocksource/timer-marco.c
@@ -63,7 +63,7 @@ static inline void sirfsoc_timer_count_disable(int idx)
/* enable count and interrupt */
static inline void sirfsoc_timer_count_enable(int idx)
{
- writel_relaxed(readl_relaxed(sirfsoc_timer_base + SIRFSOC_TIMER_32COUNTER_0_CTRL + 4 * idx) | 0x7,
+ writel_relaxed(readl_relaxed(sirfsoc_timer_base + SIRFSOC_TIMER_32COUNTER_0_CTRL + 4 * idx) | 0x3,
sirfsoc_timer_base + SIRFSOC_TIMER_32COUNTER_0_CTRL + 4 * idx);
}
@@ -103,6 +103,9 @@ static int sirfsoc_timer_set_next_event(unsigned long delta,
{
int cpu = smp_processor_id();
+ /* disable timer first, then modify the related registers */
+ sirfsoc_timer_count_disable(cpu);
+
writel_relaxed(0, sirfsoc_timer_base + SIRFSOC_TIMER_COUNTER_0 +
4 * cpu);
writel_relaxed(delta, sirfsoc_timer_base + SIRFSOC_TIMER_MATCH_0 +
--
1.9.1
next prev parent reply other threads:[~2014-09-29 0:24 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-29 0:18 [GIT PULL] : clockevents/clocksource for 3.18 Daniel Lezcano
2014-09-29 0:23 ` [PATCH 01/13] clocksource: sh_cmt: Document SoC specific bindings Daniel Lezcano
2014-09-29 0:23 ` [PATCH 02/13] clocksource: sh_mtu2: Document r7s72100 binding Daniel Lezcano
2014-09-29 0:23 ` [PATCH 03/13] clocksource: sh_tmu: Document r8a7779 binding Daniel Lezcano
2014-09-29 0:23 ` [PATCH 04/13] ARM: meson: documentation: Add timer documentation Daniel Lezcano
2014-09-29 0:23 ` [PATCH 05/13] ARM: meson6: clocksource: Add Meson6 timer support Daniel Lezcano
2014-09-29 0:23 ` [PATCH 06/13] clocksource: vf_pit_timer: Support shutdown mode Daniel Lezcano
2014-09-29 0:23 ` [PATCH 07/13] clocksource: arm_arch_timer: Discard unavailable timers correctly Daniel Lezcano
2014-09-29 0:23 ` [PATCH 08/13] clocksource: tcb_clksrc: Sanitize IRQ request Daniel Lezcano
2014-09-29 0:23 ` [PATCH 09/13] clocksource: cadence_ttc: Add support for 32bit mode Daniel Lezcano
2014-09-29 0:23 ` Daniel Lezcano [this message]
2014-09-29 0:23 ` [PATCH 11/13] clocksource: arm_arch_timer: Change clocksource name if CP15 unavailable Daniel Lezcano
2014-09-29 0:23 ` [PATCH 12/13] clocksource: arm_arch_timer: Enable counter access for 32-bit ARM Daniel Lezcano
2014-09-29 0:23 ` [PATCH 13/13] clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable Daniel Lezcano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1411950226-21598-10-git-send-email-daniel.lezcano@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome