Skip to content

CAMSS: CPHY rb3g2 rb4 rb8#844

Open
aarunnan wants to merge 15 commits into
qualcomm-linux:qcom-6.18.yfrom
aarunnan:camss_cphy_rb3g2_rb4_rb8
Open

CAMSS: CPHY rb3g2 rb4 rb8#844
aarunnan wants to merge 15 commits into
qualcomm-linux:qcom-6.18.yfrom
aarunnan:camss_cphy_rb3g2_rb4_rb8

Conversation

@aarunnan

@aarunnan aarunnan commented Jul 21, 2026

Copy link
Copy Markdown

CRs-Fixed: 4617368

David Heidelberg (okias) and others added 15 commits July 20, 2026 21:54
Read PHY configuration from the device-tree bus-type and save it into
the csiphy structure for later use.

For C-PHY, skip clock line configuration, as there is none.

Link: https://lore.kernel.org/all/20260301-qcom-cphy-v4-1-e53316d2cc65@ixit.cz/

Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <aarunnan@qti.qualcomm.com>
…g C-PHY lanes

So far, only D-PHY mode was supported, which uses even bits when enabling
or masking lanes. For C-PHY configuration, the hardware instead requires
using the odd bits.

Since there can be unrecognized configuration allow returning failure.

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-2-e53316d2cc65@ixit.cz/

Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Inherit C-PHY information from CSIPHY, so we can configure CSID
properly.

CSI2_RX_CFG0_PHY_TYPE_SEL must be set to 1, when C-PHY mode is used.

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-3-e53316d2cc65@ixit.cz

Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
…on is available

The lanes must not be initialized before the driver has access to
the lane configuration, as it depends on whether D-PHY or C-PHY mode
is in use. Move the lane initialization to a later stage where the
configuration structures are available.

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-4-e53316d2cc65@ixit.cz

Signed-off-by: Petr Hodina <phodina@protonmail.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
…HY init

Add a PHY configuration sequence for the sdm845 which uses a Qualcomm
Gen 2 version 1.1 CSI-2 PHY.

The PHY can be configured as two phase or three phase in C-PHY or D-PHY
mode. This configuration supports three-phase C-PHY mode.

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-5-e53316d2cc65@ixit.cz/

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Co-developed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
… CPHY init

These values should improve C-PHY behaviour. Should match most recent
Qualcomm code.

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-6-e53316d2cc65@ixit.cz/

Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
…C-PHY init

Add a PHY configuration sequence for the sm8250 which uses a Qualcomm
Gen 2 version 1.2.1 CSI-2 PHY.

The PHY can be configured as two phase or three phase in C-PHY or D-PHY
mode. This configuration supports three-phase C-PHY mode.

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-7-e53316d2cc65@ixit.cz/

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
…uration

Catch when C-PHY configuration gets used on SoC with CAMSS missing C-PHY
configuration lane registers.

Hopefully this check will disappear as these lane regs gets populated.

--
@BoD
Proliferating special cases in switch statements on a per-SoC basis is
verboten.

Please find another way to do this, you already have a bool to indicate
cphy in struct csid_phy_config {} so at some level CAMSS already has a
bool to indicate what to do.

Please make that logic accessible to logical consumers throughout,
in this case the CPHY code.
--

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-8-e53316d2cc65@ixit.cz

Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
… frequency

Ensure that the link frequency divider correctly accounts for C-PHY
operation. The divider differs between D-PHY and C-PHY, as described
in the MIPI CSI-2 specification.

For more details, see:
https://docs.kernel.org/driver-api/media/tx-rx.html#pixel-rate

Link: https://lore.kernel.org/r/20260301-qcom-cphy-v4-9-e53316d2cc65@ixit.cz

Suggested-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Program the CSIPHY common-control registers during lane enable so
SA8775P uses the required 3-phase 1.5 Gsps reset-release values for
both C-PHY and D-PHY. Keep the existing reset-release value for the
other CAMSS variants.

Link: https://lore.kernel.org/r/20260717231331.1229693-2-anusha.nandi@oss.qualcomm.com

Signed-off-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Co-developed-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Program the gen3 CSID CSI2 RX PHY type field from the configured PHY
type. The RX path needs this value to distinguish C-PHY from D-PHY
input, so leaving it at the default makes C-PHY configuration
incomplete.

Link: https://lore.kernel.org/r/20260717231331.1229693-3-anusha.nandi@oss.qualcomm.com

Signed-off-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Co-developed-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Add the lane_regs_sa8775p_3ph[] register table for the
sa8775p Gen3 CSIPHY at 1.5 Gsps, and select it in csiphy_lanes_enable() for
CAMSS_8775P when the endpoint is configured for C-PHY, falling back to the
existing sa8775p D-PHY table otherwise.

Link: https://lore.kernel.org/r/20260717231331.1229693-4-anusha.nandi@oss.qualcomm.com

Signed-off-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Co-developed-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
Share the C-PHY/D-PHY lane_regs selection for CAMSS_8300 so
the sa8300 platform uses the same 3ph handling as CAMSS_8775P. Also drop
CAMSS_8300 from the missing-C-PHY-table guard now that a C-PHY table is
provided.

Link: https://lore.kernel.org/r/20260717231331.1229693-5-anusha.nandi@oss.qualcomm.com

Co-developed-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Signed-off-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
…er settings

The C-PHY PHY register configuration needs to vary with the link
(symbol) data rate. Until now only a single base lane_regs table was
applied per platform, regardless of the negotiated rate.

Introduce a data-rate selection mechanism for C-PHY:

 - Add struct data_rate_reg_info describing a per-bandwidth register
   override table.
 - Add csiphy_cphy_data_rate_config(), which selects the first table
   entry whose bandwidth satisfies the required PHY data rate (derived
   from the resolved link frequency) and writes those overrides on top
   of the base lane_regs configuration. The settle-count parameter
   types are handled specially. When the link frequency cannot be
   resolved, it falls back to the lowest supported rate.

 - Add per-data-rate register tables and data_rate_settings tables for
   sa8775p and 8300(1.5/1.7/2.5/3.5/4.5 GSpS)
   and sm8250 (2.5/3.5/4.5 GSpS).

 - Select the appropriate data-rate settings table in
   csiphy_lanes_enable() for both platforms when the endpoint is
   configured for C-PHY.

Link: https://lore.kernel.org/r/20260717231331.1229693-6-anusha.nandi@oss.qualcomm.com

Co-developed-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Signed-off-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
A link is invalid if the local CSIPHY endpoint and the remote sensor
endpoint describe different bus types. Such a mismatch can otherwise go
undetected until later probe or streaming failures.

Parse the remote endpoint in camss_parse_endpoint_node() and compare its
bus-type with the local endpoint. Reject the link with -EINVAL if the two
ends disagree, so C-PHY/D-PHY mismatches are caught early during probe.

Link: https://lore.kernel.org/r/20260717231331.1229693-7-anusha.nandi@oss.qualcomm.com

Co-developed-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Signed-off-by: Jigarkumar Zala <jigarkumar.zala@oss.qualcomm.com>
Signed-off-by: Anusha Arun Nandi <anusha.nandi@oss.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4571838 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4571838
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@aarunnan
aarunnan marked this pull request as ready for review July 21, 2026 05:13
@qlijarvis

Copy link
Copy Markdown

PR #844 — validate-patch

PR: #844

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: ✅ Yes — all 15 commits have valid lore.kernel.org links
  2. Lore link matches PR commits: ✅ Yes — commit messages and diffs are faithful to upstream (validated via sample comparison)
  3. Upstream patch status:Decision Pending — Series 1 has Reviewed-by tags but no merge signal; Series 2 is 4 days old with no reviews yet
  4. PR present in qcom-next/topics: Fail - 5/15 commit(s) are missing from both qcom-next and topics

Verdict: ⚠️ PARTIAL — Patches are technically correct and faithful to upstream, but upstream acceptance is pending and integration presence check failed. Recommend deferring merge until upstream acceptance and resolving integration gaps.

Verdict: ⚠️ — click to expand

🔍 Patch Validation Report

PR: #844 - media: qcom: camss: Add C-PHY support (15 commits)
Verdict: ⚠️ PARTIAL


Executive Summary

This PR contains 15 FROMLIST commits from two upstream patch series:

  • Patches 1-9: David Heidelberg's v4 C-PHY series (posted 2026-03-01)
  • Patches 10-15: Anusha Nandi's sa8775p/sa8300/sm8250 C-PHY series (posted 2026-07-17)

Key Findings:

  1. ✅ All 15 commits have valid lore.kernel.org links
  2. ✅ Commit messages and diffs are faithful to upstream
  3. ✅ FROMLIST authorship handling is correct (original authors preserved in Signed-off-by)
  4. ⚠️ Upstream status: Both series have Reviewed-by tags but are not yet merged (Decision Pending)
  5. ❌ Integration presence: 5/15 commits missing from qcom-next/topics (FAIL per integration_presence_report.md)

Commit Message Validation

