aboutsummaryrefslogtreecommitdiffstats
path: root/arch/hexagon/kernel/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/hexagon/kernel/time.c')
-rw-r--r--arch/hexagon/kernel/time.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/hexagon/kernel/time.c b/arch/hexagon/kernel/time.c
index 9903fad997f3..17fbf45bf150 100644
--- a/arch/hexagon/kernel/time.c
+++ b/arch/hexagon/kernel/time.c
@@ -191,9 +191,6 @@ void __init time_init_deferred(void)
191{ 191{
192 struct resource *resource = NULL; 192 struct resource *resource = NULL;
193 struct clock_event_device *ce_dev = &hexagon_clockevent_dev; 193 struct clock_event_device *ce_dev = &hexagon_clockevent_dev;
194 struct device_node *dn;
195 struct resource r;
196 int err;
197 194
198 ce_dev->cpumask = cpu_all_mask; 195 ce_dev->cpumask = cpu_all_mask;
199 196
@@ -232,6 +229,15 @@ void __init time_init(void)
232 late_time_init = time_init_deferred; 229 late_time_init = time_init_deferred;
233} 230}
234 231
232void __delay(unsigned long cycles)
233{
234 unsigned long long start = __vmgettime();
235
236 while ((__vmgettime() - start) < cycles)
237 cpu_relax();
238}
239EXPORT_SYMBOL(__delay);
240
235/* 241/*
236 * This could become parametric or perhaps even computed at run-time, 242 * This could become parametric or perhaps even computed at run-time,
237 * but for now we take the observed simulator jitter. 243 * but for now we take the observed simulator jitter.