From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] ARM: CSR: Adding CSR SiRFprimaII board support
Date: Wed, 6 Jul 2011 12:04:39 +0100 [thread overview]
Message-ID: <20110706110439.GP8286@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1309945678-18813-2-git-send-email-bs14@csr.com>
On Wed, Jul 06, 2011 at 02:47:56AM -0700, Barry Song wrote:
> +static int sirfsoc_timer_set_next_event(unsigned long delta,
> + struct clock_event_device *ce)
> +{
> + unsigned long now, next;
> +
> + writel_relaxed(SIRFSOC_TIMER_LATCH_BIT, sirfsoc_timer_base + SIRFSOC_TIMER_LATCH);
> + now = readl_relaxed(sirfsoc_timer_base + SIRFSOC_TIMER_LATCHED_LO);
> + do {
> + next = now + delta;
> + writel_relaxed(next, sirfsoc_timer_base + SIRFSOC_TIMER_MATCH_0);
> + writel_relaxed(SIRFSOC_TIMER_LATCH_BIT, sirfsoc_timer_base + SIRFSOC_TIMER_LATCH);
> + now = readl_relaxed(sirfsoc_timer_base + SIRFSOC_TIMER_LATCHED_LO);
> + } while ((next - now) > delta);
> +
> + return 0;
> +}
Please have a look at any of the callsites of clockevents_program_event()
in kernel/time/. You'll notice that they loop in some fashion should your
set_next_event() return -ETIME.
As there is the possibility that if you can't program the event (because
it has already passed) then it is likely that there is some work which
needs to be done before the next event is set. So the repeat logic should
stay in the common code and not be duplicated in each platform.
next prev parent reply other threads:[~2011-07-06 11:04 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-06 9:47 [PATCH 0/3] ARM: CSR: Adding CSR SiRFprimaII platform Barry Song
2011-07-06 9:47 ` [PATCH 1/3] ARM: CSR: Adding CSR SiRFprimaII board support Barry Song
2011-07-06 11:04 ` Russell King - ARM Linux [this message]
2011-07-06 15:16 ` Barry Song
2011-07-06 11:41 ` Arnd Bergmann
2011-07-06 12:22 ` Barry Song
2011-07-06 13:44 ` Arnd Bergmann
2011-07-07 2:26 ` Barry Song
2011-07-06 12:25 ` Russell King - ARM Linux
2011-07-06 12:42 ` Arnd Bergmann
2011-07-06 13:09 ` Russell King - ARM Linux
2011-07-06 14:41 ` Arnd Bergmann
2011-07-06 15:25 ` Russell King - ARM Linux
2011-07-06 16:13 ` Arnd Bergmann
2011-07-06 13:29 ` Russell King - ARM Linux
2011-07-06 14:51 ` Russell King - ARM Linux
2011-07-06 15:03 ` Arnd Bergmann
2011-07-06 16:35 ` Nicolas Pitre
2011-07-06 17:42 ` Russell King - ARM Linux
2011-07-06 17:59 ` Arnd Bergmann
2011-07-06 18:11 ` Nicolas Pitre
2011-07-06 18:15 ` Russell King - ARM Linux
2011-07-06 18:35 ` Nicolas Pitre
2011-07-06 18:09 ` Nicolas Pitre
2011-07-07 11:23 ` Arnd Bergmann
2011-07-06 16:09 ` Barry Song
2011-07-06 19:10 ` Russell King - ARM Linux
2011-07-06 20:31 ` Arnd Bergmann
2011-07-06 20:50 ` Russell King - ARM Linux
2011-07-06 21:21 ` Arnd Bergmann
2011-07-07 1:20 ` Barry Song
2011-07-07 11:43 ` Arnd Bergmann
2011-07-07 12:37 ` Russell King - ARM Linux
2011-07-07 13:21 ` Arnd Bergmann
2011-07-07 14:12 ` Russell King - ARM Linux
2011-07-08 2:18 ` Barry Song
2011-07-08 9:03 ` Russell King - ARM Linux
2011-07-08 13:38 ` Nicolas Pitre
2011-07-08 16:27 ` Russell King - ARM Linux
2011-07-08 18:09 ` Nicolas Pitre
2011-07-08 21:37 ` Arnd Bergmann
2011-07-21 0:03 ` dynamic VMALLOC_END, was " Nicolas Pitre
2011-07-06 9:47 ` [PATCH 2/3] ARM: CSR: mapping early DEBUG_LL uart Barry Song
2011-07-06 11:05 ` Russell King - ARM Linux
2011-07-06 11:53 ` Barry Song
2011-07-06 11:56 ` Barry Song
2011-07-06 12:10 ` Russell King - ARM Linux
2011-07-06 12:29 ` Barry Song
2011-07-06 11:15 ` Arnd Bergmann
2011-07-06 9:47 ` [PATCH 3/3] ARM: CSR: initilized L2 cache Barry Song
2011-07-06 11:14 ` Arnd Bergmann
[not found] <e66253df-b34a-4c32-bddf-31b1332c716c@VA3EHSMHS031.ehs.local>
2011-07-07 13:48 ` [PATCH 1/3] ARM: CSR: Adding CSR SiRFprimaII board support johnlinn at comcast.net
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=20110706110439.GP8286@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).