summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-12-23 07:29:47 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-01-19 08:36:14 +0100
commit76ac1ee3bba2a20ded7ea12394af0a633be25ff9 (patch)
tree802c0a592b72ce017bb0e739f138d1877b9475ab /c/src/lib/libbsp/sparc/leon3
parenttaskcreate.c: Add method name to comment to be clearer (diff)
downloadrtems-76ac1ee3bba2a20ded7ea12394af0a633be25ff9.tar.bz2
score: Fix simple timecounter support
Update #2502.
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3')
-rw-r--r--c/src/lib/libbsp/sparc/leon3/clock/ckinit.c31
1 files changed, 18 insertions, 13 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
index b82b457866..5d645dcd36 100644
--- a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
+++ b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c
@@ -69,15 +69,6 @@ static uint32_t leon3_tc_get_timecount_irqmp(struct timecounter *tc)
return LEON3_IrqCtrl_Regs->timestamp[0].counter;
}
-static void leon3_tc_tick(void)
-{
- if (leon3_tc_use_irqmp) {
- rtems_timecounter_tick();
- } else {
- rtems_timecounter_simple_downcounter_tick(&leon3_tc, leon3_tc_get);
- }
-}
-
static void leon3_clock_profiling_interrupt_delay(void)
{
#ifdef RTEMS_PROFILING
@@ -111,10 +102,24 @@ static void leon3_clock_profiling_interrupt_delay(void)
#endif
}
-#define Clock_driver_support_at_tick() \
- do { \
- leon3_clock_profiling_interrupt_delay(); \
- } while (0)
+static void leon3_tc_at_tick( rtems_timecounter_simple *tc )
+{
+ leon3_clock_profiling_interrupt_delay();
+}
+
+static void leon3_tc_tick(void)
+{
+ if (leon3_tc_use_irqmp) {
+ leon3_clock_profiling_interrupt_delay();
+ rtems_timecounter_tick();
+ } else {
+ rtems_timecounter_simple_downcounter_tick(
+ &leon3_tc,
+ leon3_tc_get,
+ leon3_tc_at_tick
+ );
+ }
+}
#define Adjust_clkirq_for_node() do { clkirq += LEON3_CLOCK_INDEX; } while(0)