All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/ioapic: add IO-APIC irq_chip retrigger hook
@ 2017-01-17 14:13 Ruslan Ruslichenko
  2017-01-18 10:46 ` Thomas Gleixner
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Ruslan Ruslichenko @ 2017-01-17 14:13 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, linux-kernel
  Cc: xe-linux-external, Ruslan Ruslichenko

After commit d32932d02e18  ("x86/irq: Convert IOAPIC to use hierarchical
irqdomain interfaces") IO-APIC is switched to hierarchical irqdomain
implementation. Also this patch removed irq_retrigger hook for IO-APIC
chip which seem to be wrong. Without this hook some edge-triggered irq's
might be lost, since kernel uses it to retrigger edge irq's triggered
while they are being handled or disabled by driver
(see "Delayed_interrupt_disable" section at "Generic-IRQ-Guide"
of kernel docbook).

Thus adding this hook same way as it was done for MSI domain.

Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
---
 arch/x86/kernel/apic/io_apic.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 945e512..1e35dd0 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1875,6 +1875,7 @@ static int ioapic_set_affinity(struct irq_data *irq_data,
 	.irq_ack		= irq_chip_ack_parent,
 	.irq_eoi		= ioapic_ack_level,
 	.irq_set_affinity	= ioapic_set_affinity,
+	.irq_retrigger		= irq_chip_retrigger_hierarchy,
 	.flags			= IRQCHIP_SKIP_SET_WAKE,
 };
 
@@ -1886,6 +1887,7 @@ static int ioapic_set_affinity(struct irq_data *irq_data,
 	.irq_ack		= irq_chip_ack_parent,
 	.irq_eoi		= ioapic_ir_ack_level,
 	.irq_set_affinity	= ioapic_set_affinity,
+	.irq_retrigger		= irq_chip_retrigger_hierarchy,
 	.flags			= IRQCHIP_SKIP_SET_WAKE,
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-01-18 15:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-17 14:13 [PATCH] x86/ioapic: add IO-APIC irq_chip retrigger hook Ruslan Ruslichenko
2017-01-18 10:46 ` Thomas Gleixner
2017-01-18 14:26   ` Ruslan Ruslichenko -X (rruslich - GLOBALLOGIC INC at Cisco)
2017-01-18 14:36     ` Thomas Gleixner
2017-01-18 10:55 ` [tip:x86/apic] x86/ioapic: Restore IO-APIC irq_chip retrigger callback tip-bot for Ruslan Ruslichenko
2017-01-18 14:42 ` [tip:x86/urgent] " tip-bot for Ruslan Ruslichenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.