config: arrowlake-h enabling#121
Open
Karabiner07 wants to merge 1 commit into
Open
Conversation
Signed-off-by: Joy Philip Pilli <joyphilip.p2001@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Add Arrow Lake-H (family 6, model 0xC5/197) platform support:
lpmd_cpu.cintel_lpmd_config_F6_M197.xmlwith WLT-driven power management tuned for H-series hybrid topologydata/Makefile.amDesign
Arrow Lake-H uses a P+E+L hybrid topology. The config keeps P-cores permanently parked in Balanced/AUTO mode — all differentiation is done via per-state EPP/EPB within the E+L core set. Users who need P-cores select Performance mode or disable LPMD.
Power profile mapping:
Unlike upstream templates (all Defs=-1 / idle by default), this config is active out-of-the-box with BalancedDef=0 and PowersaverDef=1.
WLT states (Balanced/AUTO mode):
All states use
ActiveLcores=ALL+ActiveEcores=ALL(topology-portable, resolved at runtime via CPUID) withIRQMigrate=1andMode=1(cgroup v2 isolate).Key decisions
WLT 0/1 merge (
WLTTypeMask=3): Hardware oscillates between WLT_IDLE and WLT_BATTERY_LIFE ~2x/sec. Separate states with different EPP/EPB values would cause ~64 sysfs writes/sec of I/O churn. Merging them into one state eliminates this entirely. Pattern adopted from F6_M181 (Arrow Lake-U).No wildcard WLT state: Some configs (e.g. F6_M189) use a wildcard state with no WLTType to catch invalid values. Here, invalid/out-of-range WLT values (e.g. WLT_INVALID=4) match no state — the daemon holds its current state unchanged (STATE_NONE), producing zero writes on garbage data.
Util thresholds disabled: All AUTO states share the same CPU mask (E+L), so load-based exit adds no value. The power-performance spectrum is handled entirely by EPP/EPB per WLT state.
ITMT:
IgnoreITMT=0for upstream consistency. Effectively a no-op — the kernel 6.14+ debugfs toggle is not created on Arrow Lake-H, and ITMT (prefer P-cores) conflicts with LPM (park P-cores).SoC Power Slider: Omitted. Panther Lake hardware debut; Arrow Lake loads the module but does not expose the slider mailbox.
Files changed
src/lpmd_cpu.c— Add model 0xC5 toid_table[], fix 0xB5 comment ("ArrowLake" → "Arrowlake U")data/intel_lpmd_config_F6_M197.xml— New platform config (documented inline)data/Makefile.am— Register config for installationTest plan