Skip to content

BACKPORT change to install DT overlays via dtbs_install - #654

Closed
vishwas udupa (vishwasudupa) wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
vishwasudupa:bp/install_dtb
Closed

BACKPORT change to install DT overlays via dtbs_install#654
vishwas udupa (vishwasudupa) wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
vishwasudupa:bp/install_dtb

Conversation

@vishwasudupa

@vishwasudupa vishwas udupa (vishwasudupa) commented Jun 4, 2026

Copy link
Copy Markdown

Overlay binaries (.dtbo) are currently only built implicitly as
dependencies of composite firmware images and are therefore absent from the
kernel install output.

Even when final DTBs are produced at build time, some distributions rely on
standalone DTBOs for runtime selection and application by bootloaders or
firmware. Without explicit install targets, DTBOs are not picked up by the
standard dtbs_install flow and therefore cannot be packaged alongside DTBs.

BACKPORT change to add dtb-$(CONFIG_ARCH_QCOM) entries for all DT overlays defined in
this Makefile so they are installed via dtbs_install, matching existing
DTB install behavior.

CRs-Fixed: 4561683

@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.

@qlijarvis

Copy link
Copy Markdown

PR #654 — validate-patch

PR: #654

Verdict Issues Detailed Report
⚠️ 5 Full report

Final Summary

Commit 1/2 (FROMLIST):

  1. Lore link present: Yes — https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
  2. Lore link matches PR commits: Cannot verify — lore.kernel.org unreachable due to network restrictions
  3. Upstream patch status: Cannot verify — network restricted; FROMLIST prefix indicates patch posted but not yet merged at time of backport
  4. PR present in qcom-next: Not checked — would require kernel tree access (explicitly prohibited in constraints)

Commit 2/2 (QCLINUX):

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #654
Commits: 2 patches (1 FROMLIST + 1 QCLINUX vendor-only)
Verdict: ⚠️ PARTIAL


Commit 1/2: BACKPORT: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

Upstream commit: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
Cherry-picked from: 7998dbf

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore.kernel.org unreachable (network restricted)
Body preserves rationale Clear explanation of DTBO install problem and solution
Fixes tag present/correct N/A No Fixes tag (not a bugfix)
Authorship preserved Vishwas Udupa vudupa@qti.qualcomm.com consistent
Backport note (if applicable) Cherry-pick note present with source SHA

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Adds 18 DTBO install targets; pattern consistent

DTBO files added (18):

  • apq8016-sbc-d3-camera-mezzanine.dtbo
  • apq8016-sbc-usb-host.dtbo
  • lemans-evk-camera-csi1-imx577.dtbo
  • lemans-evk-ifp-mezzanine.dtbo
  • monaco-evk-camera-imx577.dtbo
  • monaco-evk-ifp-mezzanine.dtbo
  • talos-el2.dtbo
  • qcs6490-rb3gen2-industrial-mezzanine.dtbo
  • qcs6490-rb3gen2-vision-mezzanine.dtbo
  • monaco-el2.dtbo
  • lemans-el2.dtbo
  • qrb5165-rb5-vision-mezzanine.dtbo
  • sc7180-el2.dtbo
  • sc8280xp-el2.dtbo
  • sdm845-db845c-navigation-mezzanine.dtbo
  • sm8650-hdk-display-card.dtbo
  • talos-evk-lvds-auo,g133han01.dtbo
  • x1-el2.dtbo

Commit 2/2: BACKPORT: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays

Upstream commit: N/A (vendor-only)
Cherry-picked from: abfeee7

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit
Body preserves rationale Clear explanation of camx DTBO install requirement
Fixes tag present/correct N/A No Fixes tag (not a bugfix)
Authorship preserved Vishwas Udupa vudupa@qti.qualcomm.com consistent
Backport note (if applicable) Cherry-pick note present with source SHA

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Adds 10 camx DTBO install targets; pattern consistent

DTBO files added (10):

  • hamoa-evk-camx.dtbo
  • lemans-evk-camx.dtbo
  • lemans-camx-el2.dtbo
  • monaco-evk-camx.dtbo
  • monaco-camx-el2.dtbo
  • qcs615-ride-camx.dtbo
  • qcs6490-rb3gen2-vision-mezzanine-camx.dtbo
  • qcs8300-ride-camx.dtbo
  • sa8775p-ride-camx.dtbo
  • talos-evk-camx.dtbo

Issues

Commit 1 - Timeline Anomaly:

  • ⚠️ Commit date vs. lore link date mismatch: Commit authored on Fri, 3 Apr 2026 02:17:06 -0700, but lore message-ID indicates posting date of 2026-04-28 12:37:25. This suggests the commit was created ~25 days BEFORE the patch was posted to the mailing list.
  • Impact: This is unusual but not necessarily incorrect. Possible explanations:
    1. Patch was developed internally first, then posted upstream later
    2. Commit date was preserved from an earlier internal version
    3. The cherry-pick source (7998dbf) may have the earlier date
  • Recommendation: Verify the timeline with the author if this matters for tracking purposes.

Network Restriction:

  • ⚠️ Cannot fetch upstream patch from lore.kernel.org to perform byte-for-byte diff comparison due to network restrictions in this environment.
  • Cannot verify upstream acceptance status (merged/pending/rejected).

Verdict

Commit 1 (FROMLIST): Structurally correct with proper BACKPORT: FROMLIST: prefix, Link tag, Signed-off-by, and cherry-pick note. Diff pattern is clean and consistent. Timeline anomaly noted but not blocking. Cannot verify faithfulness to upstream due to network restrictions.

Commit 2 (QCLINUX): Correct vendor-only format with BACKPORT: QCLINUX: prefix, no Link tag (as expected), proper Signed-off-by and cherry-pick note. Diff pattern is clean and extends Commit 1's work to camx-specific overlays.

Overall: Both commits follow proper kernel commit message conventions and backport tagging. Diffs are surgical, focused, and follow consistent patterns. Merge recommended with the caveat that upstream faithfulness of Commit 1 should be verified when network access is available.


Final Summary

Commit 1/2 (FROMLIST):

  1. Lore link present: Yes — https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
  2. Lore link matches PR commits: Cannot verify — lore.kernel.org unreachable due to network restrictions
  3. Upstream patch status: Cannot verify — network restricted; FROMLIST prefix indicates patch posted but not yet merged at time of backport
  4. PR present in qcom-next: Not checked — would require kernel tree access (explicitly prohibited in constraints)

Commit 2/2 (QCLINUX):

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

@qlijarvis

Copy link
Copy Markdown

PR #654 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no binding changes
dtb-check ⏭️ Skipped - no DTBs built
sparse-check ⏭️ Skipped - no C code changes
check-uapi-headers ⏭️ Skipped - no UAPI changes
check-patch-compliance 2 compliance violations
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable (BACKPORT commits)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #654 - arm64: dts: qcom: install DT overlays via dtbs_install
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26945595479

Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no binding changes
dtb-check ⏭️ Skipped - no DTBs built
sparse-check ⏭️ Skipped - no C code changes
check-uapi-headers ⏭️ Skipped - no UAPI changes
check-patch-compliance 2 compliance violations
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable (BACKPORT commits)

❌ check-patch-compliance

Root cause: Patch compliance checker detected two violations in the commit messages.

Failure details:

Commit 1 (3397b96fc7da):

Checking commit: BACKPORT: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install
Change is different from the one mentioned in Link

Commit 2 (aaa651a84027):

Checking commit: BACKPORT: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays
No 'Link' found in commit message

Analysis:

  1. First commit issue: The patch claims to be a BACKPORT: FROMLIST: from the lore link https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com, but the checker detected that the actual changes in the PR differ from what's at that upstream link. This violates the backport integrity requirement - a BACKPORT/FROMLIST commit must match the upstream patch exactly (or document intentional deviations).

  2. Second commit issue: The commit is tagged as BACKPORT: QCLINUX: but lacks a Link: trailer entirely. QCLINUX patches should reference the internal commit they're backporting from, or if this is original work, the prefix should be different (e.g., just QCLINUX: without BACKPORT:).

Fix:

For commit 1:

  • If the patch truly matches the FROMLIST version, verify the lore link is correct and the checker may have a false positive
  • If changes were intentionally modified during backport, document the delta in the commit message (e.g., "[ Upstream commit abc123 with modifications: ... ]")
  • If this is actually a different patch, update the Link: to point to the correct upstream source

For commit 2:

  • Add a Link: trailer pointing to the original QCLINUX commit being backported (format: Link: <internal-commit-url> or (cherry picked from commit <sha>))
  • OR if this is new work (not a backport), remove the BACKPORT: prefix and use just QCLINUX: instead

Reproduce locally:

cd /path/to/kernel
git fetch origin pull/654/head:pr-654
git checkout pr-654
../kernel-checkers/check-patch-compliance.sh --kernel-src . --base <base-sha> --head aaa651a84027b82053e4bcec0081dc33decb3359

Verdict

2 blockers must be fixed before merge: Both commits violate patch compliance rules. The first commit's changes don't match its claimed upstream source, and the second commit is missing required Link metadata for a BACKPORT-tagged commit.

@vishwasudupa
vishwas udupa (vishwasudupa) marked this pull request as ready for review June 8, 2026 09:53

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BACKPORT: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays

This should be QCLINUX and not BACKPORT.

BACKPORT: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

This is FROMLIST.

@vishwasudupa

Copy link
Copy Markdown
Author

BACKPORT: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays

This should be QCLINUX and not BACKPORT.

BACKPORT: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

This is FROMLIST.

Updated in latest patch

@qcomlnxci
qcomlnxci requested a review from a team June 17, 2026 06:40
@qlijarvis

Copy link
Copy Markdown

PR #654 — validate-patch

PR: #654

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

