From: Martin Aberg <mab...@gaisler.com>

If separate interrupts are not available, then do not add the timer hardware
index number when configuring interrupt affinity.
---
 c/src/lib/libbsp/sparc/shared/timer/gptimer.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/c/src/lib/libbsp/sparc/shared/timer/gptimer.c 
b/c/src/lib/libbsp/sparc/shared/timer/gptimer.c
index d26d007..ebcb0b5 100644
--- a/c/src/lib/libbsp/sparc/shared/timer/gptimer.c
+++ b/c/src/lib/libbsp/sparc/shared/timer/gptimer.c
@@ -444,7 +444,13 @@ static void gptimer_tlib_irq_reg(struct tlib_dev *hand, 
tlib_isr_t func, void *d
 
 #if RTEMS_SMP
        if (flags & TLIB_FLAGS_BROADCAST) {
-               drvmgr_interrupt_set_affinity(priv->dev, timer->tindex,
+               int tindex = 0;
+
+               if (priv->separate_interrupt) {
+                       /* Offset interrupt number with HW subtimer index */
+                       tindex = timer->tindex;
+               }
+               drvmgr_interrupt_set_affinity(priv->dev, tindex,
                                              _SMP_Online_processors);
        }
 #endif
-- 
2.7.4

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to