media: qcom: restore SP11 camera parity gaps - #40
Conversation
69963cd to
b26aac2
Compare
|
Aggregate hardware qualification is tracked in #41 at exact candidate This topic remains draft. A green aggregate build or CI result does not satisfy PR #41 is a test-only aggregate and must close without merge. |
b26aac2 to
5dba023
Compare
Camera provenance rewriteThe branch head is now The rewrite changes commit messages only. The previous head The first two guarded CAMSS adaptations now explicitly state that they are based on Jeroen Karsies' SP11 camera snapshot and link the exact source commit/blob. Leon remains the author and sole The rebuilt aggregate qualification bundle at |
|
Provenance audit: every relift/parity commit has a matching |
Final-tree semantic audit against qualified v19: PASSIndependent OpenCode review and direct Git-object checks compared this branch (
The standalone sensor now rejects an unsupported multi-trio/extra-frequency/non-19.2-MHz description at probe. That is an intentional guardrail, not a parity gap; the shipped Denali graph passes it. No source-semantic blocker was found. Hardware camera gates in the PR body remain mandatory before merge. |
4f62790 to
9e90f8a
Compare
Message-only submission cleanupThe bare external SHA in prose was replaced with “the first linked commit” so full-patch checkpatch no longer treats it as an unavailable local commit. The authoritative external |
The CSID680 RDI path enables horizontal and vertical crop/drop without programming the corresponding configuration. Leave these optional operations disabled while retaining the timestamp, packing and interrupt setup. Do not add drop-pattern writes or sensor-specific crop geometry. Adapt the enable-bit correction from Jeroen Karsies' SP11 camera bring-up snapshot b08f76f40b8d7b715bd4da6aef484f86142cc147. This guarded adaptation is based on Jeroen's original CAMSS implementation in commit ae8ce1d84841a526644991ceb9b0e98c0bab36d3. Limit the change to receiver setup. This remains experimental groundwork: stream counters, capture layout and repeated starts still need validation on the target hardware. Link: karsies-wq/sp11-imx681-linux@ae8ce1d Link: https://github.com/karsies-wq/sp11-imx681-linux/blob/b08f76f40b8d7b715bd4da6aef484f86142cc147/camss/camss-csid-680.c Link: b910f68 Signed-off-by: Leon Silcott <leon@boasi.io>
Select the MIPI_RAW write-client mode used in Jeroen Karsies' SP11 camera bring-up snapshot b08f76f40b8d7b715bd4da6aef484f86142cc147. Name the mode bit and set it together with the existing write-client enable bit. Keep stride, image configuration, packing, frame increment, interrupts and stream lifecycle unchanged. This does not establish alignment padding for unaligned packed RAW widths and does not enable any sensor. This guarded adaptation is based on Jeroen's original CAMSS implementation in the first linked commit. It remains experimental until VFE680 stream status and capture layout are validated on the target hardware. Link: karsies-wq/sp11-imx681-linux@ae8ce1d Link: https://github.com/karsies-wq/sp11-imx681-linux/blob/b08f76f40b8d7b715bd4da6aef484f86142cc147/camss/camss-vfe-680.c Link: 651e711 Signed-off-by: Leon Silcott <leon@boasi.io>
Restore the CSID-specific part of the qualified camera path: detect the one-trio C-PHY RAW10 3844x2640 sink format, decode it for the receiver crop, program a 3840-pixel horizontal crop, and expose 3840 pixels on the CSID source pad. Keep the final source branch's exact 3840-or-3844 IMX681 signature helper so the standalone 3840x2640 driver can use the same guarded diagnostics. C-PHY routing itself is already carried by the preceding beta camera topic, so it is intentionally not duplicated here. This extracts the remaining receiver-crop and standalone-signature behavior from the two linked hardware-qualified source commits while preserving their author. Link: 73960c7 Link: 6621d73 Signed-off-by: Leon Silcott <leon@boasi.io>
Program period 1 and pattern 0 for the frame, pixel, and line drop engines. This preserves every RDI sample explicitly instead of relying on reset values, while the independently configured IMX681 horizontal crop remains enabled only for its exact C-PHY RAW10 geometry. Extract the CSID portion of the hardware-qualified source commit and preserve its author. Sensor, PHY, device-tree, and packaging changes from that original multi-area commit are already represented by the preceding beta camera topic. Link: 1592ec3 Signed-off-by: Leon Silcott <leon@boasi.io>
Track the last subdevice that accepted stream start. If a later subdevice fails, stop only the subdevices that were successfully started before tearing down the media pipeline. Reuse the same helper for normal stream stop and keep teardown going after nonfatal stop errors. This preserves the CAMSS portion of the hardware-qualified source commit. Its sensor, CCS, and packaging changes are not copied because the beta already uses the validated standalone IMX681 driver and focused packaging. Link: 0097c12 Signed-off-by: Leon Silcott <leon@boasi.io>
Sample read-only CSID680 receiver, packet, error, IRQ, crop, and linked- RDI state while its clocks are still running. Sample matching VFE680 write-master and IRQ state before disabling the writer. Keep the source branch's narrow activation signature: X1E80100, one-trio C-PHY RAW10, 3840x2640 or its 3844-pixel pre-crop form, and the exact packed VFE output geometry. Other SoCs, D-PHY routes, formats, and VFE Lite remain unchanged. This extracts the active CAMSS diagnostics from the hardware-qualified source commit and preserves its author. The old CCS sensor diagnostics are not copied: the qualified final tree replaced that unbound path with the standalone IMX681 driver. Link: 4d190bc Signed-off-by: Leon Silcott <leon@boasi.io>
The qualified integration source applied its CSID680 keep-all state and VFE680 MIPI RAW write mode to every user of those shared blocks. Preserve the observed behavior for the X1E80100 C-PHY RAW10 IMX681 route while restoring the existing programming for all other formats and SoCs. Use the already exact transport and geometry signature for containment. For that route, keep crop/drop disabled unless the 3844-to-3840 horizontal crop is selected, explicitly program all drop engines to keep every sample, and select the MIPI RAW VFE write-client mode. Other routes retain their prior RDI flags, reset-value drop state, and VFE mode. This is an intentional guardrail relative to the qualified source, not a claim of cross-device equivalence. The SP11 path and a non-SP11 VFE680 RDI path both require hardware qualification before integration. Signed-off-by: Leon Silcott <leon@boasi.io>
9e90f8a to
f1ee66a
Compare
Why this repair exists
The final-tree parity audit after packaging
7.2.2-sp11beta1found that thecamera re-lift in #35 had omitted active behavior from the hardware-qualified
sp11/integration-7.2.xsource. The affected candidate and package werewithdrawn before hardware testing.
This topic restores those behaviors as seven reviewable commits. The source
author dates for Leon Silcott are retained, while his author, committer, and
sign-off identity is consolidated to the preferred leon@boasi.io address. It
must remain draft until the exact stack passes the camera gate below.
Restored behavior
b910f68a07fe: disable unconfigured CSID680 RDIhorizontal/vertical crop and drop engines;
651e711719df: select MIPI RAW write-client modefor VFE680 RDI, consistent with the v17x/v480 RDI implementations;
source-pad propagation from
73960c772d24, including the final standaloneIMX681 format signature from
6621d73e732c;1592ec377418;0097c12b0fec; anddiagnostics from
4d190bc96139; andX1E80100 C-PHY RAW10 IMX681 signature, restoring prior behavior on every
other route.
The complete
camss-video.candcamss-csid.hresults match the qualifiedsource tree. VFE and CSID preserve the qualified SP11 behavior but deliberately
differ elsewhere: C-PHY RX selection is limited to X1E80100, the X1E CSID clock
override is limited to C-PHY, and the restored register programming is selected
only by the qualified IMX681 transport and geometry signature.
Deliberate exclusions
the Denali camera node binds
sony,imx681to the standalone driver; no livedevice-tree node binds the CCS IMX681 path. Restoring both implementations
would retain unbound superseded code and risk a future ownership conflict.
camss_get_link_freq()upstream walk is not restored. Theactive standalone sensor is directly connected and exposes its link-frequency
control on the sensor source pad. This remains documented as a latent CCS-only
difference rather than being silently treated as parity.
into the standalone driver because they are absent from the qualified final
standalone implementation. Active CSID/VFE diagnostics are retained.
Exact-current-head software evidence
checkpatch.plruns: 0 errors, 0 warnings, 0 checks;warnings and three pre-existing DWC3 alignment checks;
ubuntu_x1e_defconfigbuild withW=1: allchanged camera objects and complete
qcom-camss.olink pass;beta checkpoint;
omissions and the dead/replaced CCS classification.
Current re-lift verification
The seven-commit repair was re-lifted onto current beta bf631f9, producing head f1ee66a. Ordered stable patch IDs, Leon author identity, and subjects match the pre-sync series. git range-diff pairs every commit in order; only the first two commit messages add explicit Jeroen Karsies source-commit links. GitHub CI and a local detached-head rerun of the exact-current-head integration check pass. A fresh case-sensitive ARM64 W=1 build at this exact head and tree 4659d5af7dc6 passes for every changed camera object, the complete qcom-camss.o link, and all three representative DTBs. The X1E OLED, X1P LCD, and Dell DTB hashes are respectively 0448aa1d7060, 81e289dfbd49, and 7baa7f970464, matching the current beta evidence.
Required hardware gates
capture, correct stride/layout, controls, and privacy LED;
corruption;
without runtime-PM imbalance;
This PR does not authorize merging this topic or the held aggregate stack.
Fixes: #35
Context: jglathe#79 (comment)