Commit 1/2 (FROMLIST):

  1. Lore link present: Yes - https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
  2. Lore link matches PR commits: Cannot verify - network restricted; lore.kernel.org unreachable
  3. Upstream patch status: Unknown - cannot fetch from lore; FROMLIST prefix suggests posted but not yet merged
  4. PR present in qcom-next: Not checked - no kernel tree available per constraints

Commit 2/2 (QCLINUX):

  1. Lore link present: No - QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A - no lore link to compare against
  3. Upstream patch status: N/A - vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked - QCLINUX: vendor-only commit

Technical Analysis

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #654 - arm64: dts: qcom: install DT overlays via dtbs_install
Upstream commit: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
Verdict: ⚠️ PARTIAL


Commit 1/2: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - network restricted; lore.kernel.org unreachable
Body preserves rationale Clear explanation of problem and solution
Fixes tag present/correct N/A Not a bugfix; feature addition
Authorship preserved Author: Vishwas Udupa vudupa@qti.qualcomm.com
Backport note (if applicable) Cherry-pick trailer present: (cherry picked from commit 7998dbf1695da00ef7a54c3fe90328e251400c90)

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile ⚠️ Cannot verify against upstream - network restricted

Issues

  • Network restriction: Unable to fetch upstream patch from lore.kernel.org to verify diff faithfulness
  • Cherry-pick SHA: Commit 7998dbf1695da00ef7a54c3fe90328e251400c90 referenced but cannot verify if it exists in any upstream tree
  • FROMLIST prefix: Indicates patch is posted upstream but not yet merged; Link tag points to future date (2026-04-28) which suggests this is a forward-looking patch

Commit Message Quality

The commit message follows kernel conventions:

  • Clear subject line describing the change
  • Problem statement explaining why DTBOs are missing from install output
  • Solution description explaining the fix
  • Proper Link: tag to lore.kernel.org
  • Signed-off-by present
  • Cherry-pick trailer included

Commit 2/2: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear explanation of change
Fixes tag present/correct N/A Not a bugfix
Authorship preserved Author: Vishwas Udupa vudupa@qti.qualcomm.com
Backport note (if applicable) Cherry-pick trailer: (cherry picked from commit abfeee71ec2257a591930d301f965151539d1380)

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Vendor-specific camx DTBO additions; consistent with commit 1 pattern

Issues

None - vendor-only commit follows expected pattern.


Overall Assessment

Verdict

⚠️ PARTIAL PASS - Commits are well-formed but upstream verification blocked by network restrictions.

Reasoning:

  • Both commits follow proper kernel commit message format
  • FROMLIST commit has proper lore link and cherry-pick trailer
  • QCLINUX commit correctly marked as vendor-only
  • Diff patterns are consistent and logical (adding .dtbo install targets)
  • Cannot verify: Diff faithfulness to upstream due to network restrictions

Recommendation: Merge conditionally - manual verification of lore link required by reviewer with network access.


Final Summary

Commit 1/2 (FROMLIST):

  1. Lore link present: Yes - https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
  2. Lore link matches PR commits: Cannot verify - network restricted; lore.kernel.org unreachable
  3. Upstream patch status: Unknown - cannot fetch from lore; FROMLIST prefix suggests posted but not yet merged
  4. PR present in qcom-next: Not checked - no kernel tree available per constraints

Commit 2/2 (QCLINUX):

  1. Lore link present: No - QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A - no lore link to compare against
  3. Upstream patch status: N/A - vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked - QCLINUX: vendor-only commit

Technical Analysis

Commit 1: FROMLIST patch

Change pattern: Adds 18 .dtbo install targets to arch/arm64/boot/dts/qcom/Makefile

Files affected:

  • apq8016-sbc-d3-camera-mezzanine.dtbo
  • apq8016-sbc-usb-host.dtbo
  • lemans-evk-camera-csi1-imx577.dtbo
  • lemans-evk-ifp-mezzanine.dtbo
  • monaco-evk-camera-imx577.dtbo
  • monaco-evk-ifp-mezzanine.dtbo
  • talos-el2.dtbo
  • qcs6490-rb3gen2-industrial-mezzanine.dtbo
  • qcs6490-rb3gen2-vision-mezzanine.dtbo
  • monaco-el2.dtbo
  • lemans-el2.dtbo
  • qrb5165-rb5-vision-mezzanine.dtbo
  • sc7180-el2.dtbo
  • sc8280xp-el2.dtbo
  • sdm845-db845c-navigation-mezzanine.dtbo
  • sm8650-hdk-display-card.dtbo
  • talos-evk-lvds-auo,g133han01.dtbo
  • x1-el2.dtbo

Pattern: Each .dtbo file already has a composite target (e.g., foo-dtbs := base.dtb overlay.dtbo) and a composite install target (dtb-$(CONFIG_ARCH_QCOM) += foo.dtb). This patch adds standalone .dtbo install targets.

Commit 2: QCLINUX patch

Change pattern: Adds 10 camx-specific .dtbo install targets

Files affected:

  • hamoa-evk-camx.dtbo
  • lemans-evk-camx.dtbo
  • lemans-camx-el2.dtbo
  • monaco-evk-camx.dtbo
  • monaco-camx-el2.dtbo
  • qcs615-ride-camx.dtbo
  • qcs6490-rb3gen2-vision-mezzanine-camx.dtbo
  • qcs8300-ride-camx.dtbo
  • sa8775p-ride-camx.dtbo
  • talos-evk-camx.dtbo

Pattern: Identical to commit 1 - adds standalone .dtbo install targets for Qualcomm-specific camx overlays.


Observations

Strengths

  1. ✅ Consistent commit message format across both commits
  2. ✅ Proper use of FROMLIST vs QCLINUX prefixes
  3. ✅ Cherry-pick trailers present on both commits
  4. ✅ Clear problem/solution description in commit 1
  5. ✅ Logical separation: upstream-bound changes in commit 1, vendor-only in commit 2
  6. ✅ Diff patterns are clean and follow Makefile conventions

Concerns

  1. ⚠️ Cannot verify upstream diff - network restrictions prevent lore.kernel.org access
  2. ⚠️ Future-dated lore link - Link points to 2026-04-28, but current date is 2026-06-17; suggests patch may have been posted after this PR was created (unusual workflow)
  3. ⚠️ Cherry-pick SHAs unverifiable - Cannot confirm commits 7998dbf1695da00ef7a54c3fe90328e251400c90 and abfeee71ec2257a591930d301f965151539d1380 exist in any tree

Recommendations for Reviewer

  1. Manually verify lore link resolves and matches commit 1 diff
  2. Check if cherry-pick SHAs exist in the target integration branch
  3. Verify FROMLIST patch has not yet been merged upstream (check mainline)
  4. Confirm camx overlays in commit 2 are Qualcomm-specific and not upstream-bound

@qlijarvis

Copy link
Copy Markdown

PR #654 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Both commits pass with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped - no DTBs built under head
sparse-check ⏭️ Skipped - no C code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance 2 failures: FROMLIST patch differs from upstream link; QCLINUX patch missing required prefix
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #654 - arm64: dts: qcom: install DT overlays via dtbs_install
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27670738660

Checker Result Summary
checkpatch Both commits pass with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped - no DTBs built under head
sparse-check ⏭️ Skipped - no C code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance 2 failures: FROMLIST patch differs from upstream link; QCLINUX patch missing required prefix
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

❌ check-patch-compliance

Root cause: Two distinct compliance violations detected by the check-patch-compliance checker.

Failure details:

Commit 1 (7eec426):

Checking commit: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install
Change is different from the one mentioned in Link

The patch claims to be from the lore link https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com but the actual diff in the PR does not match what was posted to the mailing list. The checker validates that FROMLIST patches are faithful to their upstream source.

Commit 2 (aa95d42):

Checking commit: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays
Commit summary does not start with a required prefix

The commit uses QCLINUX: prefix but the checker expects one of the standard prefixes. For Qualcomm-specific downstream changes that are not intended for upstream, the correct prefix should be one of: FROMGIT:, BACKPORT:, FROMLIST:, UPSTREAM:, or a subsystem-specific prefix like arm64: dts: qcom:.

Fix:

For commit 1 (FROMLIST patch):

  1. Verify the lore link is correct and accessible
  2. Compare the PR patch against the actual upstream patch at the lore link
  3. Either:
    • Update the patch to exactly match the upstream version (if it was modified), OR
    • Update the Link: tag to point to the correct upstream version, OR
    • If this is a modified version of an upstream patch, change the prefix from FROMLIST: to BACKPORT: and document the changes

For commit 2 (QCLINUX patch):

  1. Since this is Qualcomm-specific downstream code (camx overlays), change the subject prefix from QCLINUX: to arm64: dts: qcom: to match kernel subsystem conventions
  2. Alternatively, if this is based on an upstream or mailing list patch, use the appropriate prefix (FROMLIST:, UPSTREAM:, BACKPORT:, FROMGIT:)

Reproduce locally:

cd /path/to/kernel
git fetch origin qcom-6.18.y
git checkout qcom-6.18.y
# Apply your PR commits
bash /path/to/kernel-checkers/check-patch-compliance.sh --kernel-src . --base <base-sha> --head <head-sha>

Verdict

2 blockers must be fixed before merge: FROMLIST patch content mismatch and QCLINUX prefix violation in check-patch-compliance.

@qlijarvis

Copy link
Copy Markdown

PR #654 — validate-patch

PR: #654

Verdict Issues Detailed Report
⚠️ 2 Full report

Final Summary

  1. Lore link present: Not provided in agent output
  2. Lore link matches PR commits: Not provided in agent output
  3. Upstream patch status: Not provided in agent output
  4. PR present in qcom-next: Not provided in agent output
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #654
Commits: 2 patches (1 FROMLIST + 1 QCLINUX vendor-only)
Verdict: ⚠️ PARTIAL — Commit 1 cannot be verified against upstream due to network restrictions


