Skip to content

drm/asahi: admit opted-in J615 on the shared 26.6.2 profile - #970

Draft
satchlj wants to merge 1 commit into
integration/aurorafrom
satchlj/port-310-20261104
Draft

satchlj wants to merge 1 commit into
integration/aurorafrom
satchlj/port-310-20261104

Conversation

@satchlj

@satchlj satchlj commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Stacked on #969 (port of omacom/linux-aurora#307); review that first.

Admit J615 only with an unambiguous board identity and the exact shared 26.6.2 experimental loader opt-in. Retain the newer #307 MMU correction. J615 hardware remains unqualified.

Port of omacom/linux-aurora#310. Depends on the port of omacom/linux-aurora#307; use the stack base above to review this layer. The original PR remains untouched.

Carried dependencies (original patch, complete message, authorship and dates preserved; 7.3 adaptations are separate commits):

Original commit Carried commit Subject Original author Origin
e51f1082fa23 84ef8e4d724d drm/asahi: m3: restore the 7.1.12 T8122 runtime sources, unwired Scott Jones carried unaltered from omacom/linux-aurora
ad52c9b317f6 e45af192f61d drm/asahi: m3: start the T8122 runtime on 7.2 Scott Jones carried unaltered from omacom/linux-aurora
8e864a57c40e e16c5bbae3f8 drm/asahi: m3: map each VM's dummy page where the firmware expects it Scott Jones carried unaltered from omacom/linux-aurora
75c5823f60b3 eae5bfa6b7d3 drm/asahi: m3: quarantine a failed job's VM before signalling its fence Scott Jones carried unaltered from omacom/linux-aurora
d2666d8ca7a5 c9dcc611f3f1 drm/asahi: m3: keep the adopted UAT until ASC stops on a failed start Scott Jones carried unaltered from omacom/linux-aurora
e8023bba60e6 34b754f9d5cf drm/asahi: m3: don't let the compute stream debug read fail a job Scott Jones carried unaltered from omacom/linux-aurora
8a31fe185686 0486865371b4 drm/asahi: prepare supported M3 native GPU defaults Chris Kearney carried unaltered from omacom/linux-aurora
61eccdbbee80 6b505f46bda1 drm/asahi: m3: start the GPU firmware once per boot Scott Jones carried unaltered from omacom/linux-aurora
6246daaee9d2 00311a5359da drm/asahi: m3: don't quarantine VMs for packets the firmware never saw Scott Jones carried unaltered from omacom/linux-aurora
fc5391123e5a c297e5a44010 drm/asahi: align M3 Air startup diagnostics with board defaults Chris Kearney carried unaltered from omacom/linux-aurora
80958cd5a495 6cdb981acb5b drm/asahi: m3: take the start pin with try_module_get Scott Jones carried unaltered from omacom/linux-aurora
18c64047548c ba17f5af0ba0 drm/asahi: m3: admit clients that ask for the parameters up to the HAL generation DjDeveloperr carried unaltered from omacom/linux-aurora
4b7aa809ff54 a8f092b08ba0 drm/asahi: sync the G17 driver with aurora-silicon at d3cf19b DjDeveloperr carried unaltered from omacom/linux-aurora

@scottjones @chriskearney @DjDeveloperr @RyanTheTide

This carries Scott Jones's T8122 runtime and safety foundation from omacom/linux-aurora unaltered, because Aurora doesn't have it yet and this change builds on it. If you'd rather land it separately or differently, say so and I'll rework this.

This carries Chris Kearney's M3 native defaults and startup diagnostics from omacom/linux-aurora unaltered, because Aurora doesn't have it yet and this change builds on it. If you'd rather land it separately or differently, say so and I'll rework this.

This carries DjDeveloperr's M3 client parameter admission and timestamp adapter from omacom/linux-aurora unaltered, because Aurora doesn't have it yet and this change builds on it. If you'd rather land it separately or differently, say so and I'll rework this.

Aurora #783 held this foundation pending identity-selected constants and J613/J615 qualification. This port does not clear that hold.

Validation: arm64 defconfig + asahi.config, Image/modules/DTBs with BTF and KUnit enabled, LLVM 18/Rust 1.85.0, passed at stack top #310 (151ddf9295cb), which includes this branch. The validated integration base is b500668. QEMU loaded the test-bearing modules successfully with no additional failures. The combined run retains four pre-existing SEP store failures (plus their suite aggregate), reproduced on the unmodified Aurora base. The unmodified pinned base also crashes in apple-av-audio-lifetime/av_lifetime_devres_order; that unrelated audio suite is explicitly excluded. All tests added by these ports run through KUnit debugfs on Cortex-A76. This is not a fully green or complete-tree KUnit run. M3 runtime, firmware, batching, power and paired UAPI fixtures passed; J615 hardware remains unqualified. No 7.3 hardware boot or deployment has been performed.

@satchlj

satchlj commented Nov 5, 2026

Copy link
Copy Markdown
Member Author

@DjDeveloperr @RyanTheTide ready for your regression testing. It hasn't been boot-tested on J613 with 7.3 yet; I'll post the result here when I have it. Still a draft until it's tested on a J615.

