Skip to content

Commit cc86432

Browse files
Valentin SchneiderMarc Zyngier
authored andcommitted
irqchip/gic-v2, v3: Drop extra IRQ_NOAUTOEN setting for (E)PPIs
(E)PPIs are per-CPU interrupts, so we want each CPU to go and enable them via enable_percpu_irq(); this also means we want IRQ_NOAUTOEN for them as the autoenable would lead to calling irq_enable() instead of the more appropriate irq_percpu_enable(). Calling irq_set_percpu_devid() is enough to get just that since it trickles down to irq_set_percpu_devid_flags(), which gives us IRQ_NOAUTOEN (and a few others). Setting IRQ_NOAUTOEN *again* right after this call is just redundant, so don't do it. Signed-off-by: Valentin Schneider <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 9ed78b0 commit cc86432

File tree

2 files changed

+0
-2
lines changed

2 files changed

+0
-2
lines changed

drivers/irqchip/irq-gic-v3.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1282,7 +1282,6 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
12821282
irq_set_percpu_devid(irq);
12831283
irq_domain_set_info(d, irq, hw, chip, d->host_data,
12841284
handle_percpu_devid_irq, NULL, NULL);
1285-
irq_set_status_flags(irq, IRQ_NOAUTOEN);
12861285
break;
12871286

12881287
case SPI_RANGE:

drivers/irqchip/irq-gic.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -982,7 +982,6 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
982982
irq_set_percpu_devid(irq);
983983
irq_domain_set_info(d, irq, hw, &gic->chip, d->host_data,
984984
handle_percpu_devid_irq, NULL, NULL);
985-
irq_set_status_flags(irq, IRQ_NOAUTOEN);
986985
} else {
987986
irq_domain_set_info(d, irq, hw, &gic->chip, d->host_data,
988987
handle_fasteoi_irq, NULL, NULL);

0 commit comments

Comments
 (0)