Skip to content

iommu: apple-dart: preserve J613 MTP bypass for live RTKit adoption - #971

Open
satchlj wants to merge 5 commits into
integration/aurorafrom
satchlj/port-328-20261104
Open

satchlj wants to merge 5 commits into
integration/aurorafrom
satchlj/port-328-20261104

Conversation

@satchlj

@satchlj satchlj commented Nov 5, 2026

Copy link
Copy Markdown
Member

Keep the exact J613 MTP bypass stream alive for live RTKit adoption, with identity-domain attachment and readback checks. Retain Aurora’s independent J614s/J713, radio and display policies. Requires the matching loader in aurora-silicon/u-boot#30.

Port of omacom/linux-aurora#328. The original PR remains untouched.

Validation: arm64 defconfig + asahi.config, Image/modules/DTBs with BTF and KUnit enabled, LLVM 18/Rust 1.85.0, passed at stack top #343 (11d802aa9a17), which includes this branch. The validated integration base is b500668. QEMU loaded the test-bearing modules successfully with no additional failures. The combined run retains four pre-existing SEP store failures (plus their suite aggregate), reproduced on the unmodified Aurora base. The unmodified pinned base also crashes in apple-av-audio-lifetime/av_lifetime_devres_order; that unrelated audio suite is explicitly excluded. All tests added by these ports run through KUnit debugfs on Cortex-A76. This is not a fully green or complete-tree KUnit run. No new host fixture was authored for this layer; the arm64 module build and QEMU module-load smoke test passed. No 7.3 hardware boot or deployment has been performed.

Keep the boot loader DMA context for a running J613 MTP session. Admit
only the T8122 MTP DART at 0x2fa808000, exactly stream 1, and verify
that its control register still selects bypass before skipping reset.

Select an identity domain and reject paging, blocked-domain attachment
and runtime suspend while the inherited session runs. Retain the clock
and bypass state at removal. This permits the existing mtp-live-v1 RTKit
adoption path to keep serving input without another INIT.

The C-diag11 implementation passed owner input testing on J613 with
firmware 26.6.2. The rebased series requires a separate owner boot test.

Signed-off-by: Satya Benson <satya@benson.earth>
The J613 and J615 25G83 device trees list the MTP as "apple,t8122-mtp",
"apple,t8122-rtk-helper-asc4", "apple,mtp" without the generic
"apple,rtk-helper-asc4" fallback, and say that Linux binds the
SoC-specific compatible. The helper only matches the generic one, so on
those boards it never probes, DockChannel HID defers forever and the
built-in keyboard and trackpad stay absent.

Match "apple,t8122-rtk-helper-asc4" as well.

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

satchlj commented Nov 5, 2026

Copy link
Copy Markdown
Member Author

@DjDeveloperr @RyanTheTide ready for your regression testing. It hasn't been boot-tested on J613 with 7.3 yet; I'll post the result here when I have it.

Conflict in drivers/iommu/apple-dart.c, apple_dart_probe(): integration
added the v2.2 reg size check (d6b6f2e, #924) right after the
stream count check, where this branch adds the J613 live MTP bypass
check. Keep both. The size check comes first: it only needs num_streams
and validates the MMIO region before the J613 check reads a stream
control register. Both checks fail the probe, so the order only decides
which error a bad node reports.

The J613 MTP DART node has a 0x4000 reg. T8122 DARTs report a version
below 2.2: the other T8122 DARTs have the same reg size and are reset on
J613 by kernels whose reset path reads the v2.2 exception records at
0x8000, without faulting. The size check therefore does not refuse the
J613 MTP DART.
@satchlj

satchlj commented Nov 6, 2026

Copy link
Copy Markdown
Member Author

J613 boot result on 7.3 (rubra, M3 MacBook Air 13", macOS 26.6.2 / 25G83 firmware), 2026-11-05.

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