On Thu, 30 Sep 2021 19:21:39 +0200 Thomas Gleixner wrote: > On recent Intel systems the HPET stops working when the system reaches PC10 > idle state. > > The approach of adding PCI ids to the early quirks to disable HPET on > these systems is a whack a mole game which makes no sense. > > Check for PC10 instead and force disable HPET if supported. The check is > overbroad as it does not take ACPI, intel_idle enablement and command > line parameters into account. That's fine as long as there is at least > PMTIMER available to calibrate the TSC frequency. The decision can be > overruled by adding "hpet=force" on the kernel command line. > > Remove the related early PCI quirks for affected Ice Cake and Coffin Lake > systems as they are not longer required. That should also cover all > other systems, i.e. Tiger Rag and newer generations, which are most > likely affected by this as well. > > Fixes: Yet another hardware trainwreck > Reported-by: Jakub Kicinski <kuba@xxxxxxxxxx> > Not-yet-signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Jakub Kicinski <kuba@xxxxxxxxxx> $ dmesg | grep -i hpet [ 0.014755] ACPI: HPET 0x000000005DC0F000 000038 [ 0.014854] ACPI: Reserving HPET table memory at [mem 0x5dc0f000-0x5dc0f037] [ 0.144457] ACPI: HPET id: 0x8086a201 base: 0xfed00000 [ 0.296550] hpet: HPET dysfunctional in PC10. Force disabled. [ 0.912010] hpet_acpi_add: no address or irqs in _CRS $ cat /sys/devices/system/clocksource/clocksource0/available_clocksource tsc acpi_pm $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource tsc $ dmesg | grep RIP $