Commit 1: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

Upstream commit: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
Verdict: ⚠️ CANNOT VERIFY — Network access restricted; lore.kernel.org unreachable

Commit Message

Check Status Note
Subject format Proper FROMLIST prefix; follows kernel style
Body structure Clear problem statement and solution rationale
Link tag present Lore link included before Signed-off-by
Authorship preserved Author: Vishwas Udupa vudupa@qti.qualcomm.com
Signed-off-by present Matches author
Backport note N/A Not a backport; FROMLIST indicates pending upstream

Diff Analysis

Aspect Status Notes
File modified arch/arm64/boot/dts/qcom/Makefile
Change count 18 insertions (adds 18 .dtbo install targets)
Change pattern Consistent: adds dtb-$(CONFIG_ARCH_QCOM) += <overlay>.dtbo after composite dtb definitions
Mechanical correctness Each added line follows existing Makefile syntax

Overlays added (18 total):

  • apq8016-sbc-d3-camera-mezzanine.dtbo
  • apq8016-sbc-usb-host.dtbo
  • lemans-evk-camera-csi1-imx577.dtbo
  • lemans-evk-ifp-mezzanine.dtbo
  • monaco-evk-camera-imx577.dtbo
  • monaco-evk-ifp-mezzanine.dtbo
  • talos-el2.dtbo
  • qcs6490-rb3gen2-industrial-mezzanine.dtbo
  • qcs6490-rb3gen2-vision-mezzanine.dtbo
  • monaco-el2.dtbo
  • lemans-el2.dtbo
  • qrb5165-rb5-vision-mezzanine.dtbo
  • sc7180-el2.dtbo
  • sc8280xp-el2.dtbo
  • sdm845-db845c-navigation-mezzanine.dtbo
  • sm8650-hdk-display-card.dtbo
  • talos-evk-lvds-auo,g133han01.dtbo
  • x1-el2.dtbo

Issues

  • Cannot verify diff faithfulness: Network restrictions prevent fetching upstream patch from lore.kernel.org for byte-by-byte comparison
  • Lore link date anomaly: Link references April 28, 2026, but commit date is April 3, 2026 (commit predates posting by 25 days — unusual but possible if link was added retroactively)

Verdict

Commit message structure and diff pattern are correct. However, cannot confirm diff matches upstream due to network restrictions. Manual verification against lore.kernel.org required.


Commit 2: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays

Upstream commit: N/A (vendor-only)
Verdict: ✅ PASS — Vendor-only commit; no upstream comparison required

Commit Message

Check Status Note
Subject format Proper QCLINUX prefix for vendor-only changes
Body structure Clear description of change and rationale
Link tag present N/A Not expected for QCLINUX commits
Authorship Author: Vishwas Udupa vudupa@qti.qualcomm.com
Signed-off-by present Matches author

Diff Analysis

Aspect Status Notes
File modified arch/arm64/boot/dts/qcom/Makefile
Change count 10 insertions (adds 10 camx .dtbo install targets)
Change pattern Consistent with Commit 1 pattern
Mechanical correctness Each added line follows existing Makefile syntax
Builds on Commit 1 Base index 01cde722562e0 matches Commit 1 output

Camx overlays added (10 total):

  • hamoa-evk-camx.dtbo
  • lemans-evk-camx.dtbo
  • lemans-camx-el2.dtbo
  • monaco-evk-camx.dtbo
  • monaco-camx-el2.dtbo
  • qcs615-ride-camx.dtbo
  • qcs6490-rb3gen2-vision-mezzanine-camx.dtbo
  • qcs8300-ride-camx.dtbo
  • sa8775p-ride-camx.dtbo
  • talos-evk-camx.dtbo

Issues

None. Vendor-only commit is properly formatted and scoped.


Final Summary

Commit 1 (FROMLIST)

  1. Lore link present: Yes — https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
  2. Lore link matches PR commits: Cannot verify — network restrictions prevent fetching upstream patch for comparison
  3. Upstream patch status: Unknown — cannot query lore.kernel.org; link date (2026-04-28) suggests patch was posted upstream
  4. PR present in qcom-next: Not checked — no kernel tree access per constraints

Commit 2 (QCLINUX)

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

Overall Recommendation

⚠️ CONDITIONAL APPROVAL

  • Commit 2 (QCLINUX): ✅ Ready to merge — properly formatted vendor-only commit
  • Commit 1 (FROMLIST): ⚠️ Requires manual verification:
    • Fetch upstream patch from lore.kernel.org when network is available
    • Verify diff matches upstream byte-for-byte (ignoring context line differences)
    • Confirm upstream acceptance status (merged/pending/rejected)
    • Investigate commit date vs. lore posting date discrepancy (commit: 2026-04-03, link: 2026-04-28)

Action items:

  1. Manually verify Commit 1 against https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com/raw
  2. Check if upstream patch has been accepted into mainline or linux-next
  3. If upstream differs, update PR to match upstream exactly
  4. If upstream was rejected or requires changes, update FROMLIST commit accordingly

@qlijarvis

Copy link
Copy Markdown

PR #654 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Both commits pass with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped — no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped — no DTBs built under head (Makefile-only change)
sparse-check ⏭️ Skipped — no C code changes
check-uapi-headers ⏭️ Skipped — no UAPI header changes
check-patch-compliance FAILED — 2 blockers
tag-check N/A Not applicable (not targeting qcom-next/qcom-next-staging)
qcom-next-check FROMLIST prefix present on commit 1

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #654 — Install DT overlays via dtbs_install
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27673281019

Checker Result Summary
checkpatch Both commits pass with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped — no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped — no DTBs built under head (Makefile-only change)
sparse-check ⏭️ Skipped — no C code changes
check-uapi-headers ⏭️ Skipped — no UAPI header changes
check-patch-compliance FAILED — 2 blockers
tag-check N/A Not applicable (not targeting qcom-next/qcom-next-staging)
qcom-next-check FROMLIST prefix present on commit 1

❌ check-patch-compliance

Root cause: Two distinct compliance violations detected by the patch compliance checker

Failure details:

Issue 1 — Commit 1 (733fa0c):

Checking commit: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install
Change is different from the one mentioned in Link

The checker fetched the upstream patch from the lore.kernel.org link (https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com) and found that the diff in the PR does not match the upstream version byte-for-byte. This indicates the FROMLIST commit has been modified from its upstream posting.

Issue 2 — Commit 2 (3565a31):

Checking commit: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays
Commit summary does not start with a required prefix

The second commit uses QCLINUX: prefix, but the checker expects one of the standard prefixes. Based on Qualcomm Linux kernel conventions, vendor-only commits should typically use prefixes like:

  • ANDROID: for Android-specific changes
  • CHROMEOS: for ChromeOS-specific changes
  • Or subsystem-specific prefixes for vendor changes

The QCLINUX: prefix is not recognized as a valid prefix by the compliance checker.

Fix:

For Commit 1:

  1. Verify the upstream patch at the lore link matches your intent
  2. If upstream was updated after initial posting, either:
    • Update the Link tag to point to the correct version (e.g., v2, v3)
    • Or rebase your commit to match the exact upstream diff
  3. If you intentionally modified the upstream patch, this should be a separate vendor commit, not FROMLIST

For Commit 2:
Replace QCLINUX: with an appropriate prefix. Options:

  • If this is Android-specific: ANDROID: arm64: dts: qcom: Install camx DTBO overlays
  • If this is a general vendor addition: Use subsystem prefix like arm64: dts: qcom: Install camx DTBO overlays (no vendor prefix)
  • Check with your team's commit message guidelines for the correct vendor prefix

Reproduce locally:

# Clone kernel-checkers
git clone https://github.com/qualcomm-linux/kernel-checkers.git

# Run check-patch-compliance on your branch
cd kernel-checkers
bash check-patch-compliance.sh --kernel-src /path/to/kernel \
  --base <base-commit> --head <pr-head-commit>

Verdict

2 blockers must be fixed before merge:

  1. Commit 1: FROMLIST diff must exactly match upstream lore posting
  2. Commit 2: Replace QCLINUX: prefix with a recognized vendor/subsystem prefix

@qlijarvis

Copy link
Copy Markdown

PR #654 — validate-patch

PR: #654

Verdict Issues Detailed Report
⚠️ 2 Full report

Final Summary

  1. Lore link present: Yes (commit 1 only) — https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com

  2. Lore link matches PR commits: Cannot verify — Network access restricted; unable to fetch upstream patch for comparison. Date mismatch (commit Apr 3 vs. message-ID Apr 28) raises questions about version alignment.

  3. Upstream patch status: Unknown — Cannot check lore.kernel.org due to network restrictions. The FROMLIST prefix indicates it was posted for review but acceptance status is unverified.

  4. PR present in qcom-next: Not checked — No kernel tree access per constraints.


Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #654
Commits: 2 patches (1 FROMLIST + 1 QCLINUX vendor-only)


Commit 1/2: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

Upstream commit: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
Verdict: ⚠️ PARTIAL — Cannot verify upstream content (network restricted), date mismatch detected

Commit Message

Check Status Note
Subject format FROMLIST prefix present, subsystem/scope correct
Body structure Problem → Impact → Solution flow clear
Rationale preserved Explains why DTBOs need explicit install targets
Link tag present Lore link included
Link tag placement Link before Signed-off-by (correct order)
Authorship preserved Author: Vishwas Udupa vudupa@qti.qualcomm.com
Signed-off-by present Present and matches author
Fixes tag N/A Not a bugfix, no Fixes tag needed

Diff Analysis

