All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading
@ 2014-03-05 22:11 ` Stefan Agner
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Agner @ 2014-03-05 22:11 UTC (permalink / raw)
  To: linux-arm-kernel

Vybrids PIT register is monitonic decreasing. However, sched_clock
reading needs to be monitonic increasing. Use bitwise not to get
the complement of the clock register. This fixes the clock going
backward. Also, the clock now starts at 0 since we load the
register with the maximum value at start.

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 drivers/clocksource/vf_pit_timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clocksource/vf_pit_timer.c b/drivers/clocksource/vf_pit_timer.c
index 02821b0..a918bc4 100644
--- a/drivers/clocksource/vf_pit_timer.c
+++ b/drivers/clocksource/vf_pit_timer.c
@@ -54,7 +54,7 @@ static inline void pit_irq_acknowledge(void)
 
 static u64 pit_read_sched_clock(void)
 {
-	return __raw_readl(clksrc_base + PITCVAL);
+	return ~__raw_readl(clksrc_base + PITCVAL);
 }
 
 static int __init pit_clocksource_init(unsigned long rate)
-- 
1.9.0

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

end of thread, other threads:[~2014-03-06 10:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-05 22:11 [PATCH] clocksource: vf_pit_timer: use complement for sched_clock reading Stefan Agner
2014-03-05 22:11 ` Stefan Agner
2014-03-06  1:45 ` Shawn Guo
2014-03-06  1:45   ` Shawn Guo
2014-03-06  3:18   ` Jingchang Lu
2014-03-06  3:18     ` Jingchang Lu
2014-03-06 10:37 ` [tip:timers/urgent] " tip-bot for Stefan Agner

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.