Repository navigation
drm/apple: qualify lean J700 DP Alt Mode and automatic recovery - #293
Conversation
|
Independent adverse review requests changes before merge. The ATC-local tests and full ARM64 build pass, but extracted production consumer/provider fault tests reproduce two cross-layer recovery defects:
A legacy partial-shutdown recovery gap was also reproduced and is being handled separately from claims about newly introduced behavior. A follow-up is implementing balanced teardown obligations and pending-reset retry, with the original failures retained as negative controls. Do not force-decrement generic PHY references or report a failed hardware parking operation as successful. PR remains draft. These host findings do not establish the cause of the observed hardware LOCK_ACK warnings or certify hotplug reliability. Full-kernel warnings and runtime qualification are still under review. |
|
R55 physical qualification failed: cold boot in reverse orientation reached a valid named Acer 1080p180 configuration, but unplugging and flipping to normal returned no picture. The first PIPE lock failure occurs in SAFE/unplug before the new orientation is applied. Replug obtains a fresh monitor-data service but BIST startup and the display link fail; SAFE retries subsequently exhaust. This narrows the unresolved fault to shutdown/PIPE handoff and warm recovery. The cache invalidation and parking changes pass source tests but do not close the hardware issue. PR remains draft; no release promotion or tag. |
4407f9b to
00a2d82
Compare
Replace the experimental profile and bandwidth/rate switches with the validated hardware and firmware profile, bounded advertised fixed-rate admission, guarded native monitor identity and physical disconnect handling. Resume the matching SuperSpeed root across Type-C PHY transitions and retain failed handoff ownership instead of reporting an untrained link as usable. Remove one-off diagnostics and qualification observers. Keep a compact standard selftest suite exercising actual admission, publication, PHY, ownership, retry and legacy paths. Include reviewed SEP readiness, producer sensor refusal and ISP metadata parsing corrections without changing their cryptographic or hardware command protocols. Include Bartosz Nitka's unchanged T8140 WFI/s2idle correction through its original PR298 commit as a merge parent, preserving its authorship and signoff. This is an integration candidate, not a hardware-qualified beta. Exact source tree7196655aef16cd39d9db2f17e0cbfbf5067526fe built Image/modules/dtbs with C -Werror and Rust -Dwarnings; affected objects passed W=1. Host and adverse controls passed. Automatic repeated orientation/hotplug, PM, reference-machine regressions and HDR qualification remain open. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
00a2d82 to
f5afac9
Compare
Retain admitted reannouncements while old commands drain, cancel pending OPEN when CLOSED supersedes it, and preserve interface tag history across reader-pinned slot transitions. Fence explicit physical absence during admission, publication and EDID-current validation. Preserve old command buffers, reader pins and existing endpoint teardown ownership. Keep actual-function regressions in the compact standard selftests. Independent review verified corrected CLOSED/history/absence/fixture controls and strict ARM objects. Exact source tree f14f599 passed the full strict R66 Image/modules/dtbs build. This is a functional qualification candidate. The inherited four-bit command identity still cannot distinguish a firmware-republished consumed reply when all correlation values recur; retained command-17 counterexamples remain unresolved. No new peer-token semantics, packet experiment, cached EDID override or production diagnostic knob is introduced. No release or hardware qualification is claimed for this new candidate. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Own the attached upstream USB3 link across the fixed-host PHY handoff, reject detached or quiescing roots, and serialize synchronous DWC3/xHCI removal before SUSPHY/controller teardown. Preserve fatal ACK errors, normal autosuspend and the compact source regressions. Keep required AFK faults visible while distinguishing the intentionally unsupported auxiliary role and known opaque OSLog events. The published source tree exactly matches compiled checkpoint 1183f73bc58972456acf6ff5fcfe094a2427364e and its R68 full build. Preserve the original Bartosz cpuidle commit through the current aurora-wip merge parent. Source review and builds pass; hardware trial, repeated physical orientations/hotplug and full beta qualification remain open. This draft is not a release or merge qualification claim. Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
The shared H17P provider callback consumes the same five opaque, exact-size table inputs for T8140 DCP and DCPEXT. Permit them on both controllers; keep the existing byte lengths and restrictions on every other compatible. No requiredness or runtime consumer change is made. Independent validation reproduces five DCPEXT errors on the parent and passes the correction, 113 contract controls and dt-doc validation. Live firmware presence and loader/FDT qualification remain separate. Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
Quiesce the display before SAFE provider writes and role-clock shutdown. Serialize connector transitions across mux handles, retain failed SAFE ownership, and check finalization before admitting a new DP route. Keep SRCU reader accounting local and preserve module/provider lifetime. Track consumed mux release separately so retries cannot release twice. Refuse reset when provider acquisition cannot establish SAFE. Retain compact actual-source regression coverage for transaction ordering, error paths, reference lifetime and release accounting. Independent review passes all five retained failure witnesses. Complete ARM64 Image/modules/ DTB build passes. Target recovery qualification is pending; this is not a hardware hotplug or suspend/wake pass. Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
|
Tested 6f00436 on a MacBook Pro 16" M2 Pro (t6020, j416s), since its message says hotplug and suspend/wake were not qualified yet. Kernel: aurora-wip ac89582 plus #296, #299 and #276 (and #277), CONFIG_RUST=n (our bindgen 0.72 / rustc 1.98 fail the bindings layout checks on 7.1.12). Each test ran twice on that kernel and twice on the same kernel with 6f00436 reverted, as a control. Linux runs under the m1n1 hypervisor, which keeps ATC0 for itself, so the displays were on the other two ports.
No "failed to place Type-C mux in safe mode", no -EBUSY and no WARNING from typec, tipd, atcphy or the crossbar in any of them; the Dell never lost its tunnel while the TV was replugged. So on t6020 it looks good for plain unplugs, both through a tunnel and on the DP alt path, which is the one that goes through SAFE. Not tested: an unplug while DCP is busy or refusing (I could not provoke one), and native suspend/resume outside the hypervisor. |
J700 display teardown can reach PHY SAFE configuration after role clocks have stopped, lose error ownership, or admit another route before teardown completes. Serialize connector transitions across mux handles, quiesce DCP before SAFE/provider writes and role shutdown, retain failed SAFE ownership, and check finalization before admitting DP again. Preserve SRCU reader accounting, module/provider lifetime and consumed mux-release accounting across retries.
This topic also retains the production SDR colour, monitor EDID/name and fixed-refresh work, the reviewed provider binding correction, and the earlier diagnostic cleanup. Compact standard regressions replace the retired one-off diagnostic files. No new manual hub-awake requirement, diagnostic override or global PM workaround is added.
Public head
6f004361c61bf176e5cd502c59b531e2e8c648e7is a non-forced descendant of latestaurora-wip1b6f659597493ab2db36520313c5b9a45d9afbc5. New author/committer fields are Ryan Murray, with Signed-off-by and only Assisted-by: LLM. Existing contributors are preserved. Hardware observations supply audited facts; private implementation is not copied.Validation: 51 scoped author regression groups and zero-warning affected ARM builds pass. Independent review passes the five retained SRCU, failed/partial deselection retry, SAFE-after-role-clock and lookup/module/unregister witnesses. The complete matching ARM64 Image/modules/DTBs build passes. Full-tree correspondence confirms the compiled source differs from this public tree only in the previously reviewed documentation binding metadata. The exact matched kernel/modules/initrd were installed and one orderly reboot verified R69 runtime kernel notes and artifact hashes. Current kernel and release rollback are preserved.
Final Neo qualification passed on the exact matched R69 build with latest public U-Boot
0cb6fed6. Linux adopts the running MTP RTKit session. The final normal, untraced cold boot (cf85709b-77e0-48aa-ba0b-7b3ce0f3e190, controllerh-28158) retains the expected Acer EDID, the multifunction dock at 5 Gb/s, no queried PIPE/configuration errors and no failed systemd services. Installed kernel notes and bundle identities were verified during reboot.The owner reports boot-menu keyboard and Linux keyboard/trackpad passing; both USB-C orientations and the return direction pass with moving picture/cursor, normal SDR colours, Acer name and 180 Hz. Clamshell operation passes separately from the explicit Power → Suspend and wake/unlock batch, which also passes display, input, Wi-Fi and dock recovery. Temporary trace events and their one-shot boot entry were removed; the normal R69 entry is selected persistently.
Independent final review recommends merging exact head
6f004361once the normal untraced boot passes; that condition is now satisfied. Complete M1/M2 and whole-beta qualification remain separate. HDR/DSC/VRR are not qualified. No speculative LPM/SUSPHY workaround is included.Duplicate #294 is closed: its external VRR refusal and parser range suppression remain here. #295 is still open until exact supersession is demonstrated.