File Status Notes
arch/arm64/boot/dts/qcom/Makefile +18 lines: adds dtb-$(CONFIG_ARCH_QCOM) entries for .dtbo files

Pattern: Each .dtbo file gets its own dtb-$(CONFIG_ARCH_QCOM) += <name>.dtbo line immediately after the corresponding composite .dtb entry. Consistent with Makefile conventions.

Files affected: 18 DTBO overlays across multiple platforms (apq8016, lemans, monaco, qcs615, qcs6490, qcs8300, qcs9100, qrb5165, sc7180, sc8280xp, sdm845, sm8650, talos, x1/x1p).

Issues

  • ⚠️ Date mismatch: Commit date is Fri, 3 Apr 2026 but lore message-ID indicates 20260428 (April 28, 2026). The commit appears to predate the upstream posting by 25 days, which is unusual for a FROMLIST patch.
  • ⚠️ Cannot verify upstream diff: Network access restricted; unable to fetch lore patch to confirm diff faithfulness.

Verdict

Conditional approval — Commit message structure and diff pattern are correct. However, the date discrepancy suggests this may be a forward-ported or rebased version of a patch that was posted upstream later. Recommend verifying:

  1. The lore link actually exists and matches this diff
  2. Whether this is the correct upstream version or if there were revisions

Commit 2/2: QCLINUX: arm64: dts: qcom: add camx dtbo overlays

Upstream commit: N/A (vendor-only)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject format QCLINUX prefix correct for vendor-only
Body structure Clear what/how/why explanation
Rationale Explains dtbs_install integration for distro packages
Link tag N/A Not expected for QCLINUX commits
Authorship Same author as commit 1
Signed-off-by Present

Diff Analysis

File Status Notes
arch/arm64/boot/dts/qcom/Makefile +10 lines: adds dtb-$(CONFIG_ARCH_QCOM) entries for camx .dtbo files

Pattern: Identical to commit 1 — adds explicit install targets for camx-specific DTBO overlays.

Files affected: 10 camx DTBO overlays (hamoa, lemans, monaco, qcs5430, qcs615, qcs6490, qcs8300, sa8775p, talos).

Issues

None detected.

Verdict

Approve — Well-formed vendor commit that extends commit 1's pattern to Qualcomm-specific camx overlays.


Final Summary

  1. Lore link present: Yes (commit 1 only) — https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com

  2. Lore link matches PR commits: Cannot verify — Network access restricted; unable to fetch upstream patch for comparison. Date mismatch (commit Apr 3 vs. message-ID Apr 28) raises questions about version alignment.

  3. Upstream patch status: Unknown — Cannot check lore.kernel.org due to network restrictions. The FROMLIST prefix indicates it was posted for review but acceptance status is unverified.

  4. PR present in qcom-next: Not checked — No kernel tree access per constraints.


Recommendations

Commit 1 (FROMLIST):

  • ⚠️ Action required: Verify the lore link is valid and the diff matches upstream exactly
  • ⚠️ Action required: Explain the date discrepancy (commit dated Apr 3, lore message-ID dated Apr 28)
  • If this is a rebased/updated version, consider whether the message-ID should be updated or if a note should be added

Commit 2 (QCLINUX):

  • ✅ Ready to merge as-is

Overall: The technical content and structure of both commits are sound. The primary concern is verifying commit 1's upstream alignment given the date anomaly and network restrictions preventing direct comparison.

@qlijarvis

Copy link
Copy Markdown

PR #654 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Both commits passed with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped - no DTBs built under head
sparse-check ⏭️ Skipped - no C source changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance 2 failures: patch mismatch + invalid prefix
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #654 - arm64: dts: qcom: install DT overlays via dtbs_install
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27682496698

Checker Result Summary
checkpatch Both commits passed with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped - no DTBs built under head
sparse-check ⏭️ Skipped - no C source changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance 2 failures: patch mismatch + invalid prefix
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

❌ check-patch-compliance

Root cause: Two distinct compliance violations detected by the patch compliance checker.

Failure details:

Issue 1 - Commit 733fa0c (FROMLIST patch):

Checking commit: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install
Change is different from the one mentioned in Link

The first commit claims to be FROMLIST: and references:

Link: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com

However, the checker detected that the actual patch content differs from what was posted to the mailing list at that Link. This violates the FROMLIST policy which requires patches to match their upstream submission exactly.

Issue 2 - Commit 4dfa321 (QCLINUX patch):

Checking commit: QCLINUX: arm64: dts: qcom: add camx dtbo overlays
Commit summary does not start with a required prefix

The second commit uses QCLINUX: prefix, but this is not a valid prefix for the qcom-6.18.y branch. Valid prefixes for this branch are:

  • UPSTREAM: - for patches already merged in mainline
  • FROMLIST: - for patches posted to mailing lists but not yet merged
  • BACKPORT: - for patches backported from newer kernel versions

Fix:

For Issue 1 (FROMLIST mismatch):

  1. Verify the lore link is correct: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com
  2. Either:
    • Update the patch to match exactly what was sent to the mailing list, OR
    • Update the Link: tag to point to the correct version, OR
    • If this is a modified version, change prefix from FROMLIST: to BACKPORT: or another appropriate prefix

For Issue 2 (invalid QCLINUX prefix):

  1. Replace QCLINUX: with a valid prefix:
    • If this is Qualcomm-specific and not going upstream: Remove the prefix entirely or use BACKPORT: if based on an upstream patch
    • If this will be submitted upstream: Use FROMLIST: and add a Link: tag
    • If already merged upstream: Use UPSTREAM: and add a Link: tag

Reproduce locally:

cd /path/to/kernel
git fetch origin pull/654/head:pr-654
git checkout qcom-6.18.y
git merge --no-commit pr-654
git commit -m "Merged PR #654"

# Clone kernel-checkers
git clone https://github.com/qualcomm-linux/kernel-checkers.git

# Run the compliance checker
bash kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base 360986b713f88d182fb17fdf5decedf665a77834 \
  --head HEAD

Verdict

2 blockers must be fixed before merge:

  1. FROMLIST patch content must match the lore.kernel.org link, or the prefix/link must be corrected
  2. QCLINUX prefix must be replaced with a valid prefix (UPSTREAM/FROMLIST/BACKPORT or removed)

@qlijarvis

Copy link
Copy Markdown

PR #654 — validate-patch

PR: #654

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

Commit 1/2 (BACKPORT):

  1. Lore link present: Yes - but link dated April 28, 2026 returns empty content
  2. Lore link matches PR commits: Cannot verify - lore link inaccessible
  3. Upstream patch status: Unknown - cannot access lore link to verify if posted/accepted
  4. PR present in qcom-next: Not checked - no kernel tree access per constraints

Commit 2/2 (QCLINUX):

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

Recommendation: Before merging, clarify commit 1/2:

  • Verify if patch was actually posted to lore.kernel.org
  • If posted but not accepted, change prefix to FROMLIST:
  • If accepted upstream, add upstream commit SHA to commit message
  • If never posted, consider whether BACKPORT: is appropriate or if this should be FROMLIST: or QCLINUX:
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #654 - Install DT overlays via dtbs_install
Upstream commit: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com (future date - link not accessible)
Verdict: ⚠️ PARTIAL


Commit 1/2: BACKPORT: arm64: dts: qcom: install DT overlays via dtbs_install

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - lore link dated April 2026 (future), not accessible
Body preserves rationale Clear explanation of why DTBOs need explicit install targets
Fixes tag present/correct N/A Not a bug fix; feature addition
Authorship preserved Vishwas Udupa vudupa@qti.qualcomm.com
Backport note (if applicable) ⚠️ BACKPORT: prefix present but lore link is inaccessible/future-dated

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Adds 18 dtb-$(CONFIG_ARCH_QCOM) entries for .dtbo files

Issues

  • Lore link dated in future: Link shows 20260428 (April 28, 2026) but current date is June 18, 2026. The link returns empty content, suggesting either:
    • The patch was never posted to lore
    • The message-ID is incorrect
    • The patch is still in draft/local state
  • BACKPORT prefix without upstream evidence: Using BACKPORT: prefix implies this was accepted upstream, but cannot verify the upstream commit or acceptance status
  • Commit message structure: Link: tag appears before Signed-off-by:, which is correct kernel style

Verdict for Commit 1/2

Cannot verify upstream fidelity. The BACKPORT: prefix suggests this should match an upstream commit, but the lore link is inaccessible. Need to verify if this patch was actually posted/accepted upstream before merging.


Commit 2/2: QCLINUX: arm64: dts: qcom: add camx dtbo overlays

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: prefix indicates vendor-only
Body preserves rationale Clear explanation of camx DTBO installation
Fixes tag present/correct N/A Not a bug fix
Authorship preserved Vishwas Udupa vudupa@qti.qualcomm.com
Backport note (if applicable) N/A Vendor-only change

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile Adds 10 dtb-$(CONFIG_ARCH_QCOM) entries for camx .dtbo files

Issues

None - vendor-only commit follows expected conventions.

Verdict for Commit 2/2

✅ PASS - Properly formatted vendor-only commit with QCLINUX: prefix.


Overall Issues

  1. Commit 1/2 lore link verification failed: The provided lore.kernel.org link dated April 28, 2026 returns no content. This raises concerns:

    • Was this patch actually submitted upstream?
    • Is the message-ID correct?
    • Should this use FROMLIST: instead of BACKPORT:?
  2. BACKPORT vs FROMLIST: If the patch hasn't been accepted upstream yet, it should use FROMLIST: prefix, not BACKPORT:. BACKPORT: implies the patch is already in an upstream tree (mainline, stable, or subsystem maintainer tree).

  3. No upstream commit SHA: A proper BACKPORT should reference the upstream commit SHA in the commit message (e.g., "commit abc123def456 upstream" or similar).


Overall Verdict

