aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/kernel/irq_32.c20
-rw-r--r--arch/sparc/kernel/irq_64.c4
-rw-r--r--arch/sparc/kernel/sun4d_irq.c18
3 files changed, 21 insertions, 21 deletions
diff --git a/arch/sparc/kernel/irq_32.c b/arch/sparc/kernel/irq_32.c
index 5ad6e5c5dbb3..07c3e39c0235 100644
--- a/arch/sparc/kernel/irq_32.c
+++ b/arch/sparc/kernel/irq_32.c
@@ -320,7 +320,7 @@ void unexpected_irq(int irq, void *dev_id, struct pt_regs * regs)
320 panic("bogus interrupt received"); 320 panic("bogus interrupt received");
321} 321}
322 322
323void handler_irq(int irq, struct pt_regs * regs) 323void handler_irq(int pil, struct pt_regs * regs)
324{ 324{
325 struct pt_regs *old_regs; 325 struct pt_regs *old_regs;
326 struct irqaction * action; 326 struct irqaction * action;
@@ -331,23 +331,23 @@ void handler_irq(int irq, struct pt_regs * regs)
331 331
332 old_regs = set_irq_regs(regs); 332 old_regs = set_irq_regs(regs);
333 irq_enter(); 333 irq_enter();
334 disable_pil_irq(irq); 334 disable_pil_irq(pil);
335#ifdef CONFIG_SMP 335#ifdef CONFIG_SMP
336 /* Only rotate on lower priority IRQs (scsi, ethernet, etc.). */ 336 /* Only rotate on lower priority IRQs (scsi, ethernet, etc.). */
337 if((sparc_cpu_model==sun4m) && (irq < 10)) 337 if((sparc_cpu_model==sun4m) && (pil < 10))
338 smp4m_irq_rotate(cpu); 338 smp4m_irq_rotate(cpu);
339#endif 339#endif
340 action = sparc_irq[irq].action; 340 action = sparc_irq[pil].action;
341 sparc_irq[irq].flags |= SPARC_IRQ_INPROGRESS; 341 sparc_irq[pil].flags |= SPARC_IRQ_INPROGRESS;
342 kstat_cpu(cpu).irqs[irq]++; 342 kstat_cpu(cpu).irqs[pil]++;
343 do { 343 do {
344 if (!action || !action->handler) 344 if (!action || !action->handler)
345 unexpected_irq(irq, NULL, regs); 345 unexpected_irq(pil, NULL, regs);
346 action->handler(irq, action->dev_id); 346 action->handler(pil, action->dev_id);
347 action = action->next; 347 action = action->next;
348 } while (action); 348 } while (action);
349 sparc_irq[irq].flags &= ~SPARC_IRQ_INPROGRESS; 349 sparc_irq[pil].flags &= ~SPARC_IRQ_INPROGRESS;
350 enable_pil_irq(irq); 350 enable_pil_irq(pil);
351 irq_exit(); 351 irq_exit();
352 set_irq_regs(old_regs); 352 set_irq_regs(old_regs);
353} 353}
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c
index ee67dae079c6..d4d1233d4ec4 100644
--- a/arch/sparc/kernel/irq_64.c
+++ b/arch/sparc/kernel/irq_64.c
@@ -714,13 +714,13 @@ void ack_bad_irq(unsigned int virt_irq)
714void *hardirq_stack[NR_CPUS]; 714void *hardirq_stack[NR_CPUS];
715void *softirq_stack[NR_CPUS]; 715void *softirq_stack[NR_CPUS];
716 716
717void __irq_entry handler_irq(int irq, struct pt_regs *regs) 717void __irq_entry handler_irq(int pil, struct pt_regs *regs)
718{ 718{
719 unsigned long pstate, bucket_pa; 719 unsigned long pstate, bucket_pa;
720 struct pt_regs *old_regs; 720 struct pt_regs *old_regs;
721 void *orig_sp; 721 void *orig_sp;
722 722
723 clear_softint(1 << irq); 723 clear_softint(1 << pil);
724 724
725 old_regs = set_irq_regs(regs); 725 old_regs = set_irq_regs(regs);
726 irq_enter(); 726 irq_enter();
diff --git a/arch/sparc/kernel/sun4d_irq.c b/arch/sparc/kernel/sun4d_irq.c
index e11b4612dabb..3af649e64f0d 100644
--- a/arch/sparc/kernel/sun4d_irq.c
+++ b/arch/sparc/kernel/sun4d_irq.c
@@ -205,28 +205,28 @@ out_unlock:
205 205
206extern void unexpected_irq(int, void *, struct pt_regs *); 206extern void unexpected_irq(int, void *, struct pt_regs *);
207 207
208void sun4d_handler_irq(int irq, struct pt_regs * regs) 208void sun4d_handler_irq(int pil, struct pt_regs * regs)
209{ 209{
210 struct pt_regs *old_regs; 210 struct pt_regs *old_regs;
211 struct irqaction * action; 211 struct irqaction * action;
212 int cpu = smp_processor_id(); 212 int cpu = smp_processor_id();
213 /* SBUS IRQ level (1 - 7) */ 213 /* SBUS IRQ level (1 - 7) */
214 int sbusl = pil_to_sbus[irq]; 214 int sbusl = pil_to_sbus[pil];
215 215
216 /* FIXME: Is this necessary?? */ 216 /* FIXME: Is this necessary?? */
217 cc_get_ipen(); 217 cc_get_ipen();
218 218
219 cc_set_iclr(1 << irq); 219 cc_set_iclr(1 << pil);
220 220
221 old_regs = set_irq_regs(regs); 221 old_regs = set_irq_regs(regs);
222 irq_enter(); 222 irq_enter();
223 kstat_cpu(cpu).irqs[irq]++; 223 kstat_cpu(cpu).irqs[pil]++;
224 if (!sbusl) { 224 if (!sbusl) {
225 action = *(irq + irq_action); 225 action = *(pil + irq_action);
226 if (!action) 226 if (!action)
227 unexpected_irq(irq, NULL, regs); 227 unexpected_irq(pil, NULL, regs);
228 do { 228 do {
229 action->handler(irq, action->dev_id); 229 action->handler(pil, action->dev_id);
230 action = action->next; 230 action = action->next;
231 } while (action); 231 } while (action);
232 } else { 232 } else {
@@ -251,9 +251,9 @@ void sun4d_handler_irq(int irq, struct pt_regs * regs)
251 action = actionp->action; 251 action = actionp->action;
252 252
253 if (!action) 253 if (!action)
254 unexpected_irq(irq, NULL, regs); 254 unexpected_irq(pil, NULL, regs);
255 do { 255 do {
256 action->handler(irq, action->dev_id); 256 action->handler(pil, action->dev_id);
257 action = action->next; 257 action = action->next;
258 } while (action); 258 } while (action);
259 release_sbi(SBI2DEVID(sbino), slot); 259 release_sbi(SBI2DEVID(sbino), slot);