@satchlj

satchlj commented Nov 6, 2026

Copy link
Copy Markdown
Member Author

J613 boot result on 7.3 (rubra, M3 MacBook Air 13", macOS 26.6.2 / 25G83 firmware), 2026-11-05.

For this PR: the J615 code is built in and stays inert on J613. It still needs a J615 to test.

@RyanTheTide RyanTheTide left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The base branch satchlj/port-307-20261104 (27d860d) is already in integration/aurora: it landed through #969 and #964 (integration a45bea1). Please retarget this PR to integration/aurora. Its only remaining commit is aef029a, and it merges cleanly there. CI will run once it targets integration.

Before it leaves draft, it needs a J615 result on 26.6.2 (25G83) firmware from that head:

  • with chosen.asahi,j615-25g83-experimental=1: the GPU starts on the Extended profile and GL/Vulkan run;
  • without the property: loaded_profile() returns ENODEV, the driver does not bind, and the boot is otherwise unchanged.

Please also post the j615_requires_exact_optin_and_unambiguous_board and extended_admission_requires_exact_firmware_and_air results.

The 26.6.2 (25G83) IPSW ships the same GPU, DCP and PMP firmware for
the 13-inch (J613) and 15-inch (J615) M3 Air, and the J615 ADT matches
J613's in every node this path uses. Allow J615 onto the extended
profile, but only with the same exact opt-in m1n1 and the DCP code
already require (chosen asahi,j615-25g83-experimental = "1"), and only
when the board identity is unambiguous. J613 behaviour is unchanged.

This has not been qualified on J615 hardware.

Signed-off-by: Satya Benson <satya@benson.earth>
@satchlj
satchlj changed the base branch from satchlj/port-307-20261104 to integration/aurora November 10, 2026 19:44
@satchlj
satchlj force-pushed the satchlj/port-310-20261104 branch from c5a7262 to 7c6a1f7 Compare November 10, 2026 19:46
@satchlj

satchlj commented Nov 10, 2026

Copy link
Copy Markdown
Member Author

@ericjuta @mmonari @M4Marvin @contursofran @omermuneer @AnotherCoolDude: you've each reported running Linux on a 15-inch M3 Air (J615). Would any of you be open to helping test this PR?

It lets the J615 GPU start when Linux boots on the newer macOS 26.6.2 (25G83) firmware, which is what the 13-inch (J613) already uses. I only have a J613, so this can't merge without a result from a real J615.

The catch is the firmware: from your reports you're all on the 14.7 OS firmware, so the first step would be moving your Linux install onto a 26.6.2 boot volume. That is more than booting a test kernel, and we're happy to help you through the whole process, step by step.

Once on that firmware, the test itself is two boots of a kernel built from this branch:

  • with chosen.asahi,j615-25g83-experimental=1 set by the loader: the GPU should start on the Extended profile, and GL and Vulkan should run;
  • without it: the GPU driver should not bind, and the boot is otherwise unchanged.

If you're interested, reply here and we'll take it from there. No pressure if it's not a good time.

@satchlj

satchlj commented Nov 10, 2026

Copy link
Copy Markdown
Member Author

Retargeted to integration/aurora; only the J615 opt-in change remains. Both j615_requires_exact_optin_and_unambiguous_board and extended_admission_requires_exact_firmware_and_air pass (13/13 tests in the combined production-module harness). This remains draft: I have no J615 to produce the requested 25G83 opt-in Extended/GL/Vulkan result and the property-absent ENODEV/no-bind control. I've asked J615 owners above whether any of them can test.

@M4Marvin

Copy link
Copy Markdown

I am down 100 percent, i am also dev, fyi just in case.

@satchlj

satchlj commented Nov 10, 2026

Copy link
Copy Markdown
Member Author

I am down 100 percent, i am also dev, fyi just in case.

@M4Marvin sweet thanks! It's me this time lol

Sorry for the claudeslop above, Claude is supposed to identify itself when it posts on GitHub with my acct but apparently missed that

I'll send you more info soon - are you on the Aurora discord?

@satchlj

satchlj commented Nov 10, 2026

Copy link
Copy Markdown
Member Author

@M4Marvin

Copy link
Copy Markdown

I'll send you more info soon - are you on the Aurora discord?

Not yet could you send me a link

@satchlj

satchlj commented Nov 10, 2026

Copy link
Copy Markdown
Member Author

I'll send you more info soon - are you on the Aurora discord?

Not yet could you send me a link

https://discord.gg/DXmsSSc5aY

@DjDeveloperr DjDeveloperr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.

The exact opt-in, board-ambiguity and firmware gating look appropriately narrow, and host tests pass. Keep this draft until a real J615 on 25G83 demonstrates the exact opt-in Extended GL/Vulkan case plus absent/malformed-property ENODEV/no-bind controls. J613 boot/composition reports do not qualify this J615 path. I am coordinating volunteered hardware with ryan-orch-regress; no firmware upgrade or hardware run has been authorized by this review.

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.

4 participants