1
linux/arch/i386
Andi Kleen f9262c12c0 [PATCH] i386: port ATI timer fix from x86_64 to i386 II
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: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-08 18:10:31 -08:00
..
boot [PATCH] x86: gitignore some autogenerated files for i386 2006-02-14 16:09:35 -08:00
crypto [CRYPTO] aes-i586: Remove unused variable ls_tab 2006-01-09 14:15:53 -08:00
kernel [PATCH] i386: port ATI timer fix from x86_64 to i386 II 2006-03-08 18:10:31 -08:00
lib [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
mach-default [PATCH] Fix topology.c location 2006-02-24 14:31:39 -08:00
mach-es7000 [PATCH] ES7000 platform update 2005-10-30 17:37:12 -08:00
mach-generic [PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs 2005-09-05 00:06:10 -07:00
mach-visws [PATCH] useless includes of linux/irq.h in arch/i386 2005-09-26 18:29:50 -07:00
mach-voyager [PATCH] fix voyager after topology.c move 2006-02-26 19:10:30 -08:00
math-emu [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
mm [PATCH] x86_64: add __meminit for memory hotplug 2006-01-16 23:18:35 -08:00
oprofile [PATCH] x86: fix oprofile kernel callgraph regression 2006-02-14 08:25:29 -08:00
pci [PATCH] PCI: handle bogus MCFG entries 2006-01-31 18:00:13 -08:00
power [PATCH] x86: add MCE resume 2005-11-07 07:53:30 -08:00
defconfig [PATCH] e1000: Added disable packet split capability 2006-01-18 16:17:57 -05:00
Kconfig Make Kprobes depend on modules 2006-02-26 20:24:40 -08:00
Kconfig.cpu [PATCH] Base support for AMD Geode GX/LX processors 2006-01-06 08:33:38 -08:00
Kconfig.debug [PATCH] x86/x86_64: mark rodata section read only: x86 parts 2006-01-06 08:33:36 -08:00
Makefile [PATCH] i386: remove gcc version check for CONFIG_REGPARM 2006-01-16 23:15:25 -08:00
Makefile.cpu [PATCH] remove gcc-2 checks 2006-01-08 20:14:02 -08:00