diff options
-rw-r--r-- | arch/mips/sibyte/bcm1480/irq.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c index 919d2d58e6fa..044bbe462c2c 100644 --- a/arch/mips/sibyte/bcm1480/irq.c +++ b/arch/mips/sibyte/bcm1480/irq.c | |||
@@ -362,8 +362,19 @@ asmlinkage void plat_irq_dispatch(void) | |||
362 | unsigned int cpu = smp_processor_id(); | 362 | unsigned int cpu = smp_processor_id(); |
363 | unsigned int pending; | 363 | unsigned int pending; |
364 | 364 | ||
365 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | ||
366 | /* Set compare to count to silence count/compare timer interrupts */ | ||
367 | write_c0_compare(read_c0_count()); | ||
368 | #endif | ||
369 | |||
365 | pending = read_c0_cause() & read_c0_status(); | 370 | pending = read_c0_cause() & read_c0_status(); |
366 | 371 | ||
372 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | ||
373 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ | ||
374 | sbprof_cpu_intr(); | ||
375 | else | ||
376 | #endif | ||
377 | |||
367 | if (pending & CAUSEF_IP4) | 378 | if (pending & CAUSEF_IP4) |
368 | do_IRQ(K_BCM1480_INT_TIMER_0 + cpu); | 379 | do_IRQ(K_BCM1480_INT_TIMER_0 + cpu); |
369 | #ifdef CONFIG_SMP | 380 | #ifdef CONFIG_SMP |