mirror of https://lore.kernel.org/lkml/
 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	[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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome