aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/i386/mach-voyager/voyager_basic.c6
-rw-r--r--arch/i386/mach-voyager/voyager_smp.c10
-rw-r--r--include/asm-i386/vic.h2
3 files changed, 8 insertions, 10 deletions
diff --git a/arch/i386/mach-voyager/voyager_basic.c b/arch/i386/mach-voyager/voyager_basic.c
index c639d30d8bdc..8fe7e4593d5f 100644
--- a/arch/i386/mach-voyager/voyager_basic.c
+++ b/arch/i386/mach-voyager/voyager_basic.c
@@ -44,7 +44,7 @@ struct voyager_SUS *voyager_SUS = NULL;
44 44
45#ifdef CONFIG_SMP 45#ifdef CONFIG_SMP
46static void 46static void
47voyager_dump(int dummy1, struct pt_regs *dummy2, struct tty_struct *dummy3) 47voyager_dump(int dummy1, struct tty_struct *dummy3)
48{ 48{
49 /* get here via a sysrq */ 49 /* get here via a sysrq */
50 voyager_smp_dump(); 50 voyager_smp_dump();
@@ -166,7 +166,7 @@ voyager_memory_detect(int region, __u32 *start, __u32 *length)
166 * off the timer tick to the SMP code, since the VIC doesn't have an 166 * off the timer tick to the SMP code, since the VIC doesn't have an
167 * internal timer (The QIC does, but that's another story). */ 167 * internal timer (The QIC does, but that's another story). */
168void 168void
169voyager_timer_interrupt(struct pt_regs *regs) 169voyager_timer_interrupt(void)
170{ 170{
171 if((jiffies & 0x3ff) == 0) { 171 if((jiffies & 0x3ff) == 0) {
172 172
@@ -202,7 +202,7 @@ voyager_timer_interrupt(struct pt_regs *regs)
202 } 202 }
203 } 203 }
204#ifdef CONFIG_SMP 204#ifdef CONFIG_SMP
205 smp_vic_timer_interrupt(regs); 205 smp_vic_timer_interrupt();
206#endif 206#endif
207} 207}
208 208
diff --git a/arch/i386/mach-voyager/voyager_smp.c b/arch/i386/mach-voyager/voyager_smp.c
index 2e73f353f165..f3fea2ad50fe 100644
--- a/arch/i386/mach-voyager/voyager_smp.c
+++ b/arch/i386/mach-voyager/voyager_smp.c
@@ -1141,9 +1141,9 @@ smp_apic_timer_interrupt(struct pt_regs *regs)
1141fastcall void 1141fastcall void
1142smp_qic_timer_interrupt(struct pt_regs *regs) 1142smp_qic_timer_interrupt(struct pt_regs *regs)
1143{ 1143{
1144 ack_QIC_CPI(QIC_TIMER_CPI);
1145 struct pt_regs *old_regs = set_irq_regs(regs); 1144 struct pt_regs *old_regs = set_irq_regs(regs);
1146 wrapper_smp_local_timer_interrupt(void); 1145 ack_QIC_CPI(QIC_TIMER_CPI);
1146 wrapper_smp_local_timer_interrupt();
1147 set_irq_regs(old_regs); 1147 set_irq_regs(old_regs);
1148} 1148}
1149 1149
@@ -1267,12 +1267,10 @@ smp_send_stop(void)
1267/* this function is triggered in time.c when a clock tick fires 1267/* this function is triggered in time.c when a clock tick fires
1268 * we need to re-broadcast the tick to all CPUs */ 1268 * we need to re-broadcast the tick to all CPUs */
1269void 1269void
1270smp_vic_timer_interrupt(struct pt_regs *regs) 1270smp_vic_timer_interrupt(void)
1271{ 1271{
1272 struct pt_regs *old_regs = set_irq_regs(regs);
1273 send_CPI_allbutself(VIC_TIMER_CPI); 1272 send_CPI_allbutself(VIC_TIMER_CPI);
1274 smp_local_timer_interrupt(); 1273 smp_local_timer_interrupt();
1275 set_irq_regs(old_regs);
1276} 1274}
1277 1275
1278/* local (per CPU) timer interrupt. It does both profiling and 1276/* local (per CPU) timer interrupt. It does both profiling and
@@ -1307,7 +1305,7 @@ smp_local_timer_interrupt(void)
1307 per_cpu(prof_counter, cpu); 1305 per_cpu(prof_counter, cpu);
1308 } 1306 }
1309 1307
1310 update_process_times(user_mode_vm(irq_regs)); 1308 update_process_times(user_mode_vm(get_irq_regs()));
1311 } 1309 }
1312 1310
1313 if( ((1<<cpu) & voyager_extended_vic_processors) == 0) 1311 if( ((1<<cpu) & voyager_extended_vic_processors) == 0)
diff --git a/include/asm-i386/vic.h b/include/asm-i386/vic.h
index 4abfcfb91eb8..53100f353612 100644
--- a/include/asm-i386/vic.h
+++ b/include/asm-i386/vic.h
@@ -58,4 +58,4 @@ static const int VIC_CPI_Registers[] =
58 58
59#define VIC_BOOT_INTERRUPT_MASK 0xfe 59#define VIC_BOOT_INTERRUPT_MASK 0xfe
60 60
61extern void smp_vic_timer_interrupt(struct pt_regs *regs); 61extern void smp_vic_timer_interrupt(void);