⚠️ PARTIAL - Commit 2/2 is acceptable as vendor-only. Commit 1/2 requires clarification:

  • Verify the lore link is correct
  • Confirm upstream acceptance status
  • If not yet accepted, change BACKPORT: to FROMLIST:
  • If accepted, add upstream commit SHA reference

Final Summary

Commit 1/2 (BACKPORT):

  1. Lore link present: Yes - but link dated April 28, 2026 returns empty content
  2. Lore link matches PR commits: Cannot verify - lore link inaccessible
  3. Upstream patch status: Unknown - cannot access lore link to verify if posted/accepted
  4. PR present in qcom-next: Not checked - no kernel tree access per constraints

Commit 2/2 (QCLINUX):

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next: Not checked — QCLINUX: vendor-only commit

Recommendation: Before merging, clarify commit 1/2:

  • Verify if patch was actually posted to lore.kernel.org
  • If posted but not accepted, change prefix to FROMLIST:
  • If accepted upstream, add upstream commit SHA to commit message
  • If never posted, consider whether BACKPORT: is appropriate or if this should be FROMLIST: or QCLINUX:

@qlijarvis

Copy link
Copy Markdown

PR #654 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Both commits passed with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped - no DTBs built under head
sparse-check ⏭️ Skipped - nothing changed in C source files
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance 2 blockers: BACKPORT patch differs from upstream link; QCLINUX commit missing required prefix
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #654 - arm64: dts: qcom: install DT overlays via dtbs_install
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27752184114

Checker Result Summary
checkpatch Both commits passed with 0 errors, 0 warnings
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check ⏭️ Skipped - no DTBs built under head
sparse-check ⏭️ Skipped - nothing changed in C source files
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance 2 blockers: BACKPORT patch differs from upstream link; QCLINUX commit missing required prefix
tag-check N/A Not applicable for qcom-6.18.y branch
qcom-next-check N/A Not applicable for qcom-6.18.y branch

❌ check-patch-compliance

Root cause: Two compliance violations detected by the patch compliance checker

Failure details:

Commit 1 (934e5dd): BACKPORT: arm64: dts: qcom: install DT overlays via dtbs_install

Change is different from the one mentioned in Link

The checker compared the patch content against the upstream patch at https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com and found differences. This indicates the BACKPORT is not a faithful cherry-pick of the upstream commit.

Commit 2 (dd53524): QCLINUX: arm64: dts: qcom: add camx dtbo overlays

Commit summary does not start with a required prefix

The commit uses QCLINUX: prefix, but the checker expects one of the standard prefixes for the qcom-6.18.y branch. Valid prefixes typically include:

  • UPSTREAM: - for commits already merged in mainline
  • FROMLIST: - for commits posted to mailing lists but not yet merged
  • BACKPORT: - for modified backports of upstream commits
  • No prefix - for original downstream-only changes (but subject must follow kernel style)

Fix:

For Commit 1 (BACKPORT):

  1. Verify the upstream patch at the Link URL matches your changes exactly
  2. If the patch differs from upstream, either:
    • Update the patch to match upstream exactly, OR
    • Remove the BACKPORT: prefix and the Link: tag if this is a modified version
  3. If this is truly a backport, ensure you cherry-picked the exact upstream commit without modifications

For Commit 2 (QCLINUX):

  1. Remove the QCLINUX: prefix from the subject line
  2. The subject should be: arm64: dts: qcom: add camx dtbo overlays
  3. Since this appears to be downstream-only work (adding Qualcomm-specific camx overlays), no prefix is needed
  4. Alternatively, if these overlays were posted upstream, use FROMLIST: prefix and add a Link: tag

Reproduce locally:

cd /path/to/kernel
git fetch origin qcom-6.18.y
git checkout qcom-6.18.y
git fetch origin pull/654/head:pr-654
git merge pr-654 --no-commit
git commit -m "Merged PR #654"

# Clone kernel-checkers
cd ..
git clone https://github.com/qualcomm-linux/kernel-checkers.git

# Run the compliance checker
cd kernel
bash ../kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base origin/qcom-6.18.y \
  --head HEAD

Verdict

2 blockers must be fixed before merge: The BACKPORT commit must either match its upstream Link exactly or be reclassified, and the QCLINUX commit needs its prefix removed or changed to a valid prefix (FROMLIST/UPSTREAM/BACKPORT or none).

@vishwasudupa

Copy link
Copy Markdown
Author

BACKPORT: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays

This should be QCLINUX and not BACKPORT.

BACKPORT: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

This is FROMLIST.

Shiraz Hashim (@shashim-quic)

i have changed it to QCLINUX on my qclinux commit and BACKPORT on other commit because, i had to make modifications to upstream link to remove dtbo's that is not present in 6.18

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 x1e80100-crd
BT_FW_KMD_Service ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
BT_ON_OFF ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ✅ Pass ✅ Pass ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ✅ Pass ◻️ ❌ Fail ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ◻️ ❌ Fail ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ✅ Pass ✅ Pass ◻️ ⚠️ skip ✅ Pass ❌ Fail ◻️
hotplug ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️
rngtest ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️

@sgaud-quic

Copy link
Copy Markdown
Contributor

BACKPORT: QCLINUX: arm64: dts: qcom: Install camx DTBO overlays

This should be QCLINUX and not BACKPORT.

BACKPORT: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

This is FROMLIST.

Updated in latest patch

FROMLIST is not updated..

@qcomlnxci
qcomlnxci requested a review from a team July 1, 2026 10:31
@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 x1e80100-crd
BT_FW_KMD_Service ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_ON_OFF ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ⚠️ skip ◻️ ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ✅ Pass ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ✅ Pass ◻️
WiFi_OnOff ✅ Pass ◻️ ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️
adsp_remoteproc ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ❌ Fail ◻️ ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail ◻️
hotplug ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
rngtest ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ⚠️ skip ◻️ ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip
Ethernet ◻️ ✅ Pass ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
IPA ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
OpenCV ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ◻️ ❌ Fail ◻️ ✅ Pass ❌ Fail ❌ Fail ❌ Fail
RMNET ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
USBHost ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ◻️ ⚠️ skip ✅ Pass ✅ Pass ✅ Pass
adsp_remoteproc ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
cdsp_remoteproc ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
gpdsp_remoteproc ◻️ ❌ Fail ◻️ ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail
hotplug ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
remoteproc ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
rngtest ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ❌ Fail
watchdog ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ◻️ ⚠️ skip ✅ Pass ✅ Pass ✅ Pass

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #654
Pre-merge run: https://github.com/qualcomm-linux/kernel-config/actions/runs/28527980108

Detected Failures

SoC LAVA Job Failed Cases
lemans-evk #148710 cdsp_remoteproc, adsp_remoteproc, gpdsp_remoteproc, remoteproc, Probe_Failure_Check, smmu, USBHost, WiFi_Firmware_Driver, 0_qcom-next-ci-premerge-tests
qcs9100-ride #148711 8 cases
qcs615-ride #148712 4 cases
hamoa-evk #148713 3 cases
qcs8300-ride #148714 3 cases
monaco-evk #148715 4 cases
qcs6490-rb3gen2 #148716 Probe_Failure_Check, USBHost, WiFi_Firmware_Driver, 0_qcom-next-ci-premerge-tests

⚠️ Most per-case AI triage was skipped due to API rate limiting. One case was fully analysed (see below).

Triage: qcs6490-rb3gen2 — 0_qcom-next-ci-premerge-tests

Based on my analysis, I can now provide the required output. The issue is clear: the LAVA test runner completed all test cases successfully but failed to emit the required <LAVA_SIGNAL_ENDRUN> signal before exiting. This is a test infrastructure bug in the qcom-linux-testkit test definition, not a kernel issue or PR-introduced regression.

[CASE_REPORT]

  • Failed Case: 0_qcom-next-ci-premerge-tests
  • Root Cause: LAVA test infrastructure issue — the test runner (qcom-linux-testkit) completed all 33 test cases and emitted <LAVA_TEST_RUNNER EXIT> but failed to send the required <LAVA_SIGNAL_ENDRUN> signal, causing LAVA to mark the test run as "unfinished" despite successful completion.
  • Fix: Update the qcom-linux-testkit test definition's run.sh or result_parse.sh script to emit <LAVA_SIGNAL_ENDRUN> before exit; this is a test infrastructure fix, not a kernel fix, and is unrelated to the PR's DT overlay installation changes.
    [/CASE_REPORT]

[DETAILED_ANALYSIS]
Summary:
The test case 0_qcom-next-ci-premerge-tests failed with "Marking unfinished test run as failed" despite all 33 individual test cases completing successfully (31 PASS, 2 FAIL for pre-existing issues). The root cause is a missing <LAVA_SIGNAL_ENDRUN> signal in the test infrastructure. LAVA requires test definitions to emit both STARTRUN and ENDRUN signals to properly track test execution lifecycle. The test runner sent STARTRUN at 16:15:28 but only sent <LAVA_TEST_RUNNER EXIT> at 16:23:51 without the required ENDRUN signal.

Evidence from logs:

  • Line 2268: <LAVA_SIGNAL_STARTRUN 0_qcom-next-ci-premerge-tests 148716_1.1.3.1> was emitted at test start
  • Line 4209: <LAVA_TEST_RUNNER EXIT> was emitted after result_parse.sh completed
  • No <LAVA_SIGNAL_ENDRUN> signal appears anywhere in the 4,237-line log
  • Line 4210: LAVA error message "Marking unfinished test run as failed" indicates the missing ENDRUN signal
  • All 33 test cases reported results via <LAVA_SIGNAL_TESTCASE> signals (grep shows 33 occurrences)
  • Test duration was 503 seconds (8.4 minutes), well under the 20-minute timeout
  • This pattern repeats across multiple jobs (148710, 148711, 148712, 148714, 148716) indicating a systematic test infrastructure issue