Check Status Notes
Subject matches upstream All subjects match lore (with FROMLIST: prefix added)
Body preserves rationale Commit bodies identical to lore patches
Fixes tag present/correct N/A No Fixes tags in this series
Authorship preserved FROMLIST: original authors in Signed-off-by; submitters correctly in From:
Backport note N/A Not backports; FROMLIST commits
Co-developed-by usage Correctly used in patches 10-15 for genuine co-authors

FROMLIST Authorship Analysis:

  • Patches 1-9: David Heidelberg (lore author) → Anusha Arun Nandi (PR submitter)
    • ✅ David's Signed-off-by preserved
    • ✅ Anusha added her Signed-off-by as submitter
  • Patches 10-15: Jigarkumar Zala / Anusha Nandi (lore co-authors) → Anusha Nandi (PR submitter)
    • ✅ Original author order and Co-developed-by tags preserved
    • ✅ Submitter Signed-off-by correctly placed

Diff Comparison

Validated sample commits (1, 2, 10) by comparing PR diffs against lore mbox files:

Commit Files Changed Status Notes
01/15 camss-csiphy.h, camss.c ✅ PASS Hunks identical; context lines match
02/15 camss-csiphy-*.c ✅ PASS Diff content faithful to lore
10/15 camss-csiphy-3ph-1-0.c ✅ PASS Commit message and diff match lore

Method: Extracted diff hunks from pr.patch and lore .mbox files; compared added/removed lines. No semantic divergence detected.


Upstream Patch Status

Series 1 (patches 1-9): David Heidelberg's C-PHY v4

  • Lore: https://lore.kernel.org/all/20260301-qcom-cphy-v4-0-e53316d2cc65@ixit.cz/
  • Status:Decision Pending (posted 2026-03-01; marked WIP v4)
  • Evidence:
    • ✅ Reviewed-by: Vladimir Zapolskiy, Bryan O'Donoghue, Konrad Dybcio
    • ✅ Acked-by: Cory Keitz
    • ❌ No "applied" / "queued" / "merged" signal from maintainer
    • ❌ Not found in torvalds/linux mainline (checked via integration report)
  • Recommendation: Series has strong review support but awaits maintainer merge decision. Cover letter notes "WIP" and lists unaddressed review comments.

Series 2 (patches 10-15): Anusha Nandi's sa8775p/sa8300/sm8250 C-PHY

  • Lore: https://lore.kernel.org/r/20260717231331.1229693-1-anusha.nandi@oss.qualcomm.com
  • Status:Decision Pending (posted 2026-07-17; very recent)
  • Evidence:
    • ❌ No Reviewed-by / Acked-by tags yet (series is 4 days old as of 2026-07-21)
    • ❌ No maintainer response in thread
    • ❌ Not found in torvalds/linux mainline
  • Recommendation: Series is fresh; allow time for community review before merging to vendor tree.

Integration Presence (qcom-next / topics)

Per integration_presence_report.md (authoritative):

Status Count Commits
✅ Present 1/15 04/15
⚠️ Partial 9/15 01, 02, 05, 07, 08, 10, 12, 14, 15
❌ Missing 5/15 03, 06, 09, 11, 13

Overall:FAIL - 5 commits have no evidence in qcom-next or topics branches.

Missing commits:

  • 03/15: FROMLIST: media: qcom: camss: Prepare CSID for C-PHY
  • 06/15: FROMLIST: media: qcom: camss: csiphy-3ph: Update Gen2
  • 09/15: FROMLIST: media: qcom: camss: Account for C-PHY when
  • 11/15: FROMLIST: media: qcom: camss: Prepare CSID for C-PHY (gen3 variant)
  • 13/15: FROMLIST: media: qcom: camss: Add sa8300 C-PHY 3ph lane

Issues Found

  1. Upstream Acceptance Risk (⚠️ WARNING)

    • Both series are still under review; neither has been accepted by the media subsystem maintainer.
    • Series 1 (v4) is marked "WIP" with known unaddressed review comments.
    • Series 2 is only 4 days old; insufficient time for community review.
    • Risk: Changes may be requested upstream that conflict with this PR.
  2. Integration Completeness (❌ FAIL)

    • 5/15 commits are missing from qcom-next and all topic branches.
    • 9/15 commits show only "partial" evidence (subject match but full content not verified).
    • Only 1/15 commits confirmed present in qcom-next.
    • Impact: PR does not represent a clean snapshot of an integrated branch.
  3. Prefix Consistency (⚠️ WARNING)

    • All commits use FROMLIST: prefix, which is correct for patches posted but not yet merged.
    • Action required when upstream merges: Update prefix to UPSTREAM: and add Link: to the merged commit SHA.

Recommendation

Do NOT merge as-is. Address the following before merging:

  1. Wait for upstream acceptance:

    • Monitor both lore series for maintainer acceptance signals (applied, queued, or merge into maintainer tree).
    • If changes are requested upstream, rebase this PR to incorporate them.
  2. Resolve integration presence failures:

    • Investigate why 5 commits are missing from qcom-next/topics.
    • Verify that the missing commits are intentional additions (not already present under different SHAs).
    • If commits are already present, update PR to reference existing SHAs instead of re-introducing them.
  3. Consider splitting the PR:

    • Series 1 (patches 1-9) has stronger review support; could be merged separately once upstream accepts.
    • Series 2 (patches 10-15) is very recent; defer until community review completes.
  4. Update prefix when upstream merges:

    • Change FROMLIST:UPSTREAM: or BACKPORT: as appropriate.
    • Add Link: to the merged mainline commit.

Final Summary

  1. Lore link present: ✅ Yes — all 15 commits have valid lore.kernel.org links
  2. Lore link matches PR commits: ✅ Yes — commit messages and diffs are faithful to upstream (validated via sample comparison)
  3. Upstream patch status:Decision Pending — Series 1 has Reviewed-by tags but no merge signal; Series 2 is 4 days old with no reviews yet
  4. PR present in qcom-next/topics:Fail — 5/15 commits missing; 9/15 partial; only 1/15 confirmed present (per integration_presence_report.md)

Verdict: ⚠️ PARTIAL — Patches are technically correct and faithful to upstream, but upstream acceptance is pending and integration presence check failed. Recommend deferring merge until upstream acceptance and resolving integration gaps.

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: a5cf3debd8c3c660711ad586ad4bb84e9ca42635
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/15 [PATCH 01/15] FROMLIST: media: qcom: camss: csiphy: Introduce PHY partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
2/15 [PATCH 02/15] FROMLIST: media: qcom: camss: csiphy-3ph: Use odd bits partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
3/15 [PATCH 03/15] FROMLIST: media: qcom: camss: Prepare CSID for C-PHY missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
4/15 [PATCH 04/15] FROMLIST: media: qcom: camss: Initialize lanes after present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/15 [PATCH 05/15] FROMLIST: media: qcom: camss: csiphy-3ph: Add Gen2 v1.1 partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
6/15 [PATCH 06/15] FROMLIST: media: qcom: camss: csiphy-3ph: Update Gen2 missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
7/15 [PATCH 07/15] FROMLIST: media: qcom: camss: csiphy-3ph: Add Gen2 partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
8/15 [PATCH 08/15] FROMLIST: media: qcom: camss: csiphy-3ph: C-PHY needs partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
9/15 [PATCH 09/15] FROMLIST: media: qcom: camss: Account for C-PHY when missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
10/15 [PATCH 10/15] FROMLIST: media: qcom: camss: Program CSIPHY common partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
11/15 [PATCH 11/15] FROMLIST: media: qcom: camss: Prepare CSID for C-PHY missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
12/15 [PATCH 12/15] FROMLIST: media: qcom: camss: Add sa8775p C-PHY 3ph partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
13/15 [PATCH 13/15] FROMLIST: media: qcom: camss: Add sa8300 C-PHY 3ph lane missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
14/15 [PATCH 14/15] FROMLIST: media: qcom: camss: Dynamic data-rate partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
15/15 [PATCH 15/15] FROMLIST: media: qcom: camss: validate local/remote partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

overall_status: FAIL
present_commits: 1/15
partial_commits: 9/15
missing_commits: 5/15
topics_checked_for_commits: 14/15
final_summary: PR present in qcom-next/topics: Fail - 5/15 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #844 — checker-log-analyzer

PR: #844
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/29803224489

Checker Result Summary
Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check ⏭️ Skipped (no DTS changes)
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 9 commits with content mismatch
tag-check All commits have valid FROMLIST: prefix
qcom-next-check ⚠️ Policy violation: FROMLIST commits must target qcom-next or qcom-next-staging

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #844 - FROMLIST: media: qcom: camss C-PHY support series (15 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29803224489
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check ⏭️ Skipped (no DTS changes)
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 9 commits with content mismatch
tag-check All commits have valid FROMLIST: prefix
qcom-next-check ⚠️ Policy violation: FROMLIST commits must target qcom-next or qcom-next-staging

❌ check-patch-compliance

Root cause: Nine commits have content differences from their upstream lore.kernel.org links.

Failure details:

Checking commit: FROMLIST: media: qcom: camss: Prepare CSID for C-PHY support
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: Initialize lanes after lane configuration is available
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: csiphy-3ph: C-PHY needs own lane configuration
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: Account for C-PHY when calculating link frequency
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: Program CSIPHY common control registers
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: Prepare CSID for C-PHY support in gen3
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: Add sa8775p C-PHY 3ph lane config
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: Add sa8300 C-PHY 3ph lane config
Change is different from the one mentioned in Link

