diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-04-13 09:31:36 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-04-28 21:14:29 -0400 |
commit | 30a564be9d9554c168a654eddc2165869cc0d7bf (patch) | |
tree | 734de780e0f84a189f66ca3cbf611e6f2bc563e9 /arch/x86/include/asm/hpet.h | |
parent | 1d16b0f2f3edf05f12a9e3960588e0d4854157bb (diff) |
x86, hpet: Restrict read back to affected ATI chipsets
After programming the HPET, we do a readback as a workaround for
ATI/SBx00 chipsets as a synchronization. Unfortunately this triggers
an erratum in newer ICH chipsets (ICH9+) where reading the comparator
immediately after the write returns the old value. Furthermore, as
always, I/O reads are bad for performance.
Therefore, restrict the readback to the chipsets that need it, or, for
debugging purposes, when we are running with hpet=verbose.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Venkatesh Pallipadi <venki@google.com>
LKML-Reference: <20100225185348.GA9674@linux-os.sc.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/include/asm/hpet.h')
-rw-r--r-- | arch/x86/include/asm/hpet.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/include/asm/hpet.h b/arch/x86/include/asm/hpet.h index 1d5c08a1bdfd..004e6e25e913 100644 --- a/arch/x86/include/asm/hpet.h +++ b/arch/x86/include/asm/hpet.h | |||
@@ -68,6 +68,7 @@ extern unsigned long force_hpet_address; | |||
68 | extern u8 hpet_blockid; | 68 | extern u8 hpet_blockid; |
69 | extern int hpet_force_user; | 69 | extern int hpet_force_user; |
70 | extern u8 hpet_msi_disable; | 70 | extern u8 hpet_msi_disable; |
71 | extern u8 hpet_readback_cmp; | ||
71 | extern int is_hpet_enabled(void); | 72 | extern int is_hpet_enabled(void); |
72 | extern int hpet_enable(void); | 73 | extern int hpet_enable(void); |
73 | extern void hpet_disable(void); | 74 | extern void hpet_disable(void); |