linux/arch/x86/kernel
Venki Pallipadi d54bd57d65 x86: HPET force enable o ICH7 and later
Force detect and/or enable HPET on ICH chipsets.  This patch just handles the
detection part and following patches use this information.  Adds a function to
repeat the force enabling during resume time.

Using HPET this way, instead of PIT increases the time CPUs can reside in
C-state when system is totally idle.  On my test system with Core 2 Duo,
average C-state residency goes up from ~20mS to ~80mS.

[ Build fixed from Andrew Morton ]

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Andi Kleen <ak@suse.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-12 23:04:23 +02:00
..
acpi Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
cpu Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
cpufreq x86_64: move kernel/cpufreq 2007-10-11 11:17:06 +02:00
.gitignore i386: move kernel 2007-10-11 11:17:01 +02:00
alternative.c i386: move kernel 2007-10-11 11:17:01 +02:00
aperture_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
apic_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
apic_64.c x86_64: cleanup apic.c after clock events switch 2007-10-12 23:04:23 +02:00
apm_32.c Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
asm-offsets_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
asm-offsets_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
asm-offsets.c i386: move kernel 2007-10-11 11:17:01 +02:00
audit_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
bootflag.c i386: move kernel 2007-10-11 11:17:01 +02:00
bugs_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
cpuid.c i386: move kernel 2007-10-11 11:17:01 +02:00
crash_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
crash_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
crash_dump_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
crash_dump_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
doublefault_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
e820_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
e820_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
early_printk.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
early-quirks_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
efi_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
efi_stub_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
entry_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
entry_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
genapic_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
genapic_flat_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
geode_32.c x86: Geode Multi-Function General Purpose Timers support 2007-10-12 23:04:06 +02:00
head64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
head_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
head_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
hpet.c x86: HPET restructure hpet code for hpet force enable 2007-10-12 23:04:23 +02:00
i386_ksyms_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
i387_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
i387_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
i8237.c i386: move kernel 2007-10-11 11:17:01 +02:00
i8253.c x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
i8259_32.c x86: kill 8253pit.h 2007-10-12 23:04:23 +02:00
i8259_64.c x86_64: convert to clock events 2007-10-12 23:04:07 +02:00
init_task_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
init_task_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
io_apic_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
io_apic_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
ioport_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
ioport_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
irq_32.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
irq_64.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
k8.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
kprobes_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
kprobes_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
ldt_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
ldt_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
machine_kexec_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
machine_kexec_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
Makefile x86_64: move kernel 2007-10-11 11:17:24 +02:00
Makefile_32 x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
Makefile_64 x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
mca_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
mce_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
mce_amd_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
mce_intel_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
mfgpt_32.c x86: Geode MFGPT clock event device support 2007-10-12 23:04:06 +02:00
microcode.c i386: move kernel 2007-10-11 11:17:01 +02:00
module_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
module_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
mpparse_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
mpparse_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
msr.c i386: move kernel 2007-10-11 11:17:01 +02:00
nmi_32.c x86: Fix irq0 / local apic timer accounting 2007-10-12 23:04:06 +02:00
nmi_64.c x86: Fix irq0 / local apic timer accounting 2007-10-12 23:04:07 +02:00
numaq_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
paravirt_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
pci-calgary_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
pci-dma_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
pci-dma_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
pci-gart_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
pci-nommu_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
pci-swiotlb_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
pcspeaker.c i386: move kernel 2007-10-11 11:17:01 +02:00
pmtimer_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
process_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
process_64.c x86_64: prepare idle loop for dynamic ticks 2007-10-12 23:04:07 +02:00
ptrace_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
ptrace_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
quirks.c x86: HPET force enable o ICH7 and later 2007-10-12 23:04:23 +02:00
reboot_32.c Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
reboot_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
reboot_fixups_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
relocate_kernel_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
relocate_kernel_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
scx200_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
setup64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
setup_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
setup_64.c x86: disable apic timer for AMD C1E enabled CPUs 2007-10-12 23:04:07 +02:00
sigframe_32.h i386: move kernel 2007-10-11 11:17:01 +02:00
signal_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
signal_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
smp_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
smp_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
smpboot_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
smpboot_64.c x86_64: convert to clock events 2007-10-12 23:04:07 +02:00
smpcommon_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
srat_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
stacktrace.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
summit_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
suspend_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
suspend_asm_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
sys_i386_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
sys_x86_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
syscall_64.c i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
syscall_table_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
sysenter_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
tce_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
time_32.c x86: Fix irq0 / local apic timer accounting 2007-10-12 23:04:06 +02:00
time_64.c x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
topology.c i386: move kernel 2007-10-11 11:17:01 +02:00
trampoline_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
trampoline_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
traps_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
traps_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
tsc_32.c Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
tsc_64.c x86: unify timex.h variants 2007-10-12 23:04:23 +02:00
tsc_sync.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
verify_cpu_64.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
vm86_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
vmi_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
vmiclock_32.c i386: move kernel 2007-10-11 11:17:01 +02:00
vmlinux_32.lds.S i386: move kernel 2007-10-11 11:17:01 +02:00
vmlinux_64.lds.S x86_64: move kernel 2007-10-11 11:17:24 +02:00
vmlinux.lds.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsmp_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
vsyscall_32.lds.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsyscall_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsyscall_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00
vsyscall-int80_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsyscall-note_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsyscall-sigreturn_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
vsyscall-sysenter_32.S i386: move kernel 2007-10-11 11:17:01 +02:00
x8664_ksyms_64.c x86_64: move kernel 2007-10-11 11:17:24 +02:00