summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2010-06-30 11:37:20 +0200
committerJiri Kosina <jkosina@suse.cz>2010-06-30 11:37:20 +0200
commit15676295e1189d87b9e5589549492c4f0ae46336 (patch)
treea9bebdc02a44f996e93f578e60e50bcb8d248914
parent2174efb6a22a0002f2002b708a28d3adfabb3bc5 (diff)
Revert "Remove dead CONFIG_SIBYTE_BCM1480_PROF"
This reverts commit 22c1d8b4f8f04882046ebe592f9a9eaea443cb45. It has been nacked by MIPS maintainer Ralf Baechle.
-rw-r--r--arch/mips/sibyte/bcm1480/irq.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c
index 919d2d58e6f..044bbe462c2 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)
unsigned int cpu = smp_processor_id();
unsigned int pending;
+#ifdef CONFIG_SIBYTE_BCM1480_PROF
+ /* Set compare to count to silence count/compare timer interrupts */
+ write_c0_compare(read_c0_count());
+#endif
+
pending = read_c0_cause() & read_c0_status();
+#ifdef CONFIG_SIBYTE_BCM1480_PROF
+ if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */
+ sbprof_cpu_intr();
+ else
+#endif
+
if (pending & CAUSEF_IP4)
do_IRQ(K_BCM1480_INT_TIMER_0 + cpu);
#ifdef CONFIG_SMP