linux/arch/x86/kernel/apic
Suresh Siddha c29d9db338 x86, ioapic: Fix the EOI register detection mechanism
Maciej W. Rozycki reported:

> 82093AA I/O APIC has its version set to 0x11 and it
> does not support the EOI register.  Similarly I/O APICs
> integrated into the 82379AB south bridge and the 82374EB/SB
> EISA component.

IO-APIC versions below 0x20 don't support EOI register.

Some of the Intel ICH Specs (ICH2 to ICH5) documents the io-apic
version as 0x2. This is an error with documentation and these
ICH chips use io-apic's of version 0x20 and indeed has a working
EOI register for the io-apic.

Fix the EOI register detection mechanism to check for version
0x20 and beyond.

And also, a platform can potentially  have io-apic's with
different versions. Make the EOI register check per io-apic.

Reported-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: ebiederm@xmission.com
Cc: garyhade@us.ibm.com
LKML-Reference: <20091201233335.065361533@sbs-t61.sc.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-02 10:11:01 +01:00
..
apic_flat_64.c x86: don't call read_apic_id if !cpu_has_apic 2009-05-18 08:43:25 +02:00
apic_noop.c x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
apic.c x86: apic: Remove not needed #ifdef 2009-11-23 09:54:15 +01:00
bigsmp_32.c x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
es7000_32.c x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
io_apic.c x86, ioapic: Fix the EOI register detection mechanism 2009-12-02 10:11:01 +01:00
ipi.c Merge commit 'v2.6.31-rc7' into x86/cleanups 2009-08-24 12:25:54 +02:00
Makefile x86, apic: Introduce the NOOP apic driver 2009-10-14 09:17:00 +02:00
nmi.c sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
numaq_32.c x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
probe_32.c x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
probe_64.c x86, apic: Use logical flat on intel with <= 8 logical cpus 2009-09-19 09:20:05 +02:00
summit_32.c x86: apic: Do not use stacked physid_mask_t 2009-11-10 05:52:07 +01:00
x2apic_cluster.c x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus 2009-08-08 17:04:58 +02:00
x2apic_phys.c x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus 2009-08-08 17:04:58 +02:00
x2apic_uv_x.c x86: SGI UV: Map low MMR ranges 2009-11-26 10:52:36 +01:00