Loading arch/sh/kernel/cpu/irq/intc2.c +7 −2 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ #include <linux/kernel.h> #include <linux/interrupt.h> #include <linux/io.h> #include <asm/smp.h> static inline struct intc2_desc *get_intc2_desc(unsigned int irq) { Loading @@ -24,14 +25,18 @@ static void disable_intc2_irq(unsigned int irq) { struct intc2_data *p = get_irq_chip_data(irq); struct intc2_desc *d = get_intc2_desc(irq); ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset); ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset + (hard_smp_processor_id() * 4)); } static void enable_intc2_irq(unsigned int irq) { struct intc2_data *p = get_irq_chip_data(irq); struct intc2_desc *d = get_intc2_desc(irq); ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset); ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset + (hard_smp_processor_id() * 4)); } /* Loading include/asm-sh/smp.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,6 @@ extern struct smp_fn_call_struct smp_fn_call; #endif /* CONFIG_SMP */ #define hard_smp_processor_id() (0) #endif /* __ASM_SH_SMP_H */ Loading
arch/sh/kernel/cpu/irq/intc2.c +7 −2 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ #include <linux/kernel.h> #include <linux/interrupt.h> #include <linux/io.h> #include <asm/smp.h> static inline struct intc2_desc *get_intc2_desc(unsigned int irq) { Loading @@ -24,14 +25,18 @@ static void disable_intc2_irq(unsigned int irq) { struct intc2_data *p = get_irq_chip_data(irq); struct intc2_desc *d = get_intc2_desc(irq); ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset); ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset + (hard_smp_processor_id() * 4)); } static void enable_intc2_irq(unsigned int irq) { struct intc2_data *p = get_irq_chip_data(irq); struct intc2_desc *d = get_intc2_desc(irq); ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset); ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset + (hard_smp_processor_id() * 4)); } /* Loading
include/asm-sh/smp.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,6 @@ extern struct smp_fn_call_struct smp_fn_call; #endif /* CONFIG_SMP */ #define hard_smp_processor_id() (0) #endif /* __ASM_SH_SMP_H */