Definitive removal of HPET detections #616
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reasons:
HPET was explicitly disabled for Intel Ice Lake platforms and since then the kernel moved from per-CPU/PCI-ID blacklists to a behavior check (PC10 aka idle-state detection) that automatically covers other recent Intel SoCs (so the "where" is now more about behavior than a fixed chipset list). The Linux kernel later basically replaced the "add PCI IDs for each buggy model" approach with a idle state check that disables HPET when the platform exhibits the problematic behavior
https://www.phoronix.com/news/Linux-Disabling-HPET-CoffeeLake


As an example, the Asus TUF gaming a15 fa506nf with a AMD Ryzen 5 7535hs cpu exposes a HPET entry on its DSDT firmware table, but its disfunctional:

https://www.driveridentifier.com/scan/asustek-asus-tuf-gaming-a15-fa506nffa506nf-driver/desktop/16A22B6853874759AEFC28C1F3A38B2A
This would lead us to consistently keep tracking motherboards where the kernel might falsely report the absence of HPET, apart from disabling any detection of this clock in non x86 systems. For production-level accuracy, I've decided to remove the support for this detection.