Thread (16 messages) 16 messages, 8 authors, 2021-09-23

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help