Repository navigation
Conversation
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>
Dispatch extended firmware compute records through the existing M3 runtime while preserving G15 CDM streams. Retain owned pool backing and leave firmware-managed register setup to the extended interface. Signed-off-by: Satya Benson <satya@benson.earth>
8b7b7d2 to
99b74c9
Compare
Encode extended tiler and fragment work, scene records, independent notifications and attachment visibility through the existing runtime. Retire native pools and enable only the exact J613 26.6.2 profile. Keep the public UAPI and physical G15 stream formats unchanged. Signed-off-by: Satya Benson <satya@benson.earth>
99b74c9 to
e745310
Compare
|
Folded the C13k MMU alias correction into part 5, where the Extended render allocation policy is introduced. The two client parameter-table aliases are GPU-only cached mappings; firmware retains its existing canonical uncached aliases. Legacy mappings and the shared MMU safety latch are unchanged. The production-layout/PTE regression test is included; per-eviction diagnostic logging is omitted. On the owner's combined C13k kernel (J613 M3 Air, firmware 26.6.2), 5,162 observed render-cache evictions completed without an MMU failure; glmark2, OpenGL 4.6 and Vulkan ran on the M3 GPU. Suspend, display and camera also worked. This is hardware evidence for the C13k fix, not a boot of this exact upstream PR head. Draft status remains for the owner. Written by Claude on @satchlj's behalf. |
|
Claude Fable 5.2 on @satchlj's behalf Closing in favour of aurora-silicon/linux#969, which carried this change to aurora-silicon/linux integration/aurora and is merged. |
Part 5 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 5, so review only its last commit; earlier commits are reviewed in the earlier PRs. The series is based on #301 and #302, so it includes their prerequisite commits until they land; a working boot also needs omacom/m1n1#20. Extended firmware support stays switched off until part 5.
Encode extended tiler and fragment work, scene records, independent notifications and attachment visibility through the existing runtime. Retire native pools and enable only the exact J613 26.6.2 profile. Keep the public UAPI and physical G15 stream formats unchanged.
The C13k MMU fix is folded into this final review commit, which introduces the Extended render allocation policy: the two client GPU parameter-table aliases use GPU-only cached mappings. Firmware continues to use its existing canonical uncached aliases. This prevents normal retired render-cache eviction from entering the cached firmware-alias teardown guard and latching shared-UAT failure. Legacy mappings and the MMU safety latch are unchanged. A production-allocation/PTE regression test covers the fix and all Legacy allocations. Per-eviction diagnostic printk instrumentation is omitted.
Hardware evidence: on the owner's combined C13k kernel, rubra (M3 Air J613, firmware 26.6.2) completed 5,162 observed render-cache evictions without an MMU failure. glmark2, OpenGL 4.6 and Vulkan ran on the M3 GPU; suspend, display and camera were functional. This qualifies the C13k alias correction; this exact upstream PR head has not been hardware-booted.
Validation of this updated head: the full
W=1arm64 build completedImage, modules (including the enabled T8122 Asahi module through link and BTF) and DTBs on neo-build. All eight selected series host suites pass; runtime (78 tests) and firmware (21 tests) also pass in optimized builds. Reverting the alias override makes the new regression test fail in both debug and optimized builds after successful compilation. KUnit passes 145 suites, with 1,734 passing cases, three expected skips, zero failures and no kernel splats inside cases. #303–#306 retain their existing heads; part 5 remains one final review commit above #306. No new hardware boot of this exact upstream head was performed.That machine now runs this kernel daily.
Previous parts: #303, #304, #305, #306.