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
..
mach-bigsmp
[PATCH] x86: convert bigsmp to use flat physical mode
2006-01-06 08:33:37 -08:00
mach-default
[PATCH] x86_64/i386: Remove preempt disable calls in lowlevel IPI
2006-01-11 19:01:57 -08:00
mach-es7000
[PATCH] ES7000 platform update
2005-10-30 17:37:12 -08:00
mach-generic
mach-numaq
mach-summit
[PATCH] USB: Always do usb-handoff
2005-10-28 16:47:49 -07:00
mach-visws
Revert "i386: move apic init in init_IRQs"
2005-10-31 19:16:17 -08:00
mach-voyager
8253pit.h
a.out.h
acpi.h
[ACPI] Avoid BIOS inflicted crashes by evaluating _PDC only once
2005-12-01 01:30:35 -05:00
agp.h
apic.h
[PATCH] i386: port ATI timer fix from x86_64 to i386 II
2006-03-08 18:10:31 -08:00
apicdef.h
arch_hooks.h
atomic.h
[PATCH] EDAC: core EDAC support code
2006-01-18 19:20:31 -08:00
auxvec.h
[PATCH] auxiliary vector cleanups
2005-09-07 16:57:21 -07:00
bitops.h
[PATCH] mark several functions __always_inline
2006-01-14 18:27:15 -08:00
boot.h
bug.h
bugs.h
[PATCH] i386: move SIMD initialization
2006-01-06 08:33:34 -08:00
byteorder.h
cache.h
[PATCH] Kill L1_CACHE_SHIFT_MAX
2006-01-08 20:13:39 -08:00
cacheflush.h
[PATCH] x86/x86_64: mark rodata section read only: x86 parts
2006-01-06 08:33:36 -08:00
checksum.h
cpu.h
cpufeature.h
[PATCH] i386/x86-64: Generalize X86_FEATURE_CONSTANT_TSC flag
2006-01-11 19:01:12 -08:00
cputime.h
current.h
[PATCH] mark several functions __always_inline
2006-01-14 18:27:15 -08:00
debugreg.h
delay.h
desc.h
[PATCH] x86: fix broken SMP boot sequence
2006-02-24 14:31:38 -08:00
div64.h
[PATCH] include/asm-i386/: "extern inline" -> "static inline"
2005-09-10 10:06:34 -07:00
dma-mapping.h
[PATCH] i386: make pci_map_single/pci_map_sg warn for zero length.
2006-01-11 19:04:56 -08:00
dma.h
e820.h
edac.h
[PATCH] EDAC: core EDAC support code
2006-01-18 19:20:31 -08:00
elf.h
[PATCH] fix remaining missing includes
2005-11-07 07:53:41 -08:00
emergency-restart.h
errno.h
fcntl.h
[PATCH] Clean up struct flock64 definitions
2005-09-07 16:57:38 -07:00
fixmap.h
floppy.h
futex.h
[PATCH] uml: remove leftover from patch revertal
2006-01-18 19:20:20 -08:00
genapic.h
hardirq.h
highmem.h
hpet.h
hw_irq.h
Revert "i386: move apic init in init_IRQs"
2005-10-31 19:16:17 -08:00
i387.h
[PATCH] i386: task_thread_info()
2006-01-12 09:08:51 -08:00
i8253.h
i8259.h
ide.h
[PATCH] ide: explain the PCI bus test we do in <asm-i386/ide.h>
2005-11-10 00:10:37 +01:00
io.h
[PATCH] x86_64: Generalize DMI and enable for x86-64
2006-01-11 19:04:51 -08:00
io_apic.h
ioctl.h
[PATCH] Generic ioctl.h
2006-01-10 08:01:34 -08:00
ioctls.h
ipc.h
ipcbuf.h
irq.h
[PATCH] Make vm86 support optional
2006-01-08 20:14:11 -08:00
ist.h
kdebug.h
[PATCH] x86 NMI: better support for debuggers
2005-09-05 00:06:13 -07:00
kexec.h
[PATCH] Kdump: i386 compiler warning fix
2006-01-10 08:01:27 -08:00
kmap_types.h
kprobes.h
[PATCH] Kprobes causes NX protection fault on i686 SMP
2006-02-24 14:31:37 -08:00
ldt.h
linkage.h
local.h
math_emu.h
mc146818rtc.h
mca.h
mca_dma.h
mman.h
[PATCH] add asm-generic/mman.h
2006-02-15 15:32:22 -08:00
mmu.h
mmu_context.h
mmx.h
mmzone.h
[PATCH] mm: kvaddr_to_nid not used in common code
2006-01-06 08:33:23 -08:00
module.h
[PATCH] Base support for AMD Geode GX/LX processors
2006-01-06 08:33:38 -08:00
mpspec.h
Merge linux-2.6 with linux-acpi-2.6
2005-09-08 01:45:47 -04:00
mpspec_def.h
[PATCH] mpspec: remove unneeded packed attribute
2006-01-06 08:33:39 -08:00
msgbuf.h
msi.h
[PATCH] PCI: Change MSI to use physical delivery mode always
2005-11-10 16:09:18 -08:00
msr.h
[PATCH] x86: more asm cleanups
2005-09-05 00:06:12 -07:00
mtrr.h
mutex.h
Fix mutex_trylock() copy-and-paste bug (x86, x86-64, generic mutex-dec.h)
2006-01-11 15:50:47 -08:00
namei.h
nmi.h
node.h
numa.h
[PATCH] x86-64: Use ACPI PXM to parse PCI<->node assignments
2005-09-12 10:49:57 -07:00
numaq.h
numnodes.h
page.h
[PATCH] VMSPLIT config options
2006-02-01 08:53:21 -08:00
param.h
[PATCH] Avoid namespace pollution in <asm/param.h>
2006-01-02 08:38:38 -08:00
parport.h
pci-direct.h
pci.h
percpu.h
pgalloc.h
pgtable-2level-defs.h
pgtable-2level.h
[PATCH] i386: little pgtable.h consolidation vs 2/3level
2005-10-30 17:37:12 -08:00
pgtable-3level-defs.h
pgtable-3level.h
[PATCH] i386: little pgtable.h consolidation vs 2/3level
2005-10-30 17:37:12 -08:00
pgtable.h
[PATCH] fix remaining missing includes
2005-11-07 07:53:41 -08:00
poll.h
posix_types.h
processor.h
[PATCH] i386: task_stack_page()
2006-01-12 09:08:52 -08:00
ptrace.h
[PATCH] PTRACE_SYSEMU is only for i386 and clashes with other ptrace codes of other archs
2006-01-08 20:14:04 -08:00
resource.h
rtc.h
rwlock.h
rwsem.h
[PATCH] add sem_is_read/write_locked()
2005-10-29 21:40:35 -07:00
scatterlist.h
seccomp.h
sections.h
segment.h
[PATCH] x86: Pnp segments in segment h
2006-01-06 08:33:34 -08:00
semaphore.h
[PATCH] semaphore: Remove __MUTEX_INITIALIZER()
2005-10-30 17:37:27 -08:00
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
[PATCH] Handle TIF_RESTORE_SIGMASK for i386
2006-01-18 19:20:29 -08:00
smp.h
[PATCH] PCI: Change MSI to use physical delivery mode always
2005-11-10 16:09:18 -08:00
socket.h
sockios.h
sparsemem.h
spinlock.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
spinlock_types.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
srat.h
stat.h
statfs.h
string.h
[PATCH] mark several functions __always_inline
2006-01-14 18:27:15 -08:00
suspend.h
system.h
[PATCH] Fix "value computed is not used" compile warnings with gcc-4.1
2006-02-05 11:06:54 -08:00
termbits.h
termios.h
thread_info.h
[PATCH] i386: fix singlestepping though a syscall
2006-02-17 08:55:21 -08:00
timer.h
[PATCH] add suspend/resume for timer
2005-09-05 00:06:18 -07:00
timex.h
tlb.h
tlbflush.h
topology.h
[PATCH] fix x86 topology export in sysfs for subarchitectures
2006-02-14 16:09:34 -08:00
types.h
uaccess.h
[PATCH] mark several functions __always_inline
2006-01-14 18:27:15 -08:00
ucontext.h
unaligned.h
unistd.h
[PATCH] fstatat64 support
2006-02-11 21:41:10 -08:00
user.h
vga.h
vic.h
vm86.h
[PATCH] Make vm86 support optional
2006-01-08 20:14:11 -08:00
voyager.h
xor.h