Skip to content

drm/asahi: J714s G17S voltage profile and fuse-mask guard - #1

Closed
TripleU613 wants to merge 1 commit into
rolotrealanis98:pr/m5-gpu-27.2from
TripleU613:codex/j714s-gpu-profile
Closed

TripleU613 wants to merge 1 commit into
rolotrealanis98:pr/m5-gpu-27.2from
TripleU613:codex/j714s-gpu-profile

Conversation

@TripleU613

Copy link
Copy Markdown

J714s and J716s report the same G17S GPU ID, so the current probe selects J716s voltage tables on both. This draft selects a separate J714s board profile from the root compatible and rejects unexpected GPU geometry or invalid fuse masks before firmware initialization.

The three-file change adds the main and auxiliary voltage tables captured as ADT metadata on one J714s running macOS 27.3 beta 1 (26C5035r). Other board fields retain the existing J716s assumptions. The existing firmware identity checks are unchanged; this patch adds no firmware layout or identity entries.

This is stacked directly on pr/m5-gpu-27.2 at 34f2f5bb4d03bbe3acce237cb67af8dc9972aa4a, the head of aurora-silicon/linux#1173. It supplies the J714s tables explicitly listed there as missing, without copying that series or the separate platform/boot patches.

Validation:

  • Compiled the complete production InitData module with rustc; checked all 28 main voltage/SRAM pairs and 14 auxiliary states against the captured metadata.
  • Compiled the actual production mask predicate outside the kernel: observed masks 0x3db,0x3db (16 enabled cores), maximum 20-slot masks, and zero/high-bit/short-mask negative cases pass.
  • Existing tools/asahi/g17-firmware-selection-tests.py passes. The telemetry suite's 18 Rust tests pass; its later legacy C comparison was not completed because its historical baseline was absent from the partial clone. scripts/checkpatch.pl --strict --no-signoff reports zero errors, warnings or checks.
  • Equivalent functional fragments were built and exercised in a larger J714s integration with firmware 27.3, 15 online CPUs, 16 enabled GPU cores, four hardware-rendering tests and an accelerated Hyprland desktop. Public results. The isolated three-file change has not been full-kernel-built or booted on this clean base.

Review limitations: these voltage bins come from one unit, but selection currently covers every apple,j714s. This does not validate other J714s units or SKUs, and the patch does not compare runtime ADT voltage bins. The two clusters have ten physical slots each; enabled cores come from the masks, rather than an assumed 20 enabled cores. Please review whether per-unit provisioning or another admission mechanism is required before enabling this model-wide. No new CPU, clock/governor, firmware, DT, mailbox or SMC changes are included.

Prepared with Codex assistance, including extraction of the owned metadata tables, source adaptation, host checks and this description. The changed GPL-2.0 source retains its existing license headers; no firmware, raw ADT dump or private runtime logs are included. This remains a draft pending human review and a human DCO sign-off; no human sign-off has been generated.

J714s and J716s share the G17S GPU ID but have different voltage bins.
Select a J714s board profile using the root compatible, retaining the
existing J716s assumptions for fields not measured on this J714s.
Reject unexpected geometry, out-of-range masks and an empty enabled-core
set before firmware initialization.

The main and auxiliary voltage tables come from ADT metadata on one
J714s running macOS 27.3 beta 1 (26C5035r). Selection covers the model,
not a measured per-unit bin match; other units and SKUs remain unverified.
This is a review candidate rather than a universal voltage-table claim.

The complete InitData module and extracted production mask predicate
pass host checks. Equivalent functional fragments ran in a larger
integration with 16 enabled GPU cores and hardware rendering; the
isolated patch has not been full-kernel-built or booted on this base.
Existing firmware identity checks remain unchanged.

Link: aurora-silicon#1173
Assisted-by: LLM
TripleU613 added a commit to betizzel/omarchy-m5 that referenced this pull request Nov 9, 2026
Capture the full commit series of omacom/linux-aurora#414, omacom/m1n1#39
and #40, rolotrealanis98/linux#1, rolotrealanis98/m5pro-linux#1 and #2,
and the unsubmitted m5pro-linux n1-loader-admission branch as git-am
mboxes, with an index. The PRs and their forks are being closed so this
repo is the single home for the work.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H3rUWr3saGxDib7Zd5Ksyw
@TripleU613

Copy link
Copy Markdown
Author

Closing: consolidating all my M5/J714s work into one place, https://github.com/betizzel/omarchy-m5 (this series is preserved as a git-am mbox in patches/upstream-prs/). Thanks for the reviews.

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