x86, hpet: Restrict read back to affected ATI chipsets
authorThomas Gleixner <tglx@linutronix.de>
Tue, 13 Apr 2010 13:31:36 +0000 (15:31 +0200)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 29 Apr 2010 01:14:29 +0000 (18:14 -0700)
commit30a564be9d9554c168a654eddc2165869cc0d7bf
tree734de780e0f84a189f66ca3cbf611e6f2bc563e9
parent1d16b0f2f3edf05f12a9e3960588e0d4854157bb
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>
arch/x86/include/asm/hpet.h
arch/x86/kernel/hpet.c
arch/x86/kernel/quirks.c