diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-23 07:29:47 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-19 08:36:14 +0100 |
commit | 76ac1ee3bba2a20ded7ea12394af0a633be25ff9 (patch) | |
tree | 802c0a592b72ce017bb0e739f138d1877b9475ab /c/src/lib/libbsp/sparc/leon3 | |
parent | taskcreate.c: Add method name to comment to be clearer (diff) | |
download | rtems-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.c | 31 |
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) |