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@xxxxxxxxxxxxxxx # 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. > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> > --- > --- > 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 >