Thread (11 messages) 11 messages, 2 authors, 2016-02-09

[PATCH 2/2] clocksource/drivers/lpc32xx: Support timer-based ARM delay

flat view
STALE3899d

From: Joachim Eastwood <hidden>
Date: 2016-01-31 21:48:56

On 31 January 2016 at 21:15, Ezequiel Garcia
[off-list ref] wrote:
On 30 January 2016 at 16:27, Joachim  Eastwood [off-list ref] wrote:
quoted
Hi Ezequiel,

On 30 January 2016 at 07:46, Ezequiel Garcia
[off-list ref] wrote:
quoted
This commit implements the ARM timer-based delay timer for the
LPC32xx, LPC18xx, LPC43xx family of SoCs.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
---
 drivers/clocksource/time-lpc32xx.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/clocksource/time-lpc32xx.c b/drivers/clocksource/time-lpc32xx.c
index 9b3d4a38c716..223bb08720d6 100644
--- a/drivers/clocksource/time-lpc32xx.c
+++ b/drivers/clocksource/time-lpc32xx.c
@@ -18,6 +18,7 @@
 #include <linux/clk.h>
 #include <linux/clockchips.h>
 #include <linux/clocksource.h>
+#include <linux/delay.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/kernel.h>
@@ -55,6 +56,15 @@ static u64 notrace lpc32xx_read_sched_clock(void)
        return readl(clocksource_timer_counter);
 }

+static unsigned long lpc32xx_delay_timer_read(void)
+{
+       return readl(clocksource_timer_counter);
+}
Could this use the relaxed version?
It seems read_current_timer is used in a busy loop in __timer_delay,
and I'd that's why other drivers use readl() here.
As far as I can see only the armada370 and u300 clocksource drivers
use readl() in the read_current_timer callback.
In any case, isn't __iormb a no-op on CPU_V7M ?
For LPC18xx and LPC43xx, which is ARMV7m, I don't think it matters.
But we should also consider LPC32xx, which is ARM9, as it will soon
start to use this driver.

Anyway I am fine with using readl() for now. It can always be changed later.


regards,
Joachim  Eastwood
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help