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>
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>
Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
This was referenced Nov 3, 2026
satchlj
marked this pull request as ready for review
November 4, 2026 01:33
satchlj
requested review from
chriskearney,
maralcbr and
scottjones
as code owners
November 4, 2026 01:33
Signed-off-by: Satya Benson <satya@benson.earth>
This was referenced Nov 5, 2026
Author
|
Claude Fable 5.2 on @satchlj's behalf Closing in favour of aurora-silicon/linux#976, which carried this change to aurora-silicon/linux integration/aurora and is merged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Admit authorized HIGH queues on the Extended T8122 backend, retaining CAP_SYS_NICE-or-current-device-master authorization and existing G17 behavior. Other M3 profiles, G13/G14 and unknown backends retain rejection.
Stacked on #307 at e745310, which now includes the C13k MMU alias fix. Only the two priority commits were replayed onto that head; no duplicate MMU fix is carried. Target integration/aurora includes the prerequisite GPU26 stack in the displayed diff.
Validation before publication: production admission harness passed 360 cases with M3 enabled and 360 disabled, plus production priority mapping; 78 runtime and 12 batching/lifetime host tests passed. The affected Asahi module built with W=1/BTF against retained C13k prerequisites; this was not a full kernel/package or hardware boot qualification. Those build results precede the #307 rebase; the rebase changes the prerequisite baseline, not the priority patch. After rebasing onto e745310, fresh Neo-build checks passed all 360 M3-enabled and 360 M3-disabled admission cases, production priority mapping, 78 runtime tests and 12 batching/lifetime tests. The patch range differs only in sign-off messages. Alba has no rustc on PATH; these checks ran on Neo-build under its nonblocking shared build lock.
The M3 desktop can lag under GPU load: the compositor requests HIGH, but the extended T8122 kernel profile rejects it and Mesa silently falls back to MEDIUM. Default clients also use MEDIUM, leaving the desktop without the requested preference.
C13k baseline: three trials in a private headless, hardware-rendered sway session, undocked on battery with power-saver verified before and after (not continuously traced). Unloaded commit-to-present p50/p95/p99/max: 16.181/16.581/17.163/20.673 ms; under explicitly LOW GPU load: 16.205/17.499/22.402/38.332 ms. Loaded maximum presentation gap: 38.386 ms; estimated missed slots: 0.760%, versus 0% unloaded. LOW made progress every second; the bounded journal check found no matching GPU faults. This is a headless pacing proxy, not physical scanout or owner Hyprland latency, and HIGH was denied in this baseline.
REALTIME GPU priority stays rejected. Firmware queue encoding, channels and doorbells are unchanged; this series changes host ordering only and does not establish firmware preemption. Matched power-mode comparisons and physical Hyprland acceptance remain open. See the C13l-r2 hardware results below.
Series: kernel #346; Mesa omacom/mesa#31; Hyprland capability omacom/omarchy-mac-pkgs#88. Kernel supplies admission; Mesa exposes actual permission and effective priority; the capability package authorizes the production compositor.
PR CI was triggered; Kernel CI requires maintainer approval (action_required).
C13l-r2 hardware results
Authorized HIGH is admitted, unauthorized HIGH is denied, and EGL reports the effective priority accurately. Hyprland's capability and first activation were verified. A10 loaded p99 was HIGH 16.53 ms versus MEDIUM 16.61 ms: no material same-boot HIGH advantage was established. Firmware priority encoding is unchanged; only host ordering changes. Visible responsiveness benefit remains unproven pending firmware queue-priority research and physical-display qualification.
Observed all-worker CPU fell from 36.18% to 20.44% of one core, but C13k ran on battery/power-saver and C13l on AC/balanced, so this comparison is confounded. Fence latency is unmeasured because the timing flag was absent. There were zero MMU/PPL/GEM_BIND errors; the camera streamed 1080p at about 30 fps without the opt-in; Quickshell RSS was stable over the bounded observation. The package replacement hook was not exercised as a live transaction.
CI follow-up: registered queue-priority-tests.py in the pinned Rust 1.85 host-test manifest after CI self-test caught the missing entry. The 12 host-runner unit tests and the 360 enabled plus 360 disabled admission cases pass locally (Rust 1.98.1). CI restarted on the corrected head.