linux/arch/x86/kernel/apic
Suresh Siddha e57253a81d x86, ioapic: Restore the mask bit correctly in eoi_ioapic_irq()
For older IO-APIC's, we were clearing the remote-IRR by changing
the RTE trigger mode to edge and then back to level. We wanted
to mask the RTE during this process, so we were essentially
doing mask+edge and then to unmask+level.

As part of the commit ca64c47cec,
we moved this EOI process earlier where the IO-APIC RTE is
masked. So we were wrongly unmasking it in the eoi_ioapic_irq().

So change the remote-IRR clear sequence in eoi_ioapic_irq() to
mask + edge and then restore the previous RTE entry which will
restore the mask status as well as the level trigger.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Thomas Renninger <trenn@suse.de>
Cc: Rafael Wysocki <rjw@novell.com>
Cc: lchiquitto@novell.com
Cc: jbeulich@novell.com
Cc: yinghai@kernel.org
Link: http://lkml.kernel.org/r/20110825190657.210286410@sbsiddha-desk.sc.intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-09-21 10:26:26 +02:00
..
apic_flat_64.c x86, apic: Include module.h header in apic_flat_64.c 2011-05-23 21:27:35 +02:00
apic_noop.c x86-32, NUMA: Make apic->x86_32_numa_cpu_node() optional 2011-05-02 14:18:52 +02:00
apic.c iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
bigsmp_32.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
es7000_32.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
hw_nmi.c watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh 2011-05-23 11:58:59 +02:00
io_apic.c x86, ioapic: Restore the mask bit correctly in eoi_ioapic_irq() 2011-09-21 10:26:26 +02:00
ipi.c x86: Always use x86_cpu_to_logical_apicid for cpu -> logical apic id 2011-01-28 14:54:05 +01:00
Makefile x86, apic: Introduce .apicdrivers section to find the list of apic drivers 2011-05-22 11:48:03 +02:00
numaq_32.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
probe_32.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
probe_64.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
summit_32.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
x2apic_cluster.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
x2apic_phys.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
x2apic_uv_x.c x86, UV: Remove UV delay in starting slave cpus 2011-08-05 23:48:34 +02:00