public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] msm: timer: compensate for timer shift in msm_read_timer_count
@ 2011-06-17 20:55 Jeff Ohlstein
  2011-06-20 21:59 ` [stable] " Greg KH
  0 siblings, 1 reply; 6+ messages in thread
From: Jeff Ohlstein @ 2011-06-17 20:55 UTC (permalink / raw)
  To: Daniel Walker, Bryan Huntsman, David Brown
  Cc: linux-arm-msm, linux-arm-kernel, linux-kernel, Jeff Ohlstein,
	stable, Russell King

Some msm targets have timers whose lower bits are unreliable. So, we
present our timers as lower frequency than they actually are, and ignore
the bottom 5 bits on such targets. This compensation was erroneously
removed from the msm_read_timer_count function, so restore it.

This was broken by 94790ec25 "msm: timer: SMP timer support for msm".

Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
---
 arch/arm/mach-msm/timer.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-msm/timer.c b/arch/arm/mach-msm/timer.c
index 38b95e9..608ec4d 100644
--- a/arch/arm/mach-msm/timer.c
+++ b/arch/arm/mach-msm/timer.c
@@ -100,7 +100,11 @@ static cycle_t msm_read_timer_count(struct clocksource *cs)
 {
 	struct msm_clock *clk = container_of(cs, struct msm_clock, clocksource);
 
-	return readl(clk->global_counter);
+	/*
+	 * Shift timer count down by a constant due to unreliable lower bits
+	 * on some targets.
+	 */
+	return readl(clk->global_counter) >> clk->shift;
 }
 
 static struct msm_clock *clockevent_to_clock(struct clock_event_device *evt)
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


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

end of thread, other threads:[~2011-07-06  2:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-17 20:55 [PATCH v2] msm: timer: compensate for timer shift in msm_read_timer_count Jeff Ohlstein
2011-06-20 21:59 ` [stable] " Greg KH
2011-06-20 23:27   ` David Brown
2011-06-21 16:24     ` Greg KH
2011-07-05 19:15       ` Jeff Ohlstein
2011-07-06  2:45         ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox