x86/quirks: disable HPET on Intel Coffee Lake Refresh platforms

Message ID 20191209154505.6183-1-Jason@zx2c4.com
State New
Headers show
Series
  • x86/quirks: disable HPET on Intel Coffee Lake Refresh platforms
Related show

Commit Message

Jason A. Donenfeld Dec. 9, 2019, 3:45 p.m.
This is a follow up of fc5db58539b4 ("x86/quirks: Disable HPET on Intel
Coffe Lake platforms"), which addressed the issue for 8th generation
Coffee Lake. Intel has released Coffee Lake again for 9th generation,
apparently still with the same bug:

clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large:
clocksource:                       'hpet' wd_now: 24f422b8 wd_last: 247dea41 mask: ffffffff
clocksource:                       'tsc' cs_now: 144d927c4e cs_last: 140ba6e2a0 mask: ffffffffffffffff
tsc: Marking TSC unstable due to clocksource watchdog
TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
sched_clock: Marking unstable (26553416234, 4203921)<-(26567277071, -9656937)
clocksource: Switched to clocksource hpet

So, we add another quirk for the chipset

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

Cc: Feng Tang <feng.tang@intel.com>
Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
---
 arch/x86/kernel/early-quirks.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.24.0

Comments

Jason A. Donenfeld Dec. 20, 2019, 1:42 a.m. | #1
Hi,

Thought I should give a poke here so that this doesn't slip through
the cracks again. Could we get this in for rc3?

Thanks,
Jason

On Mon, Dec 9, 2019 at 4:45 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote:
>

> This is a follow up of fc5db58539b4 ("x86/quirks: Disable HPET on Intel

> Coffe Lake platforms"), which addressed the issue for 8th generation

> Coffee Lake. Intel has released Coffee Lake again for 9th generation,

> apparently still with the same bug:

>

> clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large:

> clocksource:                       'hpet' wd_now: 24f422b8 wd_last: 247dea41 mask: ffffffff

> clocksource:                       'tsc' cs_now: 144d927c4e cs_last: 140ba6e2a0 mask: ffffffffffffffff

> tsc: Marking TSC unstable due to clocksource watchdog

> TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.

> sched_clock: Marking unstable (26553416234, 4203921)<-(26567277071, -9656937)

> clocksource: Switched to clocksource hpet

>

> So, we add another quirk for the chipset

>

> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

> Cc: Feng Tang <feng.tang@intel.com>

> Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>

> Cc: Thomas Gleixner <tglx@linutronix.de>

> Cc: stable@vger.kernel.org

> ---

>  arch/x86/kernel/early-quirks.c | 2 ++

>  1 file changed, 2 insertions(+)

>

> diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c

> index 4cba91ec8049..a73f88dd7f86 100644

> --- a/arch/x86/kernel/early-quirks.c

> +++ b/arch/x86/kernel/early-quirks.c

> @@ -712,6 +712,8 @@ static struct chipset early_qrk[] __initdata = {

>                 PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

>         { PCI_VENDOR_ID_INTEL, 0x3ec4,

>                 PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

> +       { PCI_VENDOR_ID_INTEL, 0x3e20,

> +               PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

>         { PCI_VENDOR_ID_BROADCOM, 0x4331,

>           PCI_CLASS_NETWORK_OTHER, PCI_ANY_ID, 0, apple_airport_reset},

>         {}

> --

> 2.24.0
Andy Lutomirski Dec. 20, 2019, 1:43 a.m. | #2
On Thu, Dec 19, 2019 at 5:43 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote:
>

> Hi,

>

> Thought I should give a poke here so that this doesn't slip through

> the cracks again. Could we get this in for rc3?


Thomas?

BTW, you forgot LKML.

>

> Thanks,

> Jason

>

> On Mon, Dec 9, 2019 at 4:45 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote:

> >

> > This is a follow up of fc5db58539b4 ("x86/quirks: Disable HPET on Intel

> > Coffe Lake platforms"), which addressed the issue for 8th generation

> > Coffee Lake. Intel has released Coffee Lake again for 9th generation,

> > apparently still with the same bug:

> >

> > clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large:

> > clocksource:                       'hpet' wd_now: 24f422b8 wd_last: 247dea41 mask: ffffffff

> > clocksource:                       'tsc' cs_now: 144d927c4e cs_last: 140ba6e2a0 mask: ffffffffffffffff

> > tsc: Marking TSC unstable due to clocksource watchdog

> > TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.

> > sched_clock: Marking unstable (26553416234, 4203921)<-(26567277071, -9656937)

> > clocksource: Switched to clocksource hpet

> >

> > So, we add another quirk for the chipset

> >

> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

> > Cc: Feng Tang <feng.tang@intel.com>

> > Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>

> > Cc: Thomas Gleixner <tglx@linutronix.de>

> > Cc: stable@vger.kernel.org

> > ---

> >  arch/x86/kernel/early-quirks.c | 2 ++

> >  1 file changed, 2 insertions(+)

> >

> > diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c

> > index 4cba91ec8049..a73f88dd7f86 100644

> > --- a/arch/x86/kernel/early-quirks.c

> > +++ b/arch/x86/kernel/early-quirks.c

> > @@ -712,6 +712,8 @@ static struct chipset early_qrk[] __initdata = {

> >                 PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

> >         { PCI_VENDOR_ID_INTEL, 0x3ec4,

> >                 PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

> > +       { PCI_VENDOR_ID_INTEL, 0x3e20,

> > +               PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

> >         { PCI_VENDOR_ID_BROADCOM, 0x4331,

> >           PCI_CLASS_NETWORK_OTHER, PCI_ANY_ID, 0, apple_airport_reset},

> >         {}

> > --

> > 2.24.0
Peter Zijlstra Dec. 20, 2019, 10:07 a.m. | #3
On Fri, Dec 20, 2019 at 02:42:59AM +0100, Jason A. Donenfeld wrote:
> Hi,

> 

> Thought I should give a poke here so that this doesn't slip through

> the cracks again. Could we get this in for rc3?


I think another version of this patch made it in recently, see commit:

  f8edbde885bb ("x86/intel: Disable HPET on Intel Coffee Lake H platforms")

> On Mon, Dec 9, 2019 at 4:45 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote:

> >

> > This is a follow up of fc5db58539b4 ("x86/quirks: Disable HPET on Intel

> > Coffe Lake platforms"), which addressed the issue for 8th generation

> > Coffee Lake. Intel has released Coffee Lake again for 9th generation,

> > apparently still with the same bug:

> >

> > clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large:

> > clocksource:                       'hpet' wd_now: 24f422b8 wd_last: 247dea41 mask: ffffffff

> > clocksource:                       'tsc' cs_now: 144d927c4e cs_last: 140ba6e2a0 mask: ffffffffffffffff

> > tsc: Marking TSC unstable due to clocksource watchdog

> > TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.

> > sched_clock: Marking unstable (26553416234, 4203921)<-(26567277071, -9656937)

> > clocksource: Switched to clocksource hpet

> >

> > So, we add another quirk for the chipset

> >

> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

> > Cc: Feng Tang <feng.tang@intel.com>

> > Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>

> > Cc: Thomas Gleixner <tglx@linutronix.de>

> > Cc: stable@vger.kernel.org

> > ---

> >  arch/x86/kernel/early-quirks.c | 2 ++

> >  1 file changed, 2 insertions(+)

> >

> > diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c

> > index 4cba91ec8049..a73f88dd7f86 100644

> > --- a/arch/x86/kernel/early-quirks.c

> > +++ b/arch/x86/kernel/early-quirks.c

> > @@ -712,6 +712,8 @@ static struct chipset early_qrk[] __initdata = {

> >                 PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

> >         { PCI_VENDOR_ID_INTEL, 0x3ec4,

> >                 PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

> > +       { PCI_VENDOR_ID_INTEL, 0x3e20,

> > +               PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},

> >         { PCI_VENDOR_ID_BROADCOM, 0x4331,

> >           PCI_CLASS_NETWORK_OTHER, PCI_ANY_ID, 0, apple_airport_reset},

> >         {}

> > --

> > 2.24.0
Jason A. Donenfeld Dec. 20, 2019, 11:14 a.m. | #4
On Fri, Dec 20, 2019 at 11:08 AM Peter Zijlstra <peterz@infradead.org> wrote:
>

> On Fri, Dec 20, 2019 at 02:42:59AM +0100, Jason A. Donenfeld wrote:

> > Hi,

> >

> > Thought I should give a poke here so that this doesn't slip through

> > the cracks again. Could we get this in for rc3?

>

> I think another version of this patch made it in recently, see commit:

>

>   f8edbde885bb ("x86/intel: Disable HPET on Intel Coffee Lake H platforms")


Oh, good. Glad to see it came from somewhere. Thanks.

Jason

Patch

diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index 4cba91ec8049..a73f88dd7f86 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -712,6 +712,8 @@  static struct chipset early_qrk[] __initdata = {
 		PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},
 	{ PCI_VENDOR_ID_INTEL, 0x3ec4,
 		PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},
+	{ PCI_VENDOR_ID_INTEL, 0x3e20,
+		PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},
 	{ PCI_VENDOR_ID_BROADCOM, 0x4331,
 	  PCI_CLASS_NETWORK_OTHER, PCI_ANY_ID, 0, apple_airport_reset},
 	{}