Repository navigation
media: apple: isp: enable exact J613 26.6.2 preview - #974
Conversation
Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
Require matching firmware and compatibility identities on J613/T8122 before enabling preview. Recognize 26.6.2 separately so the existing wide setfile command is selected. Disable still MBNR explicitly and keep temporal history out of the preview path. Preserve H17 and older profiles, including their metadata handling. Test the production firmware parser and admission predicate with malformed identities and board, SoC and opt-in combinations. Capture quality, metadata requirements and suspend remain hardware qualification gates. Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
Enable the preview profile by default only when the existing exact board, SoC, firmware and compatibility admission checks pass. Retain preview_26=0 as an opt-out. C13k on J613 with 26.6.2 firmware qualified preview through PipeWire, open/close cycles and suspend. That boot explicitly passed preview_26=1; default selection is covered by the host admission test. Image noise remains a quality follow-up. Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
Signed-off-by: Satya Benson <satya@benson.earth>
…port-344-20261104
Signed-off-by: Satya Benson <satya@benson.earth>
…port-344-20261104
Brings in the DCP T6020 tunnel relink, the DAC backlight fade, the tas2764/macaudio ADT amp setup, the ANE DART fault fix, the selftest fixture updates and the aurora-sep loader SELinux domain. Resolves tools/asahi/run-host-tests.py: integration/aurora registered ane-tm-transient-fault-tests.py at the top of ASAHI_TESTS, where this branch registered isp-preview-tests.py, isp-preview-flow-tests.py and isp-tests.py. Keep all four entries, Aurora's first. This branch's KILL_SIGN change merged cleanly and only affects KILL expectations. Nothing else conflicted.
|
@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. It conflicts with the latest base branch right now; I'm merging that in and will push the update shortly. |
|
J613 boot result on 7.3 (rubra, M3 MacBook Air 13", macOS 26.6.2 / 25G83 firmware), 2026-11-05.
|
RyanTheTide
left a comment
There was a problem hiding this comment.
This no longer merges into the current integration/aurora. It conflicts in MAINTAINERS and drivers/media/platform/apple/isp/{isp-drv.h,isp-fw.c,isp-v4l2.c}. Please merge the current integration/aurora into it (or rebase).
9e6ea91 to
4ded0ce
Compare
Keep IPC failure containment and preview tests alongside firmware restore and deferred camera detection. Reset metadata submissions for every new stream and retain both host registrations. Model firmware memory restoration in the host session fixture. Assisted-by: LLM
4ded0ce to
f512cd7
Compare
|
Merged current integration and resolved MAINTAINERS and the ISP driver/header/firmware/V4L2 conflicts, keeping the firmware-restore and deferred-detection changes alongside IPC containment. The ISP subtree builds with KUnit enabled. All 23 ISP-filtered host runs pass, including the rollback negative control; the KUnit fragment also now enables MEDIA_PLATFORM_SUPPORT. No new hardware capture was performed on this head. |
|
GPT-6.1 Sol on @satchlj's behalf 2026-11-10 J613 camera smoke re-test with #974 head f512cd7 and #978 8f9ffa3. After returning freezer/devices/platform diagnostics, /dev/video1 (apple-isp/FaceTime HD Camera) streamed three frames to /dev/null, rc=0. The installed-default reboot repeated three-frame capture successfully. The ISP stop-magic/explicit-stop-fallback warnings also appear in the captured 30.6 baseline; this camera session repeats them. No image retained, visual image-quality assessment or exposure-control/metadata qualification. An initial attempt selected /dev/video0 (AVD decoder) and timed out; capture passed after selecting the ISP node. J613/T8122 M3 Air, integration dc8f6f7 plus #971/#973/#974/#978/#1340/#1486/#1491, composed source 112007b70271. Hardware-tested release 7.3.0-aurora73-upstream-2-ARCH; UKI SHA256 248283ad7750793cf60f8530e3e2331f7c1a58d733d2f3e8880f8a959e87becc. Composition evidence, not an isolated PR kernel. The same binary passed a one-shot trial and the normal new-default reboot. Installed package revision 30.10 corrects only the installer's pre-extraction space estimate; all 2054 Linux-package usr regular files match the qualified 30.9 package. Stage1/Stage2 unchanged, four boot hooks masked. |
|
GPT-6.1 Sol on @satchlj's behalf New hardware capture on the current head Board: rubra, M3 MacBook Air J613 / T8122, firmware 26.6.2 / 25G83. Running
Not tested: 15/20/24/25-fps intervals, physical visual assessment, exposure-control/metadata qualification, system suspend/resume, concurrent consumers, or forced IPC failure containment. Inspection of this PR’s ISP source found no safe runtime fault-injection hook (only preview_26 module parameter); no malformed IPC or firmware disruption was injected. Measurements serialized under the alba rig lease. |
DjDeveloperr
left a comment
There was a problem hiding this comment.
Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.
Code review/evidence assessment: IPC ownership containment and preview admission are deliberately scoped, and the posted multi-resolution/repeated-session captures materially improve transport coverage. The nearly black unattended images do not yet demonstrate recognizable preview. Before merging the default-on preview, please provide local attended well-lit visual confirmation, supported frame-interval tests, stop/restart/suspend behavior and a T6040/P010 regression. Preserve the known explicit-stop-fallback warnings in the result rather than calling firmware suspend clean. Generic containment could be split from default preview if it should land earlier. No camera images/recordings need to leave the test machine.
|
Claude Fable 5.2 on @satchlj's behalf Daylight camera check, J613 M3 MacBook Air, kernel |
|
GPT-6.1 Sol on @satchlj's behalf Generic IPC-failure containment is split for independent review in #1560. That PR has the five containment commits, their tests and independent host-test registration on fresh integration; it changes no preview defaults or firmware/board admission. The existing published branch here is unchanged. After containment merges, this branch needs a normal merge of fresh integration, conflict resolution, and push to reduce the diff to the J613/T8122 26.6.2 profile/default preview plus its tests. Merely merging the other PR does not update this branch's merge base. A trial merge against current integration plus containment found existing integration conflicts, including host-test registration; the follow-up will retain upstream containment, reconcile the rollback baseline/test registration and preserve preview. No force-push or history rewrite is needed. Remaining preview gates from the review:
The earlier streaming evidence is for containment inside the combined |
|
GPT-6.1 Sol on @satchlj's behalf Exact PR head tested: Unattended J613/T8122, firmware 26.6.2. Kernel Camera checks passed on /dev/video1 (apple-isp, not AVD):
Known firmware-stop fallback warnings persist throughout start/stop and suspend coverage: A resumed stream is not a clean firmware-suspend claim. No new matching kernel fault signature was found versus baseline. Harness adaptation: the first invocation failed before streaming because preview_26 is root-readable only. Changed only that metadata read to sudo -n cat; all V4L2 operations stayed under the logged-in camera user. Failed receipt retained. Not run: recognizable scene/natural-motion judgment, T6040/P010 hardware, forced IPC failure injection, or preview opt-out/default-policy isolation (inherited cmdline explicitly enables preview_26). No external-display retest. Left on 30.12 with trial cleaned and lease released. |
… changes Merge current integration/aurora after #1560 landed generic IPC containment. Keep all current firmware resident/idle/heap, P010, lease and return ownership fixes; resolve old shared-driver and fixture conflicts in favor of main. Retain only the exact J613/T8122 26.6.2 preview profile and two preview tests, their ownership lines and two runner entries. Preserve every main test and negative control, FAIL-line detection and the runner's executable permission. Original branch ancestry, authorship and preview opt-out remain unchanged. Both existing production-extraction preview tests pass ASan/UBSan on this seven-file residual. No new kernel/QEMU/hardware qualification is claimed. Preview/default, interval/restart/suspend and T6040/P010 gates remain open. Assisted-by: LLM
DjDeveloperr
left a comment
There was a problem hiding this comment.
Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.
#1560 merged53b2fd13. Completed the requested normal merge into this branch as c37f1fc, parentsf512cd7e/53b2fd13, without rewriting published history. The diff is now exactly seven preview-only files. Current main wins all generic containment, firmware-idle/lease/heap, P010/return ownership and fixture conflicts; those inputs are byte-identical to main. The three production preview/parser function groups and both preview scripts retain the old feature behavior. All103 main runner values/order/controls plus the same16 containment cases are unchanged, two unique preview entries are added and executable mode100755 is retained.
Both existing production-extraction preview tests pass ASan/UBSan on this final candidate; diff-check and source/registry identity proofs pass. No kernel, QEMU, physical capture, image upload, loader or default-boot change occurred. Fresh Host43118985416 is running; old-head CI does not substitute for it.
I also incorporated later report6804320173: the original feature head’s full65-cell interval matrix, restart and closed/active-cameraRTC-resume rows have passed in the stated combined J613 kernel. Together with the local daylight confirmation6800184254, these close those earlier missing-evidence items from review5860549030; I am not requesting them again. They do not qualify an isolated c37 kernel, clean firmware suspend or T6040/P010 hardware. The prior T6040/P010 regression gate remains, alongside freshCI/finalreview; hardware default/opt-out isolation remains an explicit limitation, not a new test request. No new M3 or media collection requested.
Retain both adjacent helpers in the shared-driver conflict: the preview admission predicate and main's sleep resume worker/PM notifier. Preserve main's resident firmware, restart, heap, P010 and return ownership work. All added/removed lines in the seven preview-only feature files match the previous head. The four parser/preview bodies and both test scripts are unchanged. All 105 main test registrations and controls remain in order, with the same two preview entries added and executable mode preserved. Both production-extraction preview tests pass ASan/UBSan; main's seven sleep/resume/remove helper bodies remain identical. No kernel build or new hardware boot is claimed. Prior J613 evidence remains at its stated scope; current CI and the existing T6040/P010 hardware gate remain open. Assisted-by: LLM
DjDeveloperr
left a comment
There was a problem hiding this comment.
Updated the branch with current integration/aurora as 76a7dfb, a normal merge without history rewrite. The only conflict was adjacent definitions in isp-drv.c; both the unchanged preview admission helper and main's complete resume worker/PM notifier are retained.
All added/removed feature lines across the seven-file preview residual match c37f1fc. Four parser/preview function bodies and both test scripts are unchanged. Main's seven sleep/resume/remove helpers are byte-identical; generic resident firmware/restart/heap/P010/return ownership inputs remain main's. All 105 main test registrations, values/order, failure detection and executable mode are preserved, plus the same two preview entries (107 total).
Both existing production-extraction preview tests pass ASan/UBSan on this candidate; source identity and diff checks pass. Fresh Host CI is required. No kernel build, hardware boot or media collection was performed.
The existing T6040/P010 hardware regression requirement in review 5860549030 remains the merge gate. The previously accepted J613 daylight/65-cell interval/restart/RTC evidence remains at its stated earlier feature/composed-kernel scope; those tests are not requested again, and stop-fallback warnings remain documented.
|
T6040/P010 no-regression run at 76a7dfb on a J616s (M4 Pro, T6041 ISP): pass. Setup. Kernel 7.3.0-aurora-fleet67 (integration c6c15ac). The test module is c6c15ac plus this PR's net ISP diff against integration: the 42 lines in isp-cam.c, isp-drv.c and isp-drv.h. It was swapped in at runtime against the stock module of the same kernel, with no reboot. Rows. Each row ran on both modules, on the apple-isp node:
Preview profile. It is not selected on T6040. The t6041 match data uses the H17 ABI, so Not run. No s2idle cycle was run on this board. |
DjDeveloperr
left a comment
There was a problem hiding this comment.
Accepted Ryan's6814550431 T6040/P010 regression report, closing the last gate from review5860549030. J616s's apple,t6041-isp maps to the T6040 H17 ABI; source confirms both the version-reader early return and preview-admission H17 exclusion. The three production files have exactly42 added/two replaced lines versus integration, matching the reported module delta.
The stock-vs-test module comparison on fleet67/c6c15acf passed32/32 P010/NV12 format/size/interval readbacks and10/10 restart sessions, matching enumeration, no lost frames/sequence gaps and no new ISP/DART/IPC log lines. This is net-delta runtime-module qualification, not a reboot of the entire integrated76a7dfbc kernel; no T6040 s2idle was run. The previously accepted J613 daylight/65-cell intervals/restart/RTC evidence retains its original composed-kernel scope and stop-fallback warnings.
Current-head Host43143061939/job130934412930 and its actual tests passed. Source review/two preview ASan/UBSan suites are complete; all7 feature diffs and current-main PM/P010/containment behavior were preserved. Current main5cfcc01a has no overlap with this PR's seven files since the reviewed integration, so no further rebase is needed. No remaining merge blocker; broader image quality, forced IPC-failure hardware injection, default-policy isolation and clean firmware suspend remain unclaimed.
Enable the preview profile by default only for the exact J613/T8122 match with both firmware compatibility and actual firmware version 26.6.2.
apple_isp.preview_26=0disables it; the read-only parameter remains mode 0400. Preview explicitly disables still MBNR and temporal history. Other profiles retain main’s capture flow and format/interval selection.Generic IPC-failure containment has landed in #1560. This PR is now a seven-file preview-only residual at
76a7dfbcdd045f3596d2820da8952935aacc76f1, a normal merge of precedingc37f1fcbwith mainf1b79c4b. Original commits, authorship and signoffs remain in ancestry. No force push was used.The resolution preserves main’s resident firmware, restartable-idle lease, heap restoration, P010 late-ACK/return ownership and containment/KUnit fixtures byte-for-byte. Only three production files change: parser/admission and parameter in isp-drv.c, the enum/flag in isp-drv.h, and two preview conditionals in isp-cam.c. Two unchanged preview scripts, two ownership lines and two runner registrations complete the diff. All 105 main test entries, their order/controls, existing 16 containment cases, failure detection and runner mode100755 are preserved; the candidate has 107 unique entries.
Validation of this integration: both existing production-extraction preview tests pass under ASan/UBSan. They cover default/opt-out and board/SoC/version/compatibility refusal, malformed firmware cells, MBNR/temporal behavior, legacy/H17 control flow and disable-error propagation. The four tested preview/parser function bodies and both scripts are byte-identical to the original feature head. This is host software coverage, not a new kernel/QEMU or physical boot result. Both tests pass again on this integration. The adjacent-helper conflict preserves the complete preview admission predicate and main's resume worker/PM notifier. Seven main sleep/resume/remove helper bodies are unchanged, and every added/removed feature line in the seven-file residual matches the preceding head. Current-head Host run 43143061939 passed on 76a7dfb, including the actual host-test step (job 130934412930).
Hardware evidence retains its original scope:
Software review and current-head Host CI are complete. The remaining T6040/P010 regression gate from review 5860549030 is satisfied by Ryan's stock-vs-test module report6814550431, with the scope recorded above. The J613 daylight/interval/restart/RTC evidence remains accepted at its original feature/composed-kernel scope. No new M3 or camera/media collection is requested here. Forced runtime IPC-failure hardware injection and broader image-quality/control qualification remain unclaimed.
Port of omacom/linux-aurora#344; original PR and historical evidence retained. Codex (GPT-6.1 Sol), on @DjDeveloperr’s behalf.