Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4d1ec48 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by David S. Miller
Browse files

sparc: in handler_irq() rename irq parameter to pil



The generic irq support uses "irq" to identify the
virtual irq number. To avoid confusion rename the
argument to handler_irq() to pil to match the
name of the parameter in the PCR register.

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9f2264ac
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -320,7 +320,7 @@ void unexpected_irq(int irq, void *dev_id, struct pt_regs * regs)
	panic("bogus interrupt received");
}

void handler_irq(int irq, struct pt_regs * regs)
void handler_irq(int pil, struct pt_regs * regs)
{
	struct pt_regs *old_regs;
	struct irqaction * action;
@@ -331,23 +331,23 @@ void handler_irq(int irq, struct pt_regs * regs)

	old_regs = set_irq_regs(regs);
	irq_enter();
	disable_pil_irq(irq);
	disable_pil_irq(pil);
#ifdef CONFIG_SMP
	/* Only rotate on lower priority IRQs (scsi, ethernet, etc.). */
	if((sparc_cpu_model==sun4m) && (irq < 10))
	if((sparc_cpu_model==sun4m) && (pil < 10))
		smp4m_irq_rotate(cpu);
#endif
	action = sparc_irq[irq].action;
	sparc_irq[irq].flags |= SPARC_IRQ_INPROGRESS;
	kstat_cpu(cpu).irqs[irq]++;
	action = sparc_irq[pil].action;
	sparc_irq[pil].flags |= SPARC_IRQ_INPROGRESS;
	kstat_cpu(cpu).irqs[pil]++;
	do {
		if (!action || !action->handler)
			unexpected_irq(irq, NULL, regs);
		action->handler(irq, action->dev_id);
			unexpected_irq(pil, NULL, regs);
		action->handler(pil, action->dev_id);
		action = action->next;
	} while (action);
	sparc_irq[irq].flags &= ~SPARC_IRQ_INPROGRESS;
	enable_pil_irq(irq);
	sparc_irq[pil].flags &= ~SPARC_IRQ_INPROGRESS;
	enable_pil_irq(pil);
	irq_exit();
	set_irq_regs(old_regs);
}
+2 −2
Original line number Diff line number Diff line
@@ -714,13 +714,13 @@ void ack_bad_irq(unsigned int virt_irq)
void *hardirq_stack[NR_CPUS];
void *softirq_stack[NR_CPUS];

void __irq_entry handler_irq(int irq, struct pt_regs *regs)
void __irq_entry handler_irq(int pil, struct pt_regs *regs)
{
	unsigned long pstate, bucket_pa;
	struct pt_regs *old_regs;
	void *orig_sp;

	clear_softint(1 << irq);
	clear_softint(1 << pil);

	old_regs = set_irq_regs(regs);
	irq_enter();
+9 −9
Original line number Diff line number Diff line
@@ -205,28 +205,28 @@ out_unlock:

extern void unexpected_irq(int, void *, struct pt_regs *);

void sun4d_handler_irq(int irq, struct pt_regs * regs)
void sun4d_handler_irq(int pil, struct pt_regs * regs)
{
	struct pt_regs *old_regs;
	struct irqaction * action;
	int cpu = smp_processor_id();
	/* SBUS IRQ level (1 - 7) */
	int sbusl = pil_to_sbus[irq];
	int sbusl = pil_to_sbus[pil];
	
	/* FIXME: Is this necessary?? */
	cc_get_ipen();
	
	cc_set_iclr(1 << irq);
	cc_set_iclr(1 << pil);
	
	old_regs = set_irq_regs(regs);
	irq_enter();
	kstat_cpu(cpu).irqs[irq]++;
	kstat_cpu(cpu).irqs[pil]++;
	if (!sbusl) {
		action = *(irq + irq_action);
		action = *(pil + irq_action);
		if (!action)
			unexpected_irq(irq, NULL, regs);
			unexpected_irq(pil, NULL, regs);
		do {
			action->handler(irq, action->dev_id);
			action->handler(pil, action->dev_id);
			action = action->next;
		} while (action);
	} else {
@@ -251,9 +251,9 @@ void sun4d_handler_irq(int irq, struct pt_regs * regs)
						action = actionp->action;
						
						if (!action)
							unexpected_irq(irq, NULL, regs);
							unexpected_irq(pil, NULL, regs);
						do {
							action->handler(irq, action->dev_id);
							action->handler(pil, action->dev_id);
							action = action->next;
						} while (action);
						release_sbi(SBI2DEVID(sbino), slot);