Failure mechanism:

  1. LAVA invokes /lava-148716/bin/lava-test-runner /lava-148716/0 which sources the test definition's run.sh
  2. The test definition (qcom-linux-testkit) emits <LAVA_SIGNAL_STARTRUN> correctly
  3. All test suites execute and report individual results via <LAVA_SIGNAL_TESTCASE>
  4. The test definition calls result_parse.sh which lists all .res files
  5. The lava-test-runner binary emits <LAVA_TEST_RUNNER EXIT>
  6. However, the test definition's run.sh never emits <LAVA_SIGNAL_ENDRUN> before returning
  7. LAVA's test shell action detects the missing ENDRUN signal and marks the entire test run as failed
  8. This is a bug in the qcom-linux-testkit repository's test definition structure

Alternative hypotheses considered:

  • Hypothesis: Test timeout — why less likely: Test completed in 503s vs 1200s timeout; no timeout messages in log
  • Hypothesis: Kernel crash or hang — why less likely: All 33 test cases completed normally; system remained responsive through finalize/power-off stages
  • Hypothesis: PR-introduced regression — why less likely: The PR only modifies arch/arm64/boot/dts/qcom/Makefile to add dtbo install targets; it doesn't touch kernel code, test infrastructure, or runtime behavior. The same failure pattern appears across all 7 LAVA jobs for different SoCs, indicating a pre-existing test infrastructure issue.

Validation plan:

  1. Check qcom-linux-testkit repository's Runner/plans/qcom-next-ci-premerge.yaml and associated run.sh for ENDRUN signal emission
  2. Compare with a known-good LAVA test definition that properly emits ENDRUN
  3. Verify the issue reproduces on baseline (non-PR) builds to confirm it's not PR-introduced

Recommended fix plan:

  1. Short-term mitigation: Manually verify all individual test case results (33 test cases all reported); treat the overall failure as a false positive for this PR since all actual tests passed or failed for known reasons (USBHost, WiFi_Firmware_Driver)
  2. Proper fix: Update qcom-linux-testkit repository's test definition to emit printf "<LAVA_SIGNAL_ENDRUN %s %s>\n" "$TESTRUN_ID" "$UUID" before the run.sh script exits, following LAVA test definition best practices
  3. Verification: Re-run the test suite on qcs6490-rb3gen2 after the fix and confirm LAVA reports the test run as "pass" with proper ENDRUN signal in the log
    [/DETAILED_ANALYSIS]

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #654

Job 148710 | SoC lemans-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/148710

Failed test cases in LAVA job 148710 (SoC: lemans-evk).

  Case 1: cdsp_remoteproc — Remoteproc Boot Failure
  1. Failed case: cdsp_remoteproc — Remoteproc Boot Failure
  2. Root cause: All DSP remoteproc instances (cdsp0, cdsp1, adsp, gpdsp0, gpdsp1) on SA8775P (Lemans EVK) failed to boot with error -22 (EINVAL) during firmware initialization in the qcom_q6v5_pas driver. The firmware files exist and are loaded, but the PAS (Peripheral Authentication Service) secure firmware initialization path rejects them with EINVAL, indicating a platform configuration mismatch, incorrect secure-side setup, or missing platform prerequisites for this SoC.
  3. Possible fix: This is a pre-existing platform/firmware configuration issue not introduced by the PR (which only modifies DT overlay Makefile entries). Verify that the correct signed firmware images for SA8775P are present in /lib/firmware/qcom/sa8775p/, confirm that TrustZone/PAS configuration matches the target platform, and ensure all platform-specific secure boot prerequisites (clocks, regulators, power domains, reserved memory regions) are correctly configured in the device tree. If the issue persists, compare with a known-good firmware/kernel combination for this SoC and check for any missing platform bring-up patches in the kernel tree.
  4. Detail analysis attachment: failed_case_job148710_1_detailed.md
  Case 2: Remoteproc Boot Failure — PAS/SCM firmware initialization error (EINVAL)
  1. Failed case: Remoteproc Boot Failure — PAS/SCM firmware initialization error (EINVAL)
  2. Root cause: All DSP remoteprocs (adsp, cdsp0, cdsp1, gpdsp0, gpdsp1) on lemans-evk fail to boot with error -22 (EINVAL) during PAS/SCM firmware initialization. Firmware files are present and loaded (sizes confirmed in boot log), but qcom_q6v5_pas driver fails at the secure authentication/initialization stage with "error -22 initializing firmware". This indicates a PAS (Peripheral Authentication Service) or SCM (Secure Channel Manager) failure during secure firmware handoff, not a missing firmware issue.
  3. Possible fix: This is a pre-existing platform/firmware configuration issue unrelated to the PR (which only adds dtbo install targets). Verify that: (1) the firmware package version matches the kernel version and platform expectations, (2) PAS/TrustZone configuration is correct for sa8775p platform, (3) secure boot chain and authentication certificates are properly configured for lemans-evk. Re-flash a clean, version-matched firmware set for sa8775p and confirm PAS authentication succeeds. If issue persists, collect TrustZone logs (qsee_log.txt) and SCM call traces to debug the secure-side rejection.
  4. Detail analysis attachment: failed_case_job148710_2_detailed.md
  Case 3: ** Remoteproc Firmware Authentication Failure — gpdsp_remoteproc
  1. Failed case: ** Remoteproc Firmware Authentication Failure — gpdsp_remoteproc
  2. Root cause: ** Both gpdsp0 and gpdsp1 remoteproc instances failed to initialize firmware with error -22 (EINVAL) during boot. The qcom_q6v5_pas driver successfully loaded firmware files (gpdsp0.mbn size 5963776 bytes, gpdsp1.mbn size 5963776 bytes) but authentication/initialization via PAS (Peripheral Authentication Service) failed, leaving both instances in offline state. This is a pre-existing platform/firmware issue unrelated to the PR's DT overlay Makefile changes.
  3. Possible fix: This is a known firmware authentication issue on lemans-evk (SA8775P) requiring either: (1) updated TrustZone firmware with correct PAS authentication keys/certificates for the gpdsp firmware images, or (2) verified signed gpdsp firmware binaries matching the platform's secure boot configuration. Re-trigger the CI job to confirm reproducibility; if persistent across multiple runs, escalate to the platform firmware team to provide properly signed gpdsp0.mbn and gpdsp1.mbn for SA8775P.
  4. Detail analysis attachment: failed_case_job148710_3_detailed.md
  Case 4: Remoteproc Firmware Initialization Failure — PAS Authentication Error
  1. Failed case: Remoteproc Firmware Initialization Failure — PAS Authentication Error
  2. Root cause: All five remoteproc subsystems (gpdsp0, gpdsp1, cdsp0, cdsp1, adsp) fail during firmware initialization with error -22 (EINVAL). Firmware files are successfully located and loaded (sizes: gpdsp0=5996544, gpdsp1=5963776, cdsp0=3174400, cdsp1=3174400, adsp=6803456), but qcom_q6v5_pas driver reports "error -22 initializing firmware" for all subsystems. Error -22 (EINVAL) in the PAS remoteproc path indicates firmware metadata validation or PAS authentication failure, not missing firmware files. This is a pre-existing infrastructure issue on lemans-evk (SA8775P) where the firmware package in the rootfs is incomplete, stale, or mismatched with the kernel version (6.18.30-02134-gfbb7cf6f0c53).
  3. Possible fix: Flash a complete, version-matched firmware package for SA8775P to /lib/firmware/qcom/sa8775p/ that includes valid metadata (.mdt) and all required split binaries (.bXX) for gpdsp0/1, cdsp0/1, and adsp. Verify firmware package provenance matches the kernel build. If the issue persists, check TrustZone/PAS configuration and ensure the platform is configured for the correct authentication mode. This is not a PR-introduced regression — the PR only modifies DT overlay Makefile entries and does not touch remoteproc, firmware loading, or device tree nodes for SA8775P remoteproc subsystems.
  4. Detail analysis attachment: failed_case_job148710_4_detailed.md
  Case 5: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test detected pre-existing deferred probe entries (4 PMIC temp-alarm devices and 1 sound device) and benign firmware load failures (regulatory.db, Bluetooth firmware) that are unrelated to the PR changes. The PR only modifies the Makefile to install DTBO files and does not alter device tree sources, drivers, or runtime probe behavior. All firmware-related failures are suppressed per LAVA known-benign-failures rules (BT_ON_OFF and WiFi_OnOff functional tests passed).
  3. Possible fix: Mark this test failure as a false positive for this PR. The deferred probe entries are pre-existing lemans-evk platform issues (PMIC thermal dependencies and audio DAI configuration) that require separate investigation. For CI purposes, update the Probe_Failure_Check test baseline to exclude these known deferred probe entries for lemans-evk, or enhance the test to distinguish between PR-introduced failures and pre-existing platform issues.
  4. Detail analysis attachment: failed_case_job148710_5_detailed.md
  Case 6: smmu
  1. Failed case: smmu
  2. Root cause: Test expectation mismatch — the smmu test expects all "critical masters" to have IOMMU group attachments, but two devices (aa00000.video-codec and interconnect-lpass-ag-noc) on lemans-evk do not have IOMMU groups assigned in the device tree or are not configured to use IOMMU protection on this platform.
  3. Possible fix: This is a pre-existing test failure not introduced by PR BACKPORT change to install DT overlays via dtbs_install #654 (which only modifies Makefile dtbo install targets). Either: (1) update the device tree for lemans-evk to add iommus properties for video-codec and lpass-ag-noc if IOMMU protection is required, or (2) adjust the test's "critical master" list to exclude these devices on lemans-evk if IOMMU protection is not required for this SoC's architecture.
  4. Detail analysis attachment: failed_case_job148710_6_detailed.md
  Case 7: ** USBHost (Test Infrastructure Issue)
  1. Failed case: ** USBHost (Test Infrastructure Issue)
  2. Root cause: ** Test infrastructure dependency not met - no functional USB peripheral devices (keyboard, mouse, storage, etc.) are physically connected to the lemans-evk board's USB ports; only USB hubs (Genesys Logic 05e3:0610 and 05e3:0625) are present, which the test explicitly excludes from validation.
  3. Possible fix: Connect at least one functional USB peripheral device (USB storage, keyboard, or mouse) to the lemans-evk board's USB ports before running the USBHost test, or update the test logic to accept USB hubs as valid evidence of USB host functionality if no peripherals are required for this validation level.
  4. Detail analysis attachment: failed_case_job148710_7_detailed.md
  Case 8: WiFi_Firmware_Driver (suppressed — known benign false positive per Rule 2)
  1. Failed case: WiFi_Firmware_Driver (suppressed — known benign false positive per Rule 2)
  2. Root cause: Test incorrectly detected ath12k firmware files on a platform using ath11k hardware (WCN6855), then failed when ath12k modules were not loaded. WiFi is fully functional using the correct ath11k driver, as proven by WiFi_OnOff test passing.
  3. Possible fix: No action required. This is a known benign test false positive. The WiFi_OnOff functional test passed, confirming WiFi firmware loaded correctly at runtime and the driver is working. The WiFi_Firmware_Driver test probed firmware state before full driver initialization, causing a spurious failure. Per suppression Rule 2, this failure should be excluded from PR validation results.
  4. Detail analysis attachment: failed_case_job148710_8_detailed.md
  Case 9: LAVA Test Runner Infrastructure Failure — Test definition marked incomplete despite successful completion
  1. Failed case: LAVA Test Runner Infrastructure Failure — Test definition marked incomplete despite successful completion
  2. Root cause: LAVA test runner marked the test definition 0_qcom-next-ci-premerge-tests as failed with "Marking unfinished test run as failed" despite the test suite completing successfully (all tests executed and reported results, test runner signaled EXIT, and the system proceeded to normal power-off). This is a LAVA infrastructure issue, not a kernel regression.
  3. Possible fix: Re-trigger the LAVA job. If the issue persists, investigate the LAVA job definition for missing completion signals or timeout configuration. The test suite duration was 386.59 seconds (6m27s); verify the LAVA job timeout allows sufficient margin. This is not a kernel issue and the PR changes (DT overlay install targets) cannot cause this failure.
  4. Detail analysis attachment: failed_case_job148710_9_detailed.md

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
BT_SCAN ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
CPU_affinity ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
DSP_AudioPD ◻️ ⚠️ skip ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip
Ethernet ◻️ ⚠️ skip ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ✅ Pass
GIC ◻️ ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ✅ Pass
IPA ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
Interrupts ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
OpenCV ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
PCIe ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
Probe_Failure_Check ◻️ ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ❌ Fail
RMNET ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
UFS_Validation ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
USBHost ◻️ ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ❌ Fail
WiFi_Firmware_Driver ◻️ ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
adsp_remoteproc ◻️ ❌ Fail ◻️ ◻️ ✅ Pass ◻️ ❌ Fail
cdsp_remoteproc ◻️ ❌ Fail ◻️ ◻️ ✅ Pass ◻️ ❌ Fail
gpdsp_remoteproc ◻️ ❌ Fail ◻️ ◻️ ⚠️ skip ◻️ ❌ Fail
hotplug ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
irq ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
kaslr ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
pinctrl ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
qcom_hwrng ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
remoteproc ◻️ ❌ Fail ◻️ ◻️ ✅ Pass ◻️ ❌ Fail
rngtest ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
shmbridge ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
smmu ◻️ ❌ Fail ◻️ ◻️ ✅ Pass ◻️ ❌ Fail
watchdog ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ◻️ ✅ Pass ◻️ ❌ Fail ✅ Pass ◻️ ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ◻️ ⚠️ skip ✅ Pass ◻️ ✅ Pass
BT_SCAN ◻️ ✅ Pass ◻️ ⚠️ skip ✅ Pass ◻️ ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
CPU_affinity ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
DSP_AudioPD ◻️ ⚠️ skip ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip
Ethernet ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ◻️ ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ◻️ ✅ Pass
GIC ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ◻️ ✅ Pass
IPA ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
Interrupts ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
OpenCV ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
PCIe ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
Probe_Failure_Check ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ◻️ ❌ Fail
RMNET ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
UFS_Validation ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
USBHost ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ◻️ ❌ Fail
WiFi_Firmware_Driver ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ◻️ ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ◻️ ◻️ ⚠️ skip ◻️ ✅ Pass
adsp_remoteproc ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ❌ Fail
cdsp_remoteproc ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ❌ Fail
gpdsp_remoteproc ◻️ ❌ Fail ◻️ ⚠️ skip ⚠️ skip ◻️ ❌ Fail
hotplug ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
irq ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
kaslr ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
pinctrl ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
qcom_hwrng ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
remoteproc ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ❌ Fail
rngtest ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
shmbridge ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass
smmu ◻️ ❌ Fail ◻️ ❌ Fail ✅ Pass ◻️ ❌ Fail
watchdog ◻️ ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ◻️ ⚠️ skip ✅ Pass ◻️ ✅ Pass

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass ◻️ ✅ Pass
BT_ON_OFF ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️ ✅ Pass
BT_SCAN ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️ ✅ Pass
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
DSP_AudioPD ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
Ethernet ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
USBHost ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail
WiFi_Firmware_Driver ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ✅ Pass
WiFi_OnOff ⚠️ skip ✅ Pass ❌ Fail ⚠️ skip ✅ Pass ◻️ ✅ Pass
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ◻️ ✅ Pass
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ✅ Pass ◻️ ❌ Fail
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
wpss_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️ ✅ Pass

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No Mainline PR in CR.

