• Thomas Gleixner's avatar
    x86/hpet: Use another crystalball to evaluate HPET usability · 6e3cd952
    Thomas Gleixner authored
    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: default avatarJakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Tested-by: default avatarJakub Kicinski <kuba@kernel.org>
    Reviewed-by: default avatarRafael J. Wysocki <rafael@kernel.org>
    Cc: stable@vger.kernel.org
    Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    6e3cd952
early-quirks.c 21.2 KB