Skip to content

drm/asahi: prepare extended firmware queues and controller handoff - #305

Draft
satchlj wants to merge 7 commits into
omacom:integration/aurorafrom
satchlj:gpu26-controllers-20261030
Draft

satchlj wants to merge 7 commits into
omacom:integration/aurorafrom
satchlj:gpu26-controllers-20261030

Conversation

@satchlj

@satchlj satchlj commented Oct 31, 2026 •

Copy link
Copy Markdown

Part 3 of 5 of the T8122 (M3) GPU support series for macOS 26.6.2 firmware ("GPU26"). The parts are stacked: this PR contains parts 1 to 3, so review only its last commit; earlier commits are reviewed in the earlier PRs. The series is now based on #301 and #302 (merged in by the first commit below them, with both host-test registrations kept), so it includes their commits until they land; a working boot also needs omacom/m1n1#20. Extended firmware support stays switched off until part 5.

Still a draft: the full kernel package build passes and KUnit passes (145 suites, 1,734 tests, 0 failures) on the rebased stack; a hardware boot of this exact series is still to come. The same code, tested as one combined kernel on a J613 MacBook Air with 26.6.2 firmware, gave native Apple M3 (G15G C0) rendering through Mesa and the internal display.

Construct native queue, pool, context and notifier records. Read controller inputs from the admitted OPP handoff, preserve nanosecond durations and reject unsupported optional flags. Prepare native startup without enabling extended admission.

Validation:production runtime/firmware host tests pass in debug and optimized builds at this layer. The full Linux build and KUnit, paired-header suite and hardware retest on this upstream tree remain pending. Depends on the preceding GPU26 review layer and the #301/#302 manifest integration; successful GPU26 boot also needs m1n1#20.

Previous parts: #303, #304

Use the PMGR provider active-state predicate when checking inherited
display power. DISP_CPU can report ACTUAL=4 with AUTO_ENABLE and
TARGET=15 after automatic clock gating. Keep the checks read-only and
preserve all other handoff requirements.

Test all actual, target and automatic-state combinations and the
captured J613 state through the production helper.

Signed-off-by: Satya Benson <satya@benson.earth>
The 25G83 device tree advertises the AGX-specific compatible followed by
asc-mailbox-v4. Both bind the same mailbox operations. Admit this exact
pair while retaining all resource and identity checks.

Exercise the production rejection predicate with public-DTS fixtures and
resource mutations; allow optional local DT captures for reproduction.

Signed-off-by: Satya Benson <satya@benson.earth>
Cross all 512 ACTUAL/TARGET/AUTO combinations with zero, all-set,
alternating and individual unrelated-bit patterns. This verifies that
readiness ignores every bit outside the three PMGR fields.

A temporary ACTUAL mask widened from GENMASK(7, 4) to GENMASK(8, 4)
passes the old cases but fails the new ones at both -O0 and -O2.
Make the unoptimized compiler flag explicit and report failing words.

Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
…records

Separate firmware identity, HAL metadata and VM bounds from physical
G15G stream selection. Add checked root and owned IO descriptor encoders.
Introduce slot 28 at SGX+0xd50000 with a production-writer regression;
the shifted T8132 bank is never introduced. Keep VM padding zero.

Signed-off-by: Satya Benson <satya@benson.earth>
Build extended initialization owners, controller images and channel
records with checked allocation spans. Publish the bounded loader table
through existing M3 ownership. Keep extended runtime admission closed.

Signed-off-by: Satya Benson <satya@benson.earth>
Construct native queue, pool, context and notifier records. Read
controller inputs from the admitted OPP handoff, preserve nanosecond
durations and reject unsupported optional flags. Prepare native startup
without enabling extended admission.

Signed-off-by: Satya Benson <satya@benson.earth>
@satchlj
satchlj force-pushed the gpu26-controllers-20261030 branch from d99ce86 to ff9acb9 Compare October 31, 2026 03:54
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