Loading arch/arc/include/asm/irq.h +0 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ #include <asm-generic/irq.h> extern void arc_init_IRQ(void); extern int get_hw_config_num_irq(void); void arc_local_timer_setup(unsigned int cpu); #endif arch/arc/kernel/irq.c +0 −18 Original line number Diff line number Diff line Loading @@ -150,24 +150,6 @@ void arch_do_IRQ(unsigned int irq, struct pt_regs *regs) set_irq_regs(old_regs); } int get_hw_config_num_irq(void) { uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR); switch (val & 0x03) { case 0: return 16; case 1: return 32; case 2: return 8; default: return 0; } return 0; } /* * arch_local_irq_enable - Enable interrupts. * Loading arch/arc/plat-arcfpga/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -9,4 +9,4 @@ KBUILD_CFLAGS += -Iarch/arc/plat-arcfpga/include obj-y := platform.o irq.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_ISS_SMP_EXTN) += smp.o arch/arc/plat-arcfpga/platform.c +2 −2 Original line number Diff line number Diff line Loading @@ -169,7 +169,7 @@ static void __init plat_fpga_early_init(void) arc_fpga_serial_init(); #ifdef CONFIG_SMP #ifdef CONFIG_ISS_SMP_EXTN iss_model_init_early_smp(); #endif } Loading Loading @@ -211,7 +211,7 @@ MACHINE_START(ANGEL4, "angel4") .init_early = plat_fpga_early_init, .init_machine = plat_fpga_populate_dev, .init_irq = plat_fpga_init_IRQ, #ifdef CONFIG_SMP #ifdef CONFIG_ISS_SMP_EXTN .init_smp = iss_model_init_smp, #endif MACHINE_END Loading arch/arc/plat-arcfpga/smp.c +18 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,24 @@ static void iss_model_smp_wakeup_cpu(int cpu, unsigned long pc) } static inline int get_hw_config_num_irq(void) { uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR); switch (val & 0x03) { case 0: return 16; case 1: return 32; case 2: return 8; default: return 0; } return 0; } /* * Any SMP specific init any CPU does when it comes up. * Here we setup the CPU to enable Inter-Processor-Interrupts Loading Loading
arch/arc/include/asm/irq.h +0 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ #include <asm-generic/irq.h> extern void arc_init_IRQ(void); extern int get_hw_config_num_irq(void); void arc_local_timer_setup(unsigned int cpu); #endif
arch/arc/kernel/irq.c +0 −18 Original line number Diff line number Diff line Loading @@ -150,24 +150,6 @@ void arch_do_IRQ(unsigned int irq, struct pt_regs *regs) set_irq_regs(old_regs); } int get_hw_config_num_irq(void) { uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR); switch (val & 0x03) { case 0: return 16; case 1: return 32; case 2: return 8; default: return 0; } return 0; } /* * arch_local_irq_enable - Enable interrupts. * Loading
arch/arc/plat-arcfpga/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -9,4 +9,4 @@ KBUILD_CFLAGS += -Iarch/arc/plat-arcfpga/include obj-y := platform.o irq.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_ISS_SMP_EXTN) += smp.o
arch/arc/plat-arcfpga/platform.c +2 −2 Original line number Diff line number Diff line Loading @@ -169,7 +169,7 @@ static void __init plat_fpga_early_init(void) arc_fpga_serial_init(); #ifdef CONFIG_SMP #ifdef CONFIG_ISS_SMP_EXTN iss_model_init_early_smp(); #endif } Loading Loading @@ -211,7 +211,7 @@ MACHINE_START(ANGEL4, "angel4") .init_early = plat_fpga_early_init, .init_machine = plat_fpga_populate_dev, .init_irq = plat_fpga_init_IRQ, #ifdef CONFIG_SMP #ifdef CONFIG_ISS_SMP_EXTN .init_smp = iss_model_init_smp, #endif MACHINE_END Loading
arch/arc/plat-arcfpga/smp.c +18 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,24 @@ static void iss_model_smp_wakeup_cpu(int cpu, unsigned long pc) } static inline int get_hw_config_num_irq(void) { uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR); switch (val & 0x03) { case 0: return 16; case 1: return 32; case 2: return 8; default: return 0; } return 0; } /* * Any SMP specific init any CPU does when it comes up. * Here we setup the CPU to enable Inter-Processor-Interrupts Loading