Repository navigation
drm/asahi, drm/apple: M5 GPU and firmware-27 display on integration/aurora - #1012
Merged
DjDeveloperr merged 166 commits intoNov 10, 2026
Merged
Conversation
funkzy
force-pushed
the
funkzy/t6050-gpu-on-integration
branch
from
November 6, 2026 07:08
35fc02a to
d078ca1
Compare
|
Hi, thanks for the M5 series. We run Linux natively on an M5 Pro MacBook Pro (J714s, T6050) and are trying to follow the right public work for its GPU. From what's public: this PR runs the M5 Ultra on bare metal, and it deliberately refuses the M5 Pro at probe until bare-metal GPU tables exist. The related T6050 loader changes in aura were closed as carried in a non-public consolidated branch, and their GPU handoff targets the two-die Ultra. Is there a supported public native path for the M5 Pro GPU, planned or in progress? If so, which branch or PR should we follow? We'd be glad to test public changes on a J714s when there is something to try. |
Contributor
Must fix
Should fix
Checked and sound
|
funkzy
force-pushed
the
funkzy/t6050-gpu-on-integration
branch
from
November 7, 2026 00:52
d078ca1 to
62cd1cc
Compare
funkzy
pushed a commit
that referenced
this pull request
Nov 7, 2026
Bind the T6050 GPU through "apple,agx-g17s", the compatible its M5 Max
("apple,agx-g17c") and M5 Ultra ("apple,agx-g17d") nodes fall back to,
in place of "apple,agx-t6050", which no binding documents. The GPU's ID
registers still choose the board's configuration.
Signed-off-by: Erik Bourget <erik@ebourget.net>
[ onto #1012 rebased on integration/aurora 33bec40: conflicts in driver.rs only; the G17S entry probes through ProbeConfig::G17M5, the series' name for the M5 Pro/Max/Ultra entry beside integration's T8142 ProbeConfig::M5 ]
Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
funkzy
pushed a commit
that referenced
this pull request
Nov 7, 2026
Bind the T6050 GPU through "apple,agx-g17s", the compatible its M5 Max
("apple,agx-g17c") and M5 Ultra ("apple,agx-g17d") nodes fall back to,
in place of "apple,agx-t6050", which no binding documents. The GPU's ID
registers still choose the board's configuration.
Signed-off-by: Erik Bourget <erik@ebourget.net>
[ onto #1012 rebased on integration/aurora 33bec40: conflicts in driver.rs only; the G17S entry probes through ProbeConfig::G17M5, the series' name for the M5 Pro/Max/Ultra entry beside integration's T8142 ProbeConfig::M5 ]
Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
funkzy
force-pushed
the
funkzy/t6050-gpu-on-integration
branch
2 times, most recently
from
November 7, 2026 02:36
a07459c to
5b0f106
Compare
funkzy
pushed a commit
that referenced
this pull request
Nov 7, 2026
Bind the T6050 GPU through "apple,agx-g17s", the compatible its M5 Max
("apple,agx-g17c") and M5 Ultra ("apple,agx-g17d") nodes fall back to,
in place of "apple,agx-t6050", which no binding documents. The GPU's ID
registers still choose the board's configuration.
Signed-off-by: Erik Bourget <erik@ebourget.net>
[ onto #1012 rebased on integration/aurora 33bec40: conflicts in driver.rs only; the G17S entry probes through ProbeConfig::G17M5, the series' name for the M5 Pro/Max/Ultra entry beside integration's T8142 ProbeConfig::M5 ]
Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
funkzy
force-pushed
the
funkzy/t6050-gpu-on-integration
branch
from
November 7, 2026 09:11
d30b165 to
b1615e3
Compare
rolotrealanis98
added a commit
to rolotrealanis98/m5pro-linux
that referenced
this pull request
Nov 7, 2026
Branch pr/m5-gpu-27.2 34f2f5bb4d03 on aurora-silicon/linux#1012 (funkzy/t6050-gpu-on-integration b1615e3fca90, unchanged since the integration). Commits 0001-0013 of kernel-27.2 with review-ready messages; DCP 0014-0015 left for their own PR. Two code changes against the integrated tree: the fwid KUnit test now expects V26C5035 for 27.3, and Gpu::new() keeps refusing 27.2+ until the wiring commit so no intermediate commit hands the firmware a half-converted graph (final tree differs from gpu/integrated-27.2~2 only in the test). Checks (all pass on the head) with README and store lists, PR body and the #1012 comment. Not pushed, PR not opened.
This was referenced Nov 7, 2026
This was referenced Nov 8, 2026
…are-metal GPU tables Add the M5 Pro/Max configuration (T6050) and its OF match, selected by the ID registers. A G17 configuration now names its firmware protocol, and the 26A428/25G83 graph tables become optional, since the M5 graph carries its own. Probe refuses an M5 board that has no bare-metal GPU page tables, and the M5 boot entry point stays closed until one does. [ rebased onto integration/aurora: rewritten from t6050-gpu 6613f5ab7b7e..15e1b3e4fa44 (3 commits); SPTM/APIF removed; adapted to integration's g17::Config, ProbeConfig and Firmware::Identified; original 6613f5ab7b7e, 1a021061f226, 15e1b3e4fa44 ] [ rebased onto integration/aurora 33bec40: conflicts in driver.rs and hw/mod.rs only; the M5 Pro/Max/Ultra probe entry and function are named ProbeConfig::G17M5 and probe_g17_m5 beside integration's T8142 backend (ProbeConfig::M5, probe_m5); hw::t6050 sits beside hw::t8152 ] Signed-off-by: Diljit Singh <hey@djdev.me> Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
…d context pins Add the UAT pieces the M5 queues use: sparse-tile binds and their zeroed and per-VM sink tiles, render pool mappings that move with a pool identity, the metrics alias, execution-context pins and the M5 dynamic kernel ranges. On M5, a healthy last-job release skips the VM drain. [ rebased onto integration/aurora: rewritten from t6050-gpu 6613f5ab7b7e..692d42fb35d7 (5 commits); SPTM/APIF removed; adapted to integration's mmu.rs (7.3 GPUVM, UatQuirks, ExecutionRoot, SG leases); comments and names reworded; M5 paths restored where the first rewrite lost them: one prepare_bind_object, with the sparse-tile bind; the G15/G16 adopted UAT (Uat::new_adopted_inner) sets m5: false, for integration's own config (defconfig + asahi.config), which builds G16 beside G17 and failed with E0063 without it; original 6613f5ab7b7e, e25ba8a6fb2b, 1a021061f226, f49e91b3f364, 692d42fb35d7 ] [ rebased onto integration/aurora 33bec40: conflicts in mmu.rs only; the sparse_tile and table modules sit beside integration's t8152 one, and the sparse-tile map path follows integration's no-peer map preflight ] [jq: dropped the per-VM metrics alias cache; each render now maps only its own metrics entry, per review] Signed-off-by: Diljit Singh <hey@djdev.me> Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
Add the M5 firmware's InitData layout and its graph builder, and let InitData address the M5 bundle, private state, recovery views, effort word and control ring at their M5 locations. Firmware events stay off on M5 until its queues take submission, and the M5 effort word is published as zero. [ rebased onto integration/aurora: rewritten from t6050-gpu 6613f5ab7b7e..77dc6eb34210 (5 commits); SPTM/APIF removed; adapted to integration's InitData (status_b and views fields) and fw::Variant; comments and names reworded; M5 paths restored where the first rewrite lost them: the M5 metrics binding; original 6613f5ab7b7e, e25ba8a6fb2b, 1a021061f226, f49e91b3f364, 77dc6eb34210 ] Signed-off-by: Diljit Singh <hey@djdev.me> Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
…-list layout Add the M5 pool descriptor and free-list encodings, the render storage demand they are sized from, and M5 render and compute pools beside the existing ones. Render pool identities become leases that can move between logical contexts, so idle storage is reused instead of rebuilt. [ rebased onto integration/aurora: rewritten from t6050-gpu 6613f5ab7b7e..77dc6eb34210 (4 commits); SPTM/APIF removed; adapted to integration's freelist (capacity refusals, lower-window placement, per-context render pools); comments and names reworded; original 6613f5ab7b7e, e25ba8a6fb2b, cda233bc91f7, 77dc6eb34210 ] Signed-off-by: Diljit Singh <hey@djdev.me> Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
…mand port Add the M5 queue records, configurations and notifications, and the host command port that installs a queue pair and submits work. On M5, tiling, fragment and compute share the compute ring of each priority, whose outer credits are claimed before either host port is written, all under the device mutex. [ rebased onto integration/aurora: rewritten from t6050-gpu 6613f5ab7b7e..f49e91b3f364 (4 commits); SPTM/APIF removed; adapted to integration's InitData work publication and resource wait domains; comments and names reworded; M5 paths restored where the first rewrite lost them: the UAT's range for the compute kick rings and timestamps, the M5 control records, reports and statistics mask, the M5 firmware preparation, the fault window read, and the scheduler page from the retention pool; original 6613f5ab7b7e, e25ba8a6fb2b, 1a021061f226, f49e91b3f364 ] [ rebased onto integration/aurora 33bec40: conflicts in channel.rs and reports.rs only; Reports::record() takes the family's tag mask beside integration's admitted flag, and the statistics drain keeps integration's per-drain receive time and cutoff ] [jq: test-only; the report tests pass record()'s tag mask and index the second role at TAGS, so KUnit builds at this commit] Signed-off-by: Diljit Singh <hey@djdev.me> Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
…fuses tags past 63 M5's statistics mask adds tag 32 to the G17 family's, and record() keeps 64 tags per role. The report tests checked neither, so a tag counted under the wrong family's mask, or one past 63 indexing beyond its role's samples, would have gone unnoticed. A new case checks that tag 32 counts under M5's mask and not under G17's, and that a tag past 63 is refused even with every mask bit set. The invalid-tag case also tries tags 63 and 64. Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
Add the render and compute program resources, the shader-write, stage-prefix and whole-attachment render flags, matrix and no-query compute, and their feature bits. The command parser takes the resource commands and the stage-prefix tail; validation applies the M5 command set only where the firmware variant has it. [ rebased onto integration/aurora: rewritten from t6050-gpu 6613f5ab7b7e..a507978ff411 (7 commits); SPTM/APIF removed; adapted to integration's UAPI numbering, ray-query stages and fw::Variant; the M5 UAPI flags and features in the UAPI header with agx3c Mesa's numbers, the stage-prefix fields appended to drm_asahi_cmd_render; interim forms until the render submission commit; comments and names reworded; M5 paths restored where the first rewrite lost them: VM_BIND accepts DRM_ASAHI_BIND_SPARSE_TILE; original 6613f5ab7b7e, e25ba8a6fb2b, bd4a3d7a0c97, 2f58522abec7, 2c5c77b6aaba, e393a52c7151, a507978ff411 ] [ rebased onto integration/aurora 33bec40: conflicts in asahi_drm.h with integration's G18 UAPI; the M5 feature bit 30 and the render (21, 23, 24) and compute (16, 17) flags sit beside integration's G18 definitions, after its notes reserving them, and the bit-30 note names the defined bit; the stage-prefix fields are their own struct drm_asahi_render_stage_prefixes after the 448-byte struct drm_asahi_cmd_render (struct drm_asahi_cmd_render_m5, the same 480 bytes on the wire), as G18 carries its resources, so G18's 448/528-byte payloads and G15's size assert stay as integration has them; command.rs reads that tail ] [jq: GET_PARAMS no longer reports BOUNDED_AS_BUILD on M5, whose command set refuses the flag; the scs_layout doc names M5, per review] [jq: compute and render long-job allowance also counts M5's intersection tables, per review] Signed-off-by: Diljit Singh <hey@djdev.me> Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
Preserve the source authors and the validated ordered M5 stack. Signed-off-by: Diljit Singh <hey@djdev.me>
Preserve the source authors and the validated ordered M5 stack. Signed-off-by: Diljit Singh <hey@djdev.me>
Preserve the source authors and the validated ordered M5 stack. Signed-off-by: Diljit Singh <hey@djdev.me>
Preserve the source authors and the validated ordered M5 stack. Signed-off-by: Diljit Singh <hey@djdev.me>
Signed-off-by: Diljit Singh <hey@djdev.me> # Conflicts: # drivers/gpu/drm/asahi/hw/t6041.rs
Keep the credential and priority gate extraction scoped before queue-share accounting, preserving the existing assertions and production behavior. Signed-off-by: Diljit Singh <hey@djdev.me>
rolotrealanis98
pushed a commit
to rolotrealanis98/linux
that referenced
this pull request
Nov 10, 2026
Firmware 27.2 renumbered the IOMFB AP methods: the IOMobileFramebufferAP
methods moved up by 50, and set_create_DFB and vi_set_temperature_hint
by one. The UPPipe methods are unchanged. A DCP running 27.2 that is
sent a 27.0 tag panics ("link_rpc_lookup callback not found"); on T6050
the first one sent was A427.
Keep a method table per 27.x build and choose it at probe from
apple,firmware-compat ("27.0.0" or "27.2.0"). A firmware-compat with no
table is refused at probe with a message naming it, where a 27.x string
other than 27.0.0 was refused silently before.
The 27.2 tag of dfb_ready_query has not been seen in a call, so the
27.2 table has no entry for it and boot_5() does not send it to a build
whose table has none.
Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
[Rolando: resolved context conflicts with the afk_power_gen field and the
panel_identity allocation that PR aurora-silicon#1012 added next to the new lines; the
27.2 entry A478 (27.0 A428) is named iomfbep_set_brightness_correction, as
PR aurora-silicon#1012's 27.0 table names A428, since dcpep_pipe_set_428 is not in its
method enum; left dfb_ready_query out of the 27.2 table, where it was
A385 by inference, and made boot_5() skip a query that has no tag]
Signed-off-by: Rolando Trevino <rolotrealanis@gmail.com>
sithglan
pushed a commit
to sithglan/aurora-linux
that referenced
this pull request
Nov 10, 2026
Bind the T6050 GPU through "apple,agx-g17s", the compatible its M5 Max
("apple,agx-g17c") and M5 Ultra ("apple,agx-g17d") nodes fall back to,
in place of "apple,agx-t6050", which no binding documents. The GPU's ID
registers still choose the board's configuration.
Signed-off-by: Erik Bourget <erik@ebourget.net>
[ onto aurora-silicon#1012 rebased on integration/aurora 33bec40: conflicts in driver.rs only; the G17S entry probes through ProbeConfig::G17M5, the series' name for the M5 Pro/Max/Ultra entry beside integration's T8142 ProbeConfig::M5 ]
Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
This was referenced Nov 11, 2026
Merged
This was referenced Nov 11, 2026
rolotrealanis98
pushed a commit
to rolotrealanis98/linux
that referenced
this pull request
Nov 12, 2026
Firmware 27.2 renumbered the IOMFB AP methods: the IOMobileFramebufferAP
methods moved up by 50, and set_create_DFB and vi_set_temperature_hint
by one. The UPPipe methods are unchanged. A DCP running 27.2 that is
sent a 27.0 tag panics ("link_rpc_lookup callback not found"); on T6050
the first one sent was A427.
Keep a method table per 27.x build and choose it at probe from
apple,firmware-compat ("27.0.0" or "27.2.0"). A firmware-compat with no
table is refused at probe with a message naming it, where a 27.x string
other than 27.0.0 was refused silently before.
The 27.2 tag of dfb_ready_query has not been seen in a call, so the
27.2 table has no entry for it and boot_5() does not send it to a build
whose table has none.
Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
[Rolando: resolved context conflicts with the afk_power_gen field and the
panel_identity allocation that PR aurora-silicon#1012 added next to the new lines; the
27.2 entry A478 (27.0 A428) is named iomfbep_set_brightness_correction, as
PR aurora-silicon#1012's 27.0 table names A428, since dcpep_pipe_set_428 is not in its
method enum; left dfb_ready_query out of the 27.2 table, where it was
A385 by inference, and made boot_5() skip a query that has no tag]
Signed-off-by: Rolando Trevino <rolotrealanis@gmail.com>
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.
Current consolidated M5 bring-up status
Frozen ending head:
65bb111d95457ec5beffa5b1b203d0979671c9dfComplete tree:
4dc6dfa83f0d1872f653527d0f83e73fc6ff27bbIntegration cutoff:
c1c3dc53d8d9344488fd25855fa2180494a4d1baThe original detailed write-up below is retained as historical context; statements there about earlier refusals, exclusions or commit counts do not override this consolidated status.
Original earlier Ultra/Max development write-up and historical validation
What this is
M5 GPU and display support on integration's drivers, tested on a bare-metal M5 Ultra (Mac Studio, J775D). The M5 Max (J716c) now runs too.
defconfig+asahi.config, all modules through modpost) and with every backend on; per-commit builds follow (see Testing).DRM_ASAHI_M5), G18 and G15 all build and keep their own bindings and payloads.How the series is organized
apple,agx-g17s.Commits from other authors carry only conflict resolutions and review fixes, each noted in the commit.
What's in it
GPU (drivers/gpu/drm/asahi, g17):
apple,agx-g17s. An M5 Max node listsapple,agx-g17cand an M5 Ultra nodeapple,agx-g17d, each withapple,agx-g17sas the fallback (the nodes come with arm64: dts: apple: add the J716c (MacBook Pro 16-inch, M5 Max) #945; see Dependencies).rust: drm: gem: shmem: Offer core-created objects only to full allocatorsandhwmon: macsmc: Accept fan requests from a kernel thermal policy.Performance: on M5, GPU completion and scheduler work run in the submitting client's cluster, so jobs complete up to 20% faster from either die of the M5 Ultra. This is M5-gated, with two small Rust bindings (workqueue, drm_sched) to support it.
Display (drivers/gpu/drm/apple):
Fixes from a review of the series
Several touch shared G17 or display code. Each commit says which paths and GPUs it covers.
Changes after review
dj's review of the first posting is folded in. Each fix sits in the commit it belongs to, with a note on others' commits. Two new commits close the module-unload race, and a third fixes a CPU spin that testing found.
Must fix:
try_module_get(), so rmmod is refused instead of leaving firmware callbacks pointing into freed code.EOPNOTSUPP, instead of being accepted and then failing, which Mesa treated as a lost device.Should fix:
BOUNDED_AS_BUILDon M5, whose command set refuses it.scs_layoutandcdm_auxiliary_allocationas they are used on M5.Also:
__module_get(), which an rmmod already under way doesn't stop. They now usetry_module_get(), so a probe racing rmmod is refused with nothing started.EBUSYafter its timeout. Before, the creator woke itself at once and retried with the device mutex taken on every turn, over half a million times in 29 seconds.Reasoned and build-checked only, with no hardware here: the G17P paths (2 and 3, and the queue-creation wait in shared G17 code), the T8140 display gating, and the G16, T8142 M5 and G18 module pins.
Two render pairs per M5 Ultra render queue (added)
Four commits on top, on 5b0f106. They combine dj's two-render-pair design from t6050-gpu (87cab74, 22516bf45e61), with its firmware ordering of overlapping renders (b141ca9), and Ryan's shared QID capacity on integration/aurora (780956a). Ryan's capacity rule protects one render pair per execution context and shares the rest, and set one pair per queue to fit it. These commits bring back dj's second pair on G17D from that shared surplus.
1. Fix: restore dj's two render pairs per queue on G17D, within Ryan's shared capacity (three commits)
GPU time per render is unchanged; the gain comes from the two pairs overlapping.
2. Perf: take a queue's second render pair only once its first has a backlog, so depth-2 rows run 20–28% faster than always splitting (one commit)
With group 1 alone, a depth-2 queue switches pairs on almost every render and loses time. Stacking on the busy pair until it holds a backlog fixes that: fill d2 92 against 126, geom d2 102 against 127 µs. Depth 8 keeps the two-pair gain (fill 38.14).
Tested on the bare-metal M5 Ultra, with the same platform test layer as above:
UAPI
include/uapi/drm/asahi_drm.hdefines the M5 render and compute interface: stage prefixes, whole-attachment renders, and the M5 compute and render resources.struct drm_asahi_cmd_renderstays at integration's 448 bytes. M5's stage prefixes are their own struct,struct drm_asahi_render_stage_prefixes, sent after the complete render command asstruct drm_asahi_cmd_render_m5(480 bytes). This is the same pattern as G18's render payload, so G18's payloads and size checks are untouched. The prefixes must be zero when the flag isn't set.DRM_ASAHI_FEATURE_RENDER_STAGE_PREFIXES_V2(bit 33). It is a#defineafter the enum, like G18's bit 32, because integration gave bits 31 and 32 to G18. Bits 24 and 25 stay defined but are retired: older Mesa uses them for 352- and 368-byte layouts whose prefix fields sit where this command carries its ray-query state, so no kernel may report them again. The header says so, and a build-time check keeps them out of the M5 feature set. So any Mesa and kernel pairing works; a mismatched pairing just doesn't send staged renders.DRM_ASAHI_COMPUTE_NO_QUERY_ACCESS(feature 30) is defined but not reported yet. Enabling it broke timestamp ordering in testing, so it waits for a follow-up.Mesa:
agx3caccepts this kernel's "aurora" driver name, and its command layouts match this kernel's, except for the staged render.ASAHI_M5_BRINGUP=1, which is experimental. It doesn't support the two-die M5 Ultra yet. That support is a separate follow-up, and our J775D testing uses our own M5 Ultra Mesa.Dependencies
apple,agx-g17s, but the T6050 GPU nodes and that binding are not in this PR. They come with ewb's DT series (aurora-silicon/linux#945). Until those land, no in-tree DT has a T6050 GPU node, so the GPU doesn't probe from the tree alone.apple,clpcprobes with no floor.CONFIG_SCHED_MC. The completion placement targets the submitter's cluster as the topology describes it.Testing (bare-metal M5 Ultra, J775D)
On the posted tip (5b0f106). The runs used 62cd1cc, which has the same kernel code at the tip; the two differ in the host-test harnesses, and in KUnit test updates now folded into the commits that needed them. With the platform pieces as a test-only layer and a test-only DT node for the GPU:
make defconfig asahi.config, thenolddefconfig, buildingImage modules dtbs. The GPU, display and NVMe drivers are modules. The only addition is a small J775D fragment: the T6050 DP PHY, and keeping the boot flash's write protection.arm64.nomte. Our loader boots the kernel bare-metal and doesn't hide MTE, and no tag storage is set up there. That's unrelated to this series.RENDER_STAGE_PREFIXES_V2), and not 24, 25, 31 or 32, norBOUNDED_AS_BUILD(16).EBUSYafter the timeout without spinning a CPU: the refused create takes 2008 ms wall and 0.5 ms process CPU, and each retry the same.rmmodsays it is in use. 0 kernel warnings.defconfig+asahi.config, which also compiles the G16 backend), all modules through modpost: rc 0.tools/asahi/run-host-tests.py): the harnesses that extract code this series changes now follow it, without dropping or loosening any check. Every control and mutation passes or is killed as designed on the tip and on its merge with integration's head, run locally; the CI run on this push is the full-suite check.On the series before the rebase:
Not in this PR
apple,agx-g17sbinding (ewb's arm64: dts: apple: add the J716c (MacBook Pro 16-inch, M5 Max) #945, above).