summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/qoriq/clock/clock-config.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-02-18 08:36:16 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-03-04 13:36:10 +0100
commit90d8567d34a6d80da04b1cb37b667a3173f584c4 (patch)
tree221e66b9da1dd9dd79d01e507f0026bfb477b810 /c/src/lib/libbsp/powerpc/qoriq/clock/clock-config.c
parentscore: Add _SMP_Before_multitasking_action() (diff)
downloadrtems-90d8567d34a6d80da04b1cb37b667a3173f584c4.tar.bz2
score: Distribute clock tick to all online CPUs
Update #2554.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/clock/clock-config.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/clock/clock-config.c b/c/src/lib/libbsp/powerpc/qoriq/clock/clock-config.c
index 8da927f1f3..17d4bde3cb 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/clock/clock-config.c
+++ b/c/src/lib/libbsp/powerpc/qoriq/clock/clock-config.c
@@ -7,7 +7,7 @@
*/
/*
- * Copyright (c) 2011-2015 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2011, 2016 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
* Dornierstr. 4
@@ -55,6 +55,7 @@ static void qoriq_clock_handler_install(rtems_isr_entry *old_isr)
*old_isr = NULL;
+#if defined(RTEMS_MULTIPROCESSING) && !defined(RTEMS_SMP)
sc = qoriq_pic_set_affinity(
CLOCK_INTERRUPT,
ppc_processor_id()
@@ -62,6 +63,7 @@ static void qoriq_clock_handler_install(rtems_isr_entry *old_isr)
if (sc != RTEMS_SUCCESSFUL) {
rtems_fatal_error_occurred(0xdeadbeef);
}
+#endif
sc = qoriq_pic_set_priority(
CLOCK_INTERRUPT,
@@ -126,8 +128,13 @@ static void qoriq_clock_cleanup(void)
#define Clock_driver_support_initialize_hardware() \
qoriq_clock_initialize()
+
#define Clock_driver_support_install_isr(clock_isr, old_isr) \
qoriq_clock_handler_install(&old_isr)
+
+#define Clock_driver_support_set_interrupt_affinity(online_processors) \
+ qoriq_pic_set_affinities(CLOCK_INTERRUPT, online_processors[0])
+
#define Clock_driver_support_shutdown_hardware() \
qoriq_clock_cleanup()