]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ARC: Fix/unify cpu private IRQ requests (TIMER/IPI)
authorVineet Gupta <vgupta@synopsys.com>
Wed, 7 May 2014 09:55:10 +0000 (15:25 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 9 May 2014 07:34:03 +0000 (13:04 +0530)
commit92bdfd509d5db6cd3401118f341912663ca74feb
tree536ce1d343d2b37f33f216370a972c432cb10997
parentf63f98ea253c493a514b5f5748480336ad1d9dbf
ARC: Fix/unify cpu private IRQ requests (TIMER/IPI)

IPI IRQ request was broken as it was effectively being enabled on
boot-core only. The band aid was to make it like timer irq registration:
     cpu == 0 ? setup_irq() : arch_unmask_irq()

This is ugly (even in current timer code) as it requires need to expose
arch_unmask_irq() outside of intc code. So switch to percpu IRQ APIs:
  -request_percpu_irq [boot core]
  -enable_percpu_irq  [all cores]

Since TIMER and IPI both use this infrastructure, encapsulate this in a
helper arc_request_percpu_irq()

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/irq.h
arch/arc/kernel/irq.c
arch/arc/kernel/smp.c
arch/arc/kernel/time.c