diff options
Diffstat (limited to 'arch/mips/netlogic')
-rw-r--r-- | arch/mips/netlogic/Platform | 11 | ||||
-rw-r--r-- | arch/mips/netlogic/xlr/Makefile | 2 | ||||
-rw-r--r-- | arch/mips/netlogic/xlr/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/netlogic/xlr/smp.c | 13 |
4 files changed, 15 insertions, 13 deletions
diff --git a/arch/mips/netlogic/Platform b/arch/mips/netlogic/Platform new file mode 100644 index 00000000000..f87c1640abb --- /dev/null +++ b/arch/mips/netlogic/Platform | |||
@@ -0,0 +1,11 @@ | |||
1 | # | ||
2 | # NETLOGIC includes | ||
3 | # | ||
4 | cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/mach-netlogic | ||
5 | cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic | ||
6 | |||
7 | # | ||
8 | # NETLOGIC XLR/XLS SoC, Simulator and boards | ||
9 | # | ||
10 | core-$(CONFIG_NLM_XLR) += arch/mips/netlogic/xlr/ | ||
11 | load-$(CONFIG_NLM_XLR_BOARD) += 0xffffffff84000000 | ||
diff --git a/arch/mips/netlogic/xlr/Makefile b/arch/mips/netlogic/xlr/Makefile index 9bd3f731f62..2dca585dd2f 100644 --- a/arch/mips/netlogic/xlr/Makefile +++ b/arch/mips/netlogic/xlr/Makefile | |||
@@ -2,4 +2,4 @@ obj-y += setup.o platform.o irq.o setup.o time.o | |||
2 | obj-$(CONFIG_SMP) += smp.o smpboot.o | 2 | obj-$(CONFIG_SMP) += smp.o smpboot.o |
3 | obj-$(CONFIG_EARLY_PRINTK) += xlr_console.o | 3 | obj-$(CONFIG_EARLY_PRINTK) += xlr_console.o |
4 | 4 | ||
5 | EXTRA_CFLAGS += -Werror | 5 | ccflags-y += -Werror |
diff --git a/arch/mips/netlogic/xlr/irq.c b/arch/mips/netlogic/xlr/irq.c index 1446d58e364..521bb7377eb 100644 --- a/arch/mips/netlogic/xlr/irq.c +++ b/arch/mips/netlogic/xlr/irq.c | |||
@@ -209,7 +209,7 @@ void __init init_xlr_irqs(void) | |||
209 | irq_set_chip_and_handler(i, &xlr_pic, handle_level_irq); | 209 | irq_set_chip_and_handler(i, &xlr_pic, handle_level_irq); |
210 | else | 210 | else |
211 | irq_set_chip_and_handler(i, &nlm_cpu_intr, | 211 | irq_set_chip_and_handler(i, &nlm_cpu_intr, |
212 | handle_level_irq); | 212 | handle_percpu_irq); |
213 | } | 213 | } |
214 | #ifdef CONFIG_SMP | 214 | #ifdef CONFIG_SMP |
215 | irq_set_chip_and_handler(IRQ_IPI_SMP_FUNCTION, &nlm_cpu_intr, | 215 | irq_set_chip_and_handler(IRQ_IPI_SMP_FUNCTION, &nlm_cpu_intr, |
diff --git a/arch/mips/netlogic/xlr/smp.c b/arch/mips/netlogic/xlr/smp.c index b495a7f1433..d842bce5c94 100644 --- a/arch/mips/netlogic/xlr/smp.c +++ b/arch/mips/netlogic/xlr/smp.c | |||
@@ -87,17 +87,7 @@ void nlm_smp_function_ipi_handler(unsigned int irq, struct irq_desc *desc) | |||
87 | /* IRQ_IPI_SMP_RESCHEDULE handler */ | 87 | /* IRQ_IPI_SMP_RESCHEDULE handler */ |
88 | void nlm_smp_resched_ipi_handler(unsigned int irq, struct irq_desc *desc) | 88 | void nlm_smp_resched_ipi_handler(unsigned int irq, struct irq_desc *desc) |
89 | { | 89 | { |
90 | set_need_resched(); | 90 | scheduler_ipi(); |
91 | } | ||
92 | |||
93 | void nlm_common_ipi_handler(int irq, struct pt_regs *regs) | ||
94 | { | ||
95 | if (irq == IRQ_IPI_SMP_FUNCTION) { | ||
96 | smp_call_function_interrupt(); | ||
97 | } else { | ||
98 | /* Announce that we are for reschduling */ | ||
99 | set_need_resched(); | ||
100 | } | ||
101 | } | 91 | } |
102 | 92 | ||
103 | /* | 93 | /* |
@@ -122,6 +112,7 @@ void nlm_smp_finish(void) | |||
122 | #ifdef notyet | 112 | #ifdef notyet |
123 | nlm_common_msgring_cpu_init(); | 113 | nlm_common_msgring_cpu_init(); |
124 | #endif | 114 | #endif |
115 | local_irq_enable(); | ||
125 | } | 116 | } |
126 | 117 | ||
127 | void nlm_cpus_done(void) | 118 | void nlm_cpus_done(void) |