@vishwasudupa

vishwas udupa (vishwasudupa) commented Jul 14, 2026

Copy link
Copy Markdown
Author

No Mainline PR in CR.

attached this and mainline PR in CR : 4561683

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Ethernet ◻️ ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ◻️ ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass
GIC ◻️ ◻️ ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass
IPA ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
OpenCV ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ◻️ ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
USBHost ◻️ ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
adsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
cdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ◻️ ◻️ ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass
hotplug ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail
watchdog ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@sgaud-quic

Copy link
Copy Markdown
Contributor

Commit is NAKed in upstream, will not merge it :
Link: https://lore.kernel.org/all/20260428123725.3457865-1-vudupa@qti.qualcomm.com

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
BT_SCAN ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
Ethernet ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
GIC ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
IPA ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
OpenCV ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
PCIe ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
Probe_Failure_Check ◻️ ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail
RMNET ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
USBHost ◻️ ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail
WiFi_Firmware_Driver ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass
adsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
cdsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
gpdsp_remoteproc ◻️ ✅ Pass ✅ Pass ⚠️ skip ◻️ ✅ Pass ✅ Pass
hotplug ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
rngtest ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
smmu ◻️ ❌ Fail ✅ Pass ❌ Fail ◻️ ✅ Pass ❌ Fail
watchdog ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass

Overlay binaries (.dtbo) are currently only built implicitly as
dependencies of composite firmware images and are therefore absent from the
kernel install output.

Even when final DTBs are produced at build time, some distributions rely on
standalone DTBOs for runtime selection and application by bootloaders or
firmware. Without explicit install targets, DTBOs are not picked up by the
standard dtbs_install flow and therefore cannot be packaged alongside DTBs.

Add explicit dtb-$(CONFIG_ARCH_QCOM) entries for DT overlays defined in
this Makefile so they are installed via dtbs_install, matching existing DTB
install behaviour, while excluding EL2 DTBOs as they are not intended for
independent use and are only meaningful in conjunction with their base DTBs.

Link: https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/
Signed-off-by: Vishwas Udupa <vudupa@qti.qualcomm.com>
Install Qualcomm camx DTBO except el2 overlay files by adding them
to the dtb-$(CONFIG_ARCH_QCOM) build/install list

This makes DTBOs available through the standard dtbs_install
flow and ensures they are included in distro kernel packages

Signed-off-by: Vishwas Udupa <vudupa@qti.qualcomm.com>
@vishwasudupa

Copy link
Copy Markdown
Author

updated backport with latest acked patch from kernel upstream
https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/
made same upstream suggestion changes in both commits

@qcomlnxci
qcomlnxci requested a review from a team July 21, 2026 17:36
@qlijarvis

Copy link
Copy Markdown

PR #654 — validate-patch

PR: #654

Verdict Issues Detailed Report
12 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/
  2. Lore link matches PR commits: No — PR commit 1/2 excludes 12 .dtbo install lines (EL2 and others) present in lore v3; commit message rationale for exclusion does not match upstream discussion
  3. Upstream patch status: ✅ ACKed — Reviewed-by: Krzysztof Kozlowski on June 23, 2026 for the full patch including EL2 DTBOs
  4. PR present in qcom-next/topics: Yes - all 2 commit(s) are present in qcom-next or topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #654 — "FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install" + "QCLINUX: arm64: dts: qcom: add camx dtbo overlays"
Upstream commit: https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/
Verdict: ❌ FAIL


Commit 1/2: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install

Check Status Note
Subject matches upstream Subject identical
Body preserves rationale Body text preserved
Fixes tag present/correct N/A No Fixes tag in upstream or PR
Authorship preserved ⚠️ PR author vudupa@qti.qualcomm.com differs from lore author vishwas.udupa@oss.qualcomm.com — same person, different email domain (internal vs OSS)
Backport note (if applicable) N/A FROMLIST prefix used correctly

Diff

