android_kernel_xiaomi_sm8350/include/asm-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
..
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 [PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs 2005-09-05 00:06:10 -07:00
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 [PATCH] i386: inline asm cleanup 2005-09-05 00:06:11 -07:00
apic.h [PATCH] i386: port ATI timer fix from x86_64 to i386 II 2006-03-08 18:10:31 -08:00
apicdef.h [PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs 2005-09-05 00:06:10 -07:00
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_apic.h
io.h [PATCH] x86_64: Generalize DMI and enable for x86-64 2006-01-11 19:04:51 -08:00
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_dma.h
mca.h
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h
mmu.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_def.h [PATCH] mpspec: remove unneeded packed attribute 2006-01-06 08:33:39 -08:00
mpspec.h Merge linux-2.6 with linux-acpi-2.6 2005-09-08 01:45:47 -04: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 [PATCH] x86: fix EFI memory map parsing 2005-09-05 00:06:09 -07:00
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_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.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 [PATCH] sab: consolidate kmem_bufctl_t 2005-09-05 00:05:48 -07:00
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 [PATCH] i386: inline asm cleanup 2005-09-05 00:06:11 -07:00