|
@@ -338,7 +338,6 @@ void handle_nested_irq(unsigned int irq)
|
|
raw_spin_lock_irq(&desc->lock);
|
|
raw_spin_lock_irq(&desc->lock);
|
|
|
|
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
- kstat_incr_irqs_this_cpu(desc);
|
|
|
|
|
|
|
|
action = desc->action;
|
|
action = desc->action;
|
|
if (unlikely(!action || irqd_irq_disabled(&desc->irq_data))) {
|
|
if (unlikely(!action || irqd_irq_disabled(&desc->irq_data))) {
|
|
@@ -346,6 +345,7 @@ void handle_nested_irq(unsigned int irq)
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ kstat_incr_irqs_this_cpu(desc);
|
|
irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS);
|
|
irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS);
|
|
raw_spin_unlock_irq(&desc->lock);
|
|
raw_spin_unlock_irq(&desc->lock);
|
|
|
|
|
|
@@ -412,13 +412,13 @@ void handle_simple_irq(struct irq_desc *desc)
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
|
|
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
- kstat_incr_irqs_this_cpu(desc);
|
|
|
|
|
|
|
|
if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) {
|
|
if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) {
|
|
desc->istate |= IRQS_PENDING;
|
|
desc->istate |= IRQS_PENDING;
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ kstat_incr_irqs_this_cpu(desc);
|
|
handle_irq_event(desc);
|
|
handle_irq_event(desc);
|
|
|
|
|
|
out_unlock:
|
|
out_unlock:
|
|
@@ -462,7 +462,6 @@ void handle_level_irq(struct irq_desc *desc)
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
|
|
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
- kstat_incr_irqs_this_cpu(desc);
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* If its disabled or no action available
|
|
* If its disabled or no action available
|
|
@@ -473,6 +472,7 @@ void handle_level_irq(struct irq_desc *desc)
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ kstat_incr_irqs_this_cpu(desc);
|
|
handle_irq_event(desc);
|
|
handle_irq_event(desc);
|
|
|
|
|
|
cond_unmask_irq(desc);
|
|
cond_unmask_irq(desc);
|
|
@@ -532,7 +532,6 @@ void handle_fasteoi_irq(struct irq_desc *desc)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
|
|
- kstat_incr_irqs_this_cpu(desc);
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* If its disabled or no action available
|
|
* If its disabled or no action available
|
|
@@ -544,6 +543,7 @@ void handle_fasteoi_irq(struct irq_desc *desc)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ kstat_incr_irqs_this_cpu(desc);
|
|
if (desc->istate & IRQS_ONESHOT)
|
|
if (desc->istate & IRQS_ONESHOT)
|
|
mask_irq(desc);
|
|
mask_irq(desc);
|
|
|
|
|