Re: [PATCH] x86/intel: Disable HPET on another Intel Coffee Lake platform
From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2021-09-16 15:07:10
Also in:
linux-pci
On Thu, Sep 16, 2021 at 06:17:39AM -0700, Jakub Kicinski wrote:
My Lenovo T490s with i7-8665U had been marking TSC as unstable since v5.13, resulting in very sluggish desktop experience...
Including the actual dmesg log line here might help others locate this fix.
I have a 8086:3e34 bridge, also known as "Host bridge: Intel Corporation Coffee Lake HOST and DRAM Controller (rev 0c)". Add it to the list. We should perhaps consider applying this quirk more widely. The Intel documentation does not list my device [1], but linuxhw [2] does, and it seems to list a few more bridges we do not currently cover (3e31, 3ecc, 3e35, 3e0f).
In the fine tradition of:
e0748539e3d5 ("x86/intel: Disable HPET on Intel Ice Lake platforms")
f8edbde885bb ("x86/intel: Disable HPET on Intel Coffee Lake H platforms")
fc5db58539b4 ("x86/quirks: Disable HPET on Intel Coffe Lake platforms")
62187910b0fc ("x86/intel: Add quirk to disable HPET for the Baytrail plat
form")
This seems to be an ongoing issue, not just a point defect in a single
product, and I really hate the onesy-twosy nature of this. Is there
really no way to detect this issue automatically or fix whatever Linux
bug makes us trip over this? I am no clock expert, so I have
absolutely no idea whether this is possible.
[1] https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/8th-gen-core-family-datasheet-vol-2.pdf [2] https://github.com/linuxhw/DevicePopulation/blob/master/README.md Cc: stable@vger.kernel.org # v5.13+
How did you pick v5.13? force_disable_hpet() was added by
62187910b0fc ("x86/intel: Add quirk to disable HPET for the Baytrail
platform"), which appeared in v3.15.
quoted hunk ↗ jump to hunk
Signed-off-by: Jakub Kicinski <kuba@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 38837dad46e6..7d2de04f8750 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c@@ -716,6 +716,8 @@ static struct chipset early_qrk[] __initdata = { 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_INTEL, 0x3e34, + 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, 0x8a12,-- 2.31.1