Skip to content
  • Andi Kleen's avatar
    [PATCH] i386: port ATI timer fix from x86_64 to i386 II · f9262c12
    Andi Kleen authored
    
    
    ATI chipsets tend to generate double timer interrupts for the local APIC
    timer when both the 8254 and the IO-APIC timer pins are enabled.  This is
    because they route it to both and the result is anded together and the CPU
    ends up processing it twice.
    
    This patch changes check_timer to disable the 8254 routing for interrupt 0.
    
    I think it would be safe on all chipsets actually (i tested it on a couple
    and it worked everywhere) and Windows seems to do it in a similar way, but
    to be conservative this patch only enables this mode on ATI (and adds
    options to enable/disable too)
    
    Ported over from a similar x86-64 change.
    
    I reused the ACPI earlyquirk infrastructure for the ATI bridge check, but
    tweaked it a bit to work even without ACPI.
    
    Inspired by a patch from Chuck Ebbert, but redone.
    
    Cc: Chuck Ebbert <76306.1226@compuserve.com>
    Cc: "Brown, Len" <len.brown@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    f9262c12