From: Takashi Iwai <tiwai@suse.de>
Subject: x86: workaround for mccreary HPET read problem
Patch-mainline: not yet
References: bnc#433746

On mccreacy platform, the read of HPET CMP register seems not updated
immediately after the write and returns the previous value instead.
A workaround is to read the register twice.

Signed-off-by: Takashi Iwai <tiwai@suse.de>

---
---
 arch/x86/kernel/hpet.c |    1 +
 1 file changed, 1 insertion(+)

--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -386,6 +386,7 @@ static int hpet_next_event(unsigned long
 	cnt += (u32) delta;
 	hpet_writel(cnt, HPET_Tn_CMP(timer));
 
+	hpet_readl(HPET_Tn_CMP(timer)); /* pre-read for bnc#433746 */
 	/*
 	 * We need to read back the CMP register on certain HPET
 	 * implementations (ATI chipsets) which seem to delay the
