]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Takashi Iwai <tiwai@suse.de> |
2 | Subject: x86: workaround for mccreary HPET read problem | |
3 | Patch-mainline: | |
4 | References: bnc#433746 | |
5 | ||
6 | On mccreacy platform, the read of HPET CMP register seems not updated | |
7 | immediately after the write and returns the previous value instead. | |
8 | A workaround is to read the register twice. | |
9 | ||
10 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | |
11 | ||
12 | --- | |
13 | --- a/arch/x86/kernel/hpet.c | |
14 | +++ b/arch/x86/kernel/hpet.c | |
15 | @@ -278,6 +278,7 @@ static int hpet_legacy_next_event(unsign | |
16 | cnt += (u32) delta; | |
17 | hpet_writel(cnt, HPET_T0_CMP); | |
18 | ||
19 | + hpet_readl(HPET_T0_CMP); /* pre-read for bnc#433746 */ | |
20 | /* | |
21 | * We need to read back the CMP register to make sure that | |
22 | * what we wrote hit the chip before we compare it to the |