• Suresh Siddha's avatar
    x86, ioapic: Fix the EOI register detection mechanism · c29d9db3
    Suresh Siddha authored
    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: default avatarMaciej W. Rozycki <macro@linux-mips.org>
    Signed-off-by: default avatarSuresh 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: default avatarIngo Molnar <mingo@elte.hu>
    c29d9db3
io_apic.c 99.9 KB