Commit 17941314 authored by Graf Yang's avatar Graf Yang Committed by Mike Frysinger

Blackfin: handle the core timer interrupt with handle_percpu_irq on SMP

Signed-off-by: default avatarGraf Yang <graf.yang@analog.com>
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
parent 92649494
...@@ -1052,18 +1052,26 @@ int __init init_arch_irq(void) ...@@ -1052,18 +1052,26 @@ int __init init_arch_irq(void)
set_irq_chained_handler(irq, bfin_demux_error_irq); set_irq_chained_handler(irq, bfin_demux_error_irq);
break; break;
#endif #endif
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
#ifdef CONFIG_TICKSOURCE_GPTMR0
case IRQ_TIMER0:
#endif
#ifdef CONFIG_TICKSOURCE_CORETMR
case IRQ_CORETMR:
#endif
case IRQ_SUPPLE_0: case IRQ_SUPPLE_0:
case IRQ_SUPPLE_1: case IRQ_SUPPLE_1:
set_irq_handler(irq, handle_percpu_irq); set_irq_handler(irq, handle_percpu_irq);
break; break;
#endif #endif
#ifdef CONFIG_IPIPE #ifdef CONFIG_IPIPE
#ifndef CONFIG_TICKSOURCE_CORETMR #ifndef CONFIG_TICKSOURCE_CORETMR
case IRQ_TIMER0: case IRQ_TIMER0:
set_irq_handler(irq, handle_simple_irq); set_irq_handler(irq, handle_simple_irq);
break; break;
#endif /* !CONFIG_TICKSOURCE_CORETMR */ #endif
case IRQ_CORETMR: case IRQ_CORETMR:
set_irq_handler(irq, handle_simple_irq); set_irq_handler(irq, handle_simple_irq);
break; break;
...@@ -1071,15 +1079,10 @@ int __init init_arch_irq(void) ...@@ -1071,15 +1079,10 @@ int __init init_arch_irq(void)
set_irq_handler(irq, handle_level_irq); set_irq_handler(irq, handle_level_irq);
break; break;
#else /* !CONFIG_IPIPE */ #else /* !CONFIG_IPIPE */
#ifdef CONFIG_TICKSOURCE_GPTMR0
case IRQ_TIMER0:
set_irq_handler(irq, handle_percpu_irq);
break;
#endif /* CONFIG_TICKSOURCE_GPTMR0 */
default: default:
set_irq_handler(irq, handle_simple_irq); set_irq_handler(irq, handle_simple_irq);
break; break;
#endif /* !CONFIG_IPIPE */ #endif /* !CONFIG_IPIPE */
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment