All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/03] clocksource: Emma Mobile STI V2 patches
@ 2012-05-09 14:39 ` Magnus Damm
  0 siblings, 0 replies; 24+ messages in thread
From: Magnus Damm @ 2012-05-09 14:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: horms, arnd, linux-sh, johnstul, rjw, lethal, gregkh, olof,
	Magnus Damm, tglx

clocksource: Emma Mobile STI V2 patches

[PATCH 01/03] clockevents: Make clockevents_config() a global symbol
[PATCH 02/03] clocksource: em_sti: Emma Mobile STI driver V2
[PATCH 03/03] clocksource: em_sti: Add DT support

This is the second version of Emma Mobile STI driver. Now with
significantly cleaner clockevent intergration and DT support.

The driver is implemented as a regular platform device which makes
use of the STI hardware and provides both clocksource and clockevent
interfaces with a single 48-bit hardware counter.

It is worth mentioning that the driver makes use of clockevents_config()
to update the timer frequency after registration time. This is done to
save power by making sure that unused timer hardware is stopped whenever
possible.

The reason behind allowing the driver to use clockevents_config() is in
detail as follows. The clock associated with the timer gets enabled when
starting the clocksource/clockevent and it gets disabled when the
clocksource or clockevent gets stopped. Due to the design of the clock
framework the rate of the clock is only known after the clock has been
enabled. And to save power the clock is only enabled when it is known
that it will be used - and to know that the clocksource/clockevent needs
to be registered first. This in turn means that we are unaware of the
frequency at registration time. Which leads to that it is not sufficient
to use a fixed frequency at registration time but we must instead make
sure the frequency is updated after each clk_enable().

Many thanks to Thomas Gleixner for very useful V1 feedback.

Signed-off-by: Magnus Damm <damm@opensource.se>
---

 arch/arm/mach-shmobile/Kconfig |   12 
 drivers/clocksource/Makefile   |    2 
 drivers/clocksource/em_sti.c   |  843 ++++++++++++++++++++++++++++++++++++++++
 include/linux/clockchips.h     |    1 
 kernel/time/clockevents.c      |    3 
 5 files changed, 859 insertions(+), 2 deletions(-)

 

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2012-05-25  9:39 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-09 14:39 [PATCH 00/03] clocksource: Emma Mobile STI V2 patches Magnus Damm
2012-05-09 14:39 ` Magnus Damm
2012-05-09 14:39 ` [PATCH 01/03] clockevents: Make clockevents_config() a global symbol Magnus Damm
2012-05-09 14:39   ` Magnus Damm
2012-05-23  6:32   ` Paul Mundt
2012-05-23  6:32     ` Paul Mundt
2012-05-23  7:15     ` Magnus Damm
2012-05-23  7:15       ` Magnus Damm
2012-05-24 10:27     ` Thomas Gleixner
2012-05-24 10:27       ` Thomas Gleixner
2012-05-24 10:28       ` Thomas Gleixner
2012-05-24 10:28         ` Thomas Gleixner
2012-05-24 23:53   ` [tip:timers/core] " tip-bot for Magnus Damm
2012-05-09 14:39 ` [PATCH 02/03] clocksource: em_sti: Emma Mobile STI driver V2 Magnus Damm
2012-05-09 14:39   ` Magnus Damm
2012-05-24 23:42   ` Thomas Gleixner
2012-05-24 23:42     ` Thomas Gleixner
2012-05-25  3:39     ` Magnus Damm
2012-05-25  3:39       ` Magnus Damm
2012-05-09 14:39 ` [PATCH 03/03] clocksource: em_sti: Add DT support Magnus Damm
2012-05-09 14:39   ` Magnus Damm
2012-05-25  9:39   ` [tip:timers/core] " tip-bot for Magnus Damm
2012-05-11  6:55 ` [PATCH 00/03] clocksource: Emma Mobile STI V2 patches Simon Horman
2012-05-11  6:55   ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.