File Status Notes
arch/arm64/boot/dts/qcom/Makefile PR excludes EL2 DTBOs; lore v3 includes them — PR adds 12 .dtbo lines; lore adds 24 .dtbo lines including talos-el2.dtbo, monaco-el2.dtbo, lemans-el2.dtbo, sc7180-el2.dtbo, sc8280xp-el2.dtbo, x1-el2.dtbo, sm8550-hdk-rear-camera-card.dtbo, sm8650-hdk-rear-camera-card.dtbo, talos-evk-usb1-peripheral.dtbo, qrb2210-rb1-vision-mezzanine.dtbo, lemans-evk-camera.dtbo

Issues

Commit 1/2 — Semantic divergence from lore v3:

The PR commit message states: "while excluding EL2 DTBOs as they are not intended for independent use and are only meaningful in conjunction with their base DTBs."

However, the linked lore patch v3 (June 22, 2026) does not exclude EL2 DTBOs. The lore v3 patch adds explicit install targets for all DT overlays including EL2 overlays (talos-el2.dtbo, monaco-el2.dtbo, lemans-el2.dtbo, sc7180-el2.dtbo, sc8280xp-el2.dtbo, x1-el2.dtbo).

The PR diff is missing 12 .dtbo install lines present in the lore patch:

  • talos-el2.dtbo
  • monaco-el2.dtbo
  • lemans-el2.dtbo
  • sc7180-el2.dtbo
  • sc8280xp-el2.dtbo
  • x1-el2.dtbo
  • sm8550-hdk-rear-camera-card.dtbo
  • sm8650-hdk-rear-camera-card.dtbo
  • talos-evk-usb1-peripheral.dtbo
  • qrb2210-rb1-vision-mezzanine.dtbo
  • lemans-evk-camera.dtbo
  • (one more line not immediately visible in the diff comparison)

Upstream status: The lore patch v3 received Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> on June 23, 2026. The maintainer's review was for the full patch including EL2 DTBOs, not the reduced version in this PR.

Authorship note: The PR uses vudupa@qti.qualcomm.com (internal Qualcomm email) while the lore posting uses vishwas.udupa@oss.qualcomm.com (OSS email). For FROMLIST: commits, the submitter may differ from the lore author, but the original author's Signed-off-by: must be present. The PR commit has only Signed-off-by: Vishwas Udupa <vudupa@qti.qualcomm.com> — the lore author's Signed-off-by line with the OSS email is missing.


Commit 2/2: QCLINUX: arm64: dts: qcom: add camx dtbo overlays

Check Status Note
Lore link present N/A QCLINUX prefix — vendor-only, no lore link expected
Subject Appropriate for vendor-only change
Body Clear rationale for camx DTBO install targets
Authorship Consistent with commit 1

Verdict

Commit 1/2: ❌ FAIL — the PR diff does not match the lore v3 patch. The PR excludes EL2 DTBOs and 11 other .dtbo files that are present in the upstream lore patch. The commit message claims to exclude EL2 DTBOs "as they are not intended for independent use," but this rationale does not appear in the lore v3 patch or its review thread. The maintainer's Reviewed-by was given to the full patch including EL2 DTBOs, not this reduced version. Additionally, the lore author's Signed-off-by line with the OSS email is missing from the PR commit.

Commit 2/2: ✅ PASS — vendor-only QCLINUX commit, no lore validation applicable.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/
  2. Lore link matches PR commits: No — PR commit 1/2 excludes 12 .dtbo install lines (EL2 and others) present in lore v3; commit message rationale for exclusion does not match upstream discussion
  3. Upstream patch status: ✅ ACKed — Reviewed-by: Krzysztof Kozlowski on June 23, 2026 for the full patch including EL2 DTBOs
  4. PR present in qcom-next/topics: Yes — per integration_presence_report.md, both commits are present in qcom-next (note: qcom-next may contain an earlier or modified version; the integration report checks line-level presence, not semantic equivalence to lore)

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/2 [PATCH 1/2] FROMLIST: arm64: dts: qcom: install DT overlays via present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
2/2 [PATCH 2/2] QCLINUX: arm64: dts: qcom: add camx dtbo overlays present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 2/2
partial_commits: 0/2
missing_commits: 0/2
topics_checked_for_commits: 0/2
final_summary: PR present in qcom-next/topics: Yes - all 2 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #654 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: commit body line exceeds 75 chars
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No DTBs built
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 2 issues: content mismatch + author mismatch (commit 1), prefix not allowed (commit 2)
tag-check Both commits have valid prefixes (FROMLIST:, QCLINUX:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #654 - arm64: dts: qcom: install DT overlays via dtbs_install
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29853661101
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: commit body line exceeds 75 chars
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No DTBs built
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 2 issues: content mismatch + author mismatch (commit 1), prefix not allowed (commit 2)
tag-check Both commits have valid prefixes (FROMLIST:, QCLINUX:)

❌ checkpatch

Root cause: Commit body line exceeds 75 characters (commit message formatting).

Failure details:

Commit 94eedd671d14 ("FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install")
WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#19: 
independent use and are only meaningful in conjunction with their base DTBs.

94eedd671d14ef8d6bd26c213e59525bf80d918c total: 0 errors, 1 warnings, 0 checks, 76 lines checked

The commit body contains a line that exceeds the recommended 75-character limit for commit message body text.

Fix:

git rebase -i 3167b12384380f1463ccf3b42f83adcac5a3f754  # mark commit 94eedd671d14 as 'edit'
# Edit the commit message to wrap the long line at 75 chars
git commit --amend
# Wrap the line:
# "independent use and are only meaningful in conjunction with their base DTBs."
# to something like:
# "independent use and are only meaningful in conjunction with their base
# DTBs."
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 3167b12384380f1463ccf3b42f83adcac5a3f754..5b4cbe0e26f6751e91b3db797ca5272d1db040ec

❌ check-patch-compliance

Root cause: Commit 1 has content mismatch and author email mismatch with upstream lore link; Commit 2 uses QCLINUX: prefix which is not in the checker's allowed list.

Failure details:

Commit 1 (94eedd6):

Checking commit: FROMLIST: arm64: dts: qcom: install DT overlays via dtbs_install
Change is different from the one mentioned in Link
Author mismatch:
  Original author: Vishwas Udupa <vishwas.udupa@oss.qualcomm.com>
  Commit author : Vishwas Udupa <vudupa@qti.qualcomm.com>

Commit 2 (c2c7d5b):

Checking commit: QCLINUX: arm64: dts: qcom: add camx dtbo overlays
Commit summary does not start with a required prefix

Analysis:

Commit 1 issues:

  1. Content mismatch: The patch content differs from the upstream lore link (https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/). This could be due to:

    • Additional changes made after posting to lore
    • Context line differences (false positive)
    • Legitimate adaptations for the vendor tree
  2. Author mismatch: The commit author email is vudupa@qti.qualcomm.com but the upstream patch was authored by vishwas.udupa@oss.qualcomm.com. These are different email addresses for the same person.

Commit 2 issue:

  • The QCLINUX: prefix is not in the checker's allowed list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). This is a known limitation of the check-patch-compliance checker — it only accepts upstream-linkable prefixes and always fails for vendor-only commits with QCLINUX: or PENDING: prefixes.

Fix:

For Commit 1:

  1. Content mismatch: Fetch the upstream patch and compare:

    b4 am --single-message -C -l -3 https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/ -o /tmp/upstream
    git format-patch -1 94eedd671d14 --stdout > /tmp/pr-commit.patch
    # Compare the diff sections (ignoring context shifts):
    diff <(awk '/^diff/,/^--$/' /tmp/pr-commit.patch | grep -E '^[+-][^+-]') \
         <(awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]')
    • If the differences are only context shifts → false positive, no fix needed.
    • If there are legitimate adaptations → document them in the commit message.
    • If there are missing or extra hunks → align the patch with upstream.
  2. Author mismatch: Update the commit author to match the upstream:

    git rebase -i 3167b12384380f1463ccf3b42f83adcac5a3f754  # mark commit as 'edit'
    git commit --amend --author="Vishwas Udupa <vishwas.udupa@oss.qualcomm.com>"
    git rebase --continue

For Commit 2:

  • No fix possible — this is a vendor-only commit with no upstream equivalent. The QCLINUX: prefix is correct for vendor-only changes, but check-patch-compliance will always fail for it. This is a known checker limitation.
  • Alternative: If this commit was posted upstream (or will be), change the prefix to FROMLIST: and add a Link: trailer pointing to the lore URL.

Reproduce locally:

# For commit 1:
b4 am --single-message -C -l -3 https://lore.kernel.org/all/20260622055226.4085891-1-vishwas.udupa@oss.qualcomm.com/

# For commit 2:
# No reproduction needed — QCLINUX: prefix always fails check-patch-compliance

Verdict

3 blockers to fix before merge:

  1. checkpatch: Wrap the long commit body line in commit 94eedd6 to 75 chars.
  2. check-patch-compliance (commit 1): Fix author email mismatch (vudupa@qti.qualcomm.comvishwas.udupa@oss.qualcomm.com) and verify content matches upstream (or document adaptations).
  3. check-patch-compliance (commit 2): Known limitation — QCLINUX: prefix is not accepted by the checker. If this is truly vendor-only, the checker will always fail. Consider whether this commit should be posted upstream (→ FROMLIST:) or if the checker failure is acceptable for vendor-only changes.

Note: The QCLINUX: prefix failure is a known checker limitation for vendor-only commits. If commit 2 is genuinely vendor-specific with no upstream equivalent, this failure is expected and may be acceptable depending on project policy.

@sgaud-quic

Copy link
Copy Markdown
Contributor

vishwas udupa (@vishwasudupa) please rebase on tip

@sgaud-quic

Copy link
Copy Markdown
Contributor

Closing this as merged as part of : #1025

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.

5 participants