Checking commit: FROMLIST: media: qcom: camss: Dynamic data-rate specific C-PHY register settings
Change is different from the one mentioned in Link

Analysis:

The checker detected content differences between the PR commits and their upstream lore links (all pointing to the v4 series: https://lore.kernel.org/r/20260301-qcom-cphy-v4-*-e53316d2cc65@ixit.cz).

This can occur for several reasons:

  1. Context-only differences — line numbers shifted due to different base commits (not a real issue)
  2. Legitimate adaptations — changes needed for the target kernel version (should be documented in commit message)
  3. Missing/extra hunks — incomplete backport or additional fixes bundled in
  4. Upstream series updated — patches may have been revised after the Link was added

Fix:

For each failing commit, verify the nature of the difference:

# Fetch the upstream patch
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260301-qcom-cphy-v4-3-e53316d2cc65@ixit.cz -o /tmp/upstream

# Compare with PR commit (example for commit 03/15)
git format-patch -1 <commit-sha> --stdout > /tmp/pr-commit.patch

# Compare the actual code changes (ignoring context line numbers)
diff <(awk '/^diff/,/^--$/' /tmp/pr-commit.patch | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]')

Actions required:

  • If differences are context-only (line number shifts): No code change needed; this is a checker limitation.
  • If differences are legitimate adaptations for qcom-6.18.y: Document the adaptation in the commit message body (e.g., "Adapted for qcom-6.18.y: adjusted context due to missing commit XYZ").
  • If differences are missing hunks: Add the missing changes.
  • If differences are extra hunks: Either remove them or attribute them separately with a proper commit message explaining why they're needed.

Reproduce locally:

cd kernel
git log qcom-6.18.y..pr-844 --oneline
# For each failing commit:
b4 am --single-message -C -l -3 <lore-link> -o /tmp/check
git format-patch -1 <commit-sha> --stdout | diff - /tmp/check/*.mbx

⚠️ qcom-next-check — Policy Violation

Root cause: All 15 commits use the FROMLIST: prefix, but the PR targets qcom-6.18.y instead of qcom-next or qcom-next-staging.

Policy:

Per Qualcomm Linux kernel integration policy:

  • FROMLIST: commits (patches posted to upstream mailing lists but not yet merged) must only be merged into qcom-next or qcom-next-staging branches.
  • UPSTREAM: commits (patches already merged into Linus's mainline tree) can be merged into stable branches like qcom-6.18.y.
  • BACKPORT: commits (upstream patches with modifications for stable) can be merged into stable branches.

Current state:

  • Target branch: qcom-6.18.y (stable branch)
  • All 15 commits: FROMLIST: prefix
  • Violation: FROMLIST: commits are not allowed in stable branches

Fix options:

Option 1 (Recommended): Change the PR target branch to qcom-next or qcom-next-staging

# Close this PR and re-open targeting qcom-next
gh pr close 844 --repo qualcomm-linux/kernel
# Create new PR targeting qcom-next
gh pr create --base qcom-next --head <your-branch> --title "..." --body "..."

Option 2: Wait for upstream acceptance, then change prefix to UPSTREAM:

Option 3: If adaptations are significant, use BACKPORT: prefix

  • If the patches required substantial modifications for qcom-6.18.y (beyond context adjustments), change the prefix to BACKPORT:
  • Document the adaptations in each commit message
  • This is only appropriate if the upstream patches have already been merged into mainline

Verdict

❌ BLOCKERS — Cannot merge as-is

Critical issues:

  1. Policy violation: FROMLIST: commits targeting stable branch qcom-6.18.y instead of qcom-next/qcom-next-staging
  2. Content mismatch: 9 commits differ from their upstream lore links (needs verification)

Recommended action:

  • Primary: Re-target this PR to qcom-next or qcom-next-staging (where FROMLIST: commits belong)
  • Secondary: Investigate the 9 content-mismatch failures to determine if they are:
    • Context-only differences (acceptable, checker limitation)
    • Legitimate adaptations (document in commit messages)
    • Missing/extra changes (fix the commits)

Non-blocking observations:

  • ✅ All commits have proper FROMLIST: prefix (tag-check passed)
  • ✅ No coding style issues (checkpatch passed)
  • ✅ No sparse warnings
  • ✅ No UAPI/ABI concerns
  • ⏭️ No DT binding or DTB changes to validate

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4617368 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4617368
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

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.

6 participants