Skip to content

J615: expose die temperatures and preserve T8122 GPU thermal fallback - #410

Open
ericjuta wants to merge 3 commits into
omacom:integration/aurorafrom
ericjuta:fix/j615-thermal-safe-cap
Open

ericjuta wants to merge 3 commits into
omacom:integration/aurorafrom
ericjuta:fix/j615-thermal-safe-cap

Conversation

@ericjuta

@ericjuta ericjuta commented Nov 7, 2026

Copy link
Copy Markdown

Summary

Separate the opt-in T8122 GPU performance ceiling from its boot/sensor-failure cap, and expose the complete J615 SoC die sensor set.

Three commits:

  1. hwmon: add J615's six GPU-family and six CPU die keys; require all twelve to be discovered before registering the zone.
  2. drm/asahi: preserve the state-2 boot/failure cap even when asahi.t8122_pstate_cap=5 is requested. Off/hold cannot boost above the safe cap; lower requested ceilings still win. Add regression coverage for missing, failed, stale, stuck and implausible readings, pacing, hot/critical temperatures and recovery.
  3. docs/tools: explain the guarded ceiling, qualification procedure and older-kernel warning; update one-shot help.

The default ceiling remains 2. Non-T8122 cap selection is unchanged. This also conservatively bounds T8122 boards without usable sensor feedback.

Validation

  • rustc --edition=2021 --test tools/asahi/m3-runtime-tests.rs -o /tmp/j615-thermal-runtime-tests and execution: 24 passed on the rebased branch.
  • bash -n tools/aurora-sep/air-gpu/air-gpu-oneshot.sh: passed.
  • Existing running J615 custom kernel 7.2.11-dcpexp-thermal+, configured with asahi.t8122_pstate_cap=5 asahi.m3_thermal=on, logs runtime cap 5 -> 4 -> 3 -> 2 at 80.3–80.5 C, then recovery 2 -> 3 -> 4 -> 5 at 66.5–67.7 C. This is observed runtime behavior, not proof that the freshly rebased branch is the running binary.
  • The newly rebased branch has not had a full kernel build/boot test. Sensor-failure behavior is covered by host tests, not injected hardware faults. No claim of calibrated temperatures or hardware safety certification.

Scope

Based on current integration/aurora (8eddf5a). Excludes existing display/brightness PRs #354, #356 and #357, local boot deployment scripts, and USB power workarounds. The intermittent USB-C -28/revalidation failure is unresolved and is not claimed fixed here.

@ericjuta

ericjuta commented Nov 8, 2026

Copy link
Copy Markdown
Author

Additional J615 hardware observations (2026-11-08): the currently running combined kernel is 7.2.11-dcpexp-usb-recovery-20261108, with asahi.t8122_pstate_cap=5 and asahi.m3_thermal=on. All nine locally modified thermal-related source/docs files are byte-for-byte identical between the earlier thermal working tree and this USB-recovery build tree. The installed Image matches the build Image by SHA-256; installed asahi/macsmc-hwmon module build IDs match the build artifacts. This is provenance for the combined local build, not a claim that the rebased PR branch was built or booted unchanged.

The current boot registered all 12 listed J615 die keys. Runtime logs show cap 2 -> 3 -> 4 -> 5 with cool readings, and 5 -> 4 -> 3 -> 2 with readings of 80.5–83.8 C; the firmware summary reports peak state 5. The user reports stable unplug/replug and lid-open/closed use on this combined kernel. No sensor-failure injection or sustained thermal qualification was performed in this audit.

Please keep the sensor/fallback correctness work separate from raising default performance limits. Review coordination with overlapping #135 is still needed, particularly explicit thermal-Off semantics. The all-keys requirement concerns the selected sensor list; it does not establish calibrated coverage of the hottest physical location, nor does it prevent an explicit partial sensor-list override. These observations do not establish hardware safety or qualify #317.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant