Skip to content

arm64: dts: apple: t8122/t6030/t6032: give the scaler and JPEG DARTs their power domains - #1673

Merged
RyanTheTide merged 1 commit into
integration/aurorafrom
dartpd/media-dart-power-domains
Nov 12, 2026
Merged

RyanTheTide merged 1 commit into
integration/aurorafrom
dartpd/media-dart-power-domains

Conversation

@RyanTheTide

Copy link
Copy Markdown
Contributor

#1617 enabled the JPEG engines and their DARTs on T8122 (M3), T6030 (M3 Pro) and T6032 (M3 Ultra). The engines name ps_jpg, but the DARTs name no power domain. A DART probes on its own, so if iBoot leaves the JPEG block off, the first register read takes an SError and the boot panics. This is the same failure #1668 fixed on T8132.

This gives each of those DARTs its engine's domain, matching the T6031, T8112 and T8132 DARTs:

SoC DART domain status
T8122 dart_jpeg0, dart_jpeg1 ps_jpg okay
T8122 dart_scaler ps_msr disabled
T6030 dart_jpeg0, dart_jpeg1 ps_jpg okay
T6030 dart_scaler ps_msr disabled
T6032 ultra_dart_jpeg00/10 ps_jpg okay
T6032 ultra_dart_jpeg20/30 ps_jpg_die1 okay
T6032 ultra_dart_scaler00/10 ps_msr0/ps_msr1 disabled
T6032 ultra_dart_scaler20/30 ps_msr0_die1/ps_msr1_die1 disabled

The scaler DARTs are still disabled. They get their domains now so they won't fail the same way once they're enabled.

The other scaler and JPEG DARTs touched by #1616/#1617 already have their engine's domain: T8103, T6001/T6002 (both dies), T6031, and T8132 after #1668.

DTB check: I built all 137 Apple DTBs before and after with the in-tree dtc. Only the 10 T8122/T6030/T6032 board DTBs change. In the preprocessed source, the only difference is the added power-domains lines. The other 127 are byte-identical, including t6000-j316s, t8112-j413, t6040-j616s(-tether) and t8140-j700.

This builds on Bartosz Nitka's (@niteria) J713 diagnosis and fix in #1668.

🤖 Generated with Claude Code

…their power domains

The M3, M3 Pro and M3 Ultra JPEG engines are enabled, and their DARTs
with them, but only the engines name their power domains. A DART
probes as a device of its own, so when iBoot leaves the JPEG block off
the probe's first register read takes an SError and the boot panics.
This is the T8132 failure fixed in #1668, on the other SoCs whose
JPEG DARTs were enabled at the same time.

Give each JPEG DART its engine's domain, as the T6031, T8112 and
T8132 DARTs have. Do the same for the scaler DARTs on these SoCs:
they are still disabled, but they would fail the same way once
enabled.

DTBs for all other boards are unchanged.

Fixes: fd4b396 ("media: apple: jpeg: add the M1 Max/Ultra, M3 and M4 engines")
Reported-by: Bartosz Nitka <niteria@gmail.com>
Link: #1668
Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>

@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.

Reviewed at 4ead3cb. Every added DART domain matches its consumer engine's primary domain: T8122 and T6030 dart_scaler→ps_msr and dart_jpeg0/1→ps_jpg; T6032 die0 scaler00/10→ps_msr0/ps_msr1, jpeg00/10→ps_jpg; die1 scaler20/30→ps_msr0_die1/ps_msr1_die1, jpeg20/30→ps_jpg_die1. The engines' extra ps_msr*_ase_core domains stay engine-only, as in #1668. The DTB before/after comparison (only the 10 T8122/T6030/T6032 boards change) fits. LGTM.

@RyanTheTide
RyanTheTide merged commit 44ff52a into integration/aurora Nov 12, 2026
2 checks passed
@RyanTheTide
RyanTheTide deleted the dartpd/media-dart-power-domains branch November 12, 2026 11:00
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.

2 participants