19 Dec, 2011
1 commit
-
sched_clock() is yet another blocker on the road to the single
image. This patch implements an idea by Russell King:http://www.spinics.net/lists/linux-omap/msg49561.html
Instead of asking the platform to implement both sched_clock()
itself and the rollover callback, simply register a read()
function, and let the ARM code care about sched_clock() itself,
the conversion to ns and the rollover. sched_clock() uses
this read() function as an indirection to the platform code.
If the platform doesn't provide a read(), the code falls back
to the jiffy counter (just like the default sched_clock).This allow some simplifications and possibly some footprint gain
when multiple platforms are compiled in. Among the drawbacks,
the removal of the *_fixed_sched_clock optimization which could
negatively impact some platforms (sa1100, tegra, versatile
and omap).Tested on 11MPCore, OMAP4 and Tegra.
Cc: Imre Kaloz
Cc: Eric Miao
Cc: Colin Cross
Cc: Erik Gilling
Cc: Olof Johansson
Cc: Sascha Hauer
Cc: Alessandro Rubini
Cc: STEricsson
Cc: Lennert Buytenhek
Cc: Ben Dooks
Tested-by: Jamie Iles
Tested-by: Tony Lindgren
Tested-by: Kyungmin Park
Acked-by: Linus Walleij
Acked-by: Nicolas Pitre
Acked-by: Krzysztof Halasa
Acked-by: Kukjin Kim
Signed-off-by: Marc Zyngier
Signed-off-by: Russell King
24 May, 2011
1 commit
-
Convert SP804, MXC, Nomadik and Orion 32-bit down-counting clocksources
to generic mmio clocksource infrastructure.Acked-by: Catalin Marinas
Cc: Sascha Hauer
Cc: Alessandro Rubini
Acked-by: Linus Walleij
Cc: Lennert Buytenhek
Acked-by: Nicolas Pitre
Signed-off-by: Russell King
04 Mar, 2011
1 commit
-
This patch makes the various mach dirs that use the plat-orion time
code pass in timer and bridge addresses explicitly, instead of having
plat-orion get those values by including a mach dir include file --
the latter mechanism is problematic if you want to support multiple
ARM platforms in the same kernel image.Signed-off-by: Lennert Buytenhek
Signed-off-by: Nicolas Pitre
23 Dec, 2010
3 commits
-
Convert orion platforms to use the new sched_clock() infrastructure for
extending 32bit counters to full 64-bit nanoseconds.Acked-by: Nicolas Pitre
Signed-off-by: Russell King -
ftrace requires sched_clock() to be notrace. Ensure that all
implementations are so marked. Also make sure that they include
linux/sched.hAlso ensure OMAP clocksource read functions are marked notrace as
they're used for sched_clock() too.Tested-by: Santosh Shilimkar
Tested-by: Will Deacon
Tested-by: Mikael Pettersson
Tested-by: Eric Miao
Tested-by: Olof Johansson
Signed-off-by: Russell King -
In d7e81c2 (clocksource: Add clocksource_register_hz/khz interface) new
interfaces were added which simplify (and optimize) the selection of the
divisor shift/mult constants. Switch over to using this new interface.Acked-by: Nicolas Pitre
Signed-off-by: Russell King
09 Jun, 2009
2 commits
-
With a TCLK = 200MHz, the half period of the hardware timer is roughly
10 seconds. Because cnt32_to_63() must be called at least once per
half period of the base hardware counter, it is a bit risky to rely
solely on scheduling to generate frequent enough calls. Let's use a
kernel timer to ensure this.Signed-off-by: Nicolas Pitre
-
sched_clock implementation for orion platform. Its realized using
free-running clocksource timer, which provides a resolution of 7.5ns
(depending on tclk). It's derived from PXA's sched_clock implementation.[ nico: renamed orion2ns to tclk2ns, fixed max value in the comment ]
Signed-off-by: Stefan Agner
Signed-off-by: Nicolas Pitre
24 Apr, 2009
2 commits
-
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 5460/1: Orion: reduce namespace pollution
[ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config
[ARM] 5457/1: mach-imx gpio buildfix
[ARM] 5456/1: add sys_preadv and sys_pwritev
[ARM] pxa/pcm990: start external GPIOs immediately after built-in ones
[ARM] pxa/palm27x: General fix for Palm27x aSoC driver
[ARM] pxa/mioa701: use GPIO95 as AC97 reset line
[ARM] pxa: merge AC97 platform data structures
[ARM] pxa/magician: remove un-necessary #include of pxa-regs.h and hardware.h -
Symbols like SOFT_RESET are way too generic to be exported at large.
To avoid this, let's move the mbus bridge register defines into a
separate file and include it where needed. This affects mach-kirkwood,
mach-loki, mach-mv78xx0 and mach-orion5x simultaneously as they all
share code in plat-orion which relies on those defines.Some other defines have been moved to narrower scopes, or simply deleted
when they had no user.This fixes compilation problem with mpt2sas on the above listed
platforms.Signed-off-by: Nicolas Pitre
Signed-off-by: Russell King
22 Apr, 2009
1 commit
-
Pass clocksource pointer to the read() callback for clocksources. This
allows us to share the callback between multiple instances.[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
[akpm@linux-foundation.org: cleanup]
Signed-off-by: Magnus Damm
Acked-by: John Stultz
Cc: Thomas Gleixner
Signed-off-by: Hugh Dickins
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Dec, 2008
1 commit
-
Impact: change calling convention of existing clock_event APIs
struct clock_event_timer's cpumask field gets changed to take pointer,
as does the ->broadcast function.Another single-patch change. For safety, we BUG_ON() in
clockevents_register_device() if it's not set.Signed-off-by: Rusty Russell
Cc: Ingo Molnar
07 Aug, 2008
1 commit
-
This just leaves include/asm-arm/plat-* to deal with.
Signed-off-by: Russell King
23 Jun, 2008
1 commit
-
Some Feroceon-based SoCs have an MBUS bridge interrupt controller
that requires writing a one instead of a zero to clear edge
interrupt sources such as timer expiry.This patch adds a new BRIDGE_INT_TIMER1_CLR define, which platform
code can set to either ~BRIDGE_INT_TIMER1 (write-zero-to-clear) or
BRIDGE_INT_TIMER1 (write-one-to-clear) depending on the platform.Signed-off-by: Lennert Buytenhek
28 Mar, 2008
1 commit
-
Split off Orion time handling code into plat-orion/.
Signed-off-by: Lennert Buytenhek
Reviewed-by: Tzachi Perelstein
Acked-by: Russell King
Signed-off-by: Nicolas Pitre