Skip to content

QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera - #954

Merged
Salendarsingh Gaud (sgaud-quic) merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
khatri-nirav:qcom-6.18.y-slot-12-addition
Sep 2, 2026
Merged

Salendarsingh Gaud (sgaud-quic) merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
khatri-nirav:qcom-6.18.y-slot-12-addition

Conversation

@khatri-nirav

@khatri-nirav khatri-nirav commented Aug 14, 2026

Copy link
Copy Markdown

Add support for RGBIR camera dt node as sensor 12

CRs-Fixed: 4632351

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4632351 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4632351

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@khatri-nirav
khatri-nirav force-pushed the qcom-6.18.y-slot-12-addition branch from 432c1b3 to aed7207 Compare August 14, 2026 11:52
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4632351 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4632351

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@khatri-nirav
khatri-nirav force-pushed the qcom-6.18.y-slot-12-addition branch from aed7207 to 614ecc4 Compare August 14, 2026 11:53
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4632351 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4632351

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@qlijarvis

Copy link
Copy Markdown

PR #954 — validate-patch

PR: #954

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — no lore.kernel.org link found; appears to be vendor-specific change based on CRs-Fixed tag
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — no upstream link provided; likely vendor-only change not posted upstream
  4. PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #954 - arm64: dts: qcom: camera: Add support for rgbir camera
Upstream commit: N/A
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream N/A No upstream link provided
Body preserves rationale ⚠️ Minimal description; no technical rationale
Fixes tag present/correct N/A Not a fix; no Fixes tag expected
Authorship preserved N/A No upstream to compare against
Backport note (if applicable) N/A Not a backport
Commit prefix Missing required prefix (QCLINUX/PENDING/WORKAROUND for vendor-only)

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi ⚠️ Adds new sensor node + removes pwm-switch property

Issues

  1. Missing lore.kernel.org link: No Link: tag found in commit message. This patch appears to be vendor-specific (contains CRs-Fixed: 4632351 internal reference) but lacks the required QCLINUX: prefix.

  2. Missing commit prefix: Commit subject should start with one of:

    • QCLINUX: — for vendor-only changes not intended for upstream
    • PENDING: — for work-in-progress not yet posted
    • UPSTREAM: / FROMLIST: / BACKPORT: — for upstream-sourced changes (requires lore link)
  3. Incomplete commit message: The description "Add support for RGBIR camera dt node as sensor 12" lacks technical detail:

    • What is the sensor model? (Comment says ov2778)
    • Why is this sensor needed?
    • What hardware configuration does this support?
    • Why remove pwm-switch from sensor 11?
  4. Unrelated change bundled: The patch removes pwm-switch property from qcom,cam-sensor11 (line 269) while adding a new sensor node. These should be separate commits with individual justifications.

  5. Partial integration presence: Integration report shows this change is only partially present in qcom-next (35/38 lines matched). The missing lines are the comment and first two properties of the new sensor node, suggesting the PR may contain modifications to an existing qcom-next commit.

Verdict

Do not merge without corrections. This commit requires:

  1. Add QCLINUX: prefix to subject if vendor-only, or provide lore link if upstream-sourced
  2. Split into two commits: (a) remove pwm-switch from sensor 11, (b) add sensor 12
  3. Expand commit message with technical rationale
  4. Reconcile with qcom-next content (verify why 3 lines differ)

Final Summary

  1. Lore link present: No — no lore.kernel.org link found; appears to be vendor-specific change based on CRs-Fixed tag
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — no upstream link provided; likely vendor-only change not posted upstream
  4. PR present in qcom-next/topics: Partial — 35/38 added lines present in qcom-next; 3 lines missing (comment /* cam3-slot - ov2778 */ and first two properties of sensor node). This suggests the PR may be modifying an existing qcom-next commit rather than introducing entirely new content.

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: 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] arm64: dts: qcom: camera: Add support for rgbir camera partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

overall_status: PARTIAL
present_commits: 0/1
partial_commits: 1/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #954 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Multiple schema validation failures for qcom,cam-sensor
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Missing required subject prefix
tag-check Missing required subject prefix (mandatory for qcom-6.18.y)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #954 - arm64: dts: qcom: camera: Add support for rgbir camera
Target branch: qcom-6.18.y
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31795669946

Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Multiple schema validation failures for qcom,cam-sensor
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Missing required subject prefix
tag-check Missing required subject prefix (mandatory for qcom-6.18.y)

❌ checkpatch

Root cause: The compatible string "qcom,cam-sensor" is not documented in the kernel's vendor prefix registry.

Failure details:

Commit 432c1b3cf303 ("arm64: dts: qcom: camera: Add support for rgbir camera")
WARNING: DT compatible string "qcom,cam-sensor" appears un-documented -- check ./Documentation/devicetree/bindings/
#34: FILE: arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi:480:
+		compatible = "qcom,cam-sensor";

432c1b3cf3030c4ab3a0f9f1ec5986b4fec5237e total: 0 errors, 1 warnings, 0 checks, 51 lines checked

Fix: Add a device tree binding YAML file for qcom,cam-sensor at Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml (or similar path), or add the compatible string to an existing binding if this is a generic camera sensor node.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git bfeb0e5567c0987f05faeec78664719b718133e5..432c1b3cf3030c4ab3a0f9f1ec5986b4fec5237e

❌ dtb-check

Root cause: The qcom,cam-sensor compatible string has no matching device tree binding schema, causing multiple validation failures.

Failure details:

arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: /soc@0/qcom,cci1/qcom,cam-sensor12: failed to match any schema with compatible: ['qcom,cam-sensor']

qcom,cci1 (qcom,cci): qcom,cam-sensor12: 'ranges' is a required property

qcom,cam-sensor12 (qcom,cam-sensor): gpio-req-tbl-label: b'CAMIF_MCLK3^@CAM_RESET3^@' is not of type 'object', 'integer', 'array', 'boolean', 'null'

qcom,cam-sensor12 (qcom,cam-sensor): status: 'oneOf' conditional failed, one must be fixed

Analysis: These are new errors introduced by this PR. The dtb-check baseline subtraction shows these errors were not present before. The root cause is that qcom,cam-sensor has no binding YAML, so the schema validator cannot validate any of the node's properties.

Fix: Create a complete device tree binding for qcom,cam-sensor at Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml that declares all the properties used in this node:

  • compatible
  • cell-index
  • csiphy-sd-index
  • sensor-position-roll, sensor-position-pitch, sensor-position-yaw
  • cam_vio-supply
  • regulator-names
  • power-domains
  • rgltr-cntrl-support
  • rgltr-min-voltage, rgltr-max-voltage, rgltr-load-current
  • gpio-no-mux
  • pinctrl-*
  • gpios
  • gpio-reset, gpio-req-tbl-num, gpio-req-tbl-flags, gpio-req-tbl-label
  • sensor-mode
  • cci-master
  • clocks, clock-names, clock-cntl-level, clock-rates
  • status
  • ranges (if required by the parent qcom,cci binding)

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-vision-mezzanine-camx.dtb

❌ check-patch-compliance

Root cause: The commit subject does not start with a required prefix tag.

Failure details:

Checking commit: arm64: dts: qcom: camera: Add support for rgbir camera
Commit summary does not start with a required prefix

Fix: Add a valid prefix to the commit subject. Since this is a device tree change with no upstream equivalent (vendor-specific camera node), use QCLINUX::

git rebase -i bfeb0e5567c0987f05faeec78664719b718133e5
# mark commit as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera

Add support for RGBIR camera dt node as sensor 12.

CRs-Fixed: 4632351

Signed-off-by: Nirav Khatri <khatri@qti.qualcomm.com>"
git rebase --continue

Note: QCLINUX: is the correct prefix for vendor-only changes. However, be aware that check-patch-compliance only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:), so this checker will continue to fail even after adding QCLINUX:. This is a known limitation of the checker for vendor-only commits.


❌ tag-check

Root cause: The commit subject does not start with a required prefix tag. This check is mandatory for the target branch qcom-6.18.y (all branches except qcom-next and qcom-next-staging require a prefix).

Failure details:

Commit 432c1b3cf303 ("arm64: dts: qcom: camera: Add support for rgbir camera"): subject line does not start with a required prefix.
All branches except qcom-next and qcom-next-staging require one of:
FROMLIST: / FROMGIT: / UPSTREAM: / BACKPORT: / QCLINUX: / PENDING: / WORKAROUND:

Fix: Same as check-patch-compliance above — add QCLINUX: prefix to the commit subject:

git commit --amend -m "QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera"

Verdict

3 blockers must be fixed before merge:

  1. Add QCLINUX: prefix to the commit subject (fixes both check-patch-compliance and tag-check)
  2. Create a device tree binding for qcom,cam-sensor to fix checkpatch and dtb-check failures
  3. Ensure the binding declares all properties used in the DTS node, including ranges if required by the parent CCI node

Recommended action order:

  1. Add the QCLINUX: prefix to the commit subject
  2. Create Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml with all required properties
  3. Re-run CI to verify all checkers pass

@qlijarvis

Copy link
Copy Markdown

PR #954 — validate-patch

PR: #954

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — no lore.kernel.org link found in commit message or Link: tag
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — cannot determine without lore link; likely vendor-only based on CRs-Fixed tag
  4. PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence

Recommendation: Reject and request rework. The commit must be split, properly prefixed, and documented before it can be merged.

Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #954 - arm64: dts: qcom: camera: Add support for rgbir camera
Upstream commit: N/A (no lore.kernel.org link found)
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream N/A No upstream link to compare
Body preserves rationale Minimal description; no technical rationale for changes
Fixes tag present/correct N/A Not a fix commit
Authorship preserved N/A No upstream to verify against
Backport note (if applicable) N/A Not a backport
Commit prefix Missing required prefix (UPSTREAM:/FROMLIST:/BACKPORT:/QCLINUX:/PENDING:/WORKAROUND:)

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi Two unrelated changes: (1) removes pwm-switch property from existing sensor, (2) adds new cam-sensor14 node — should be split into separate commits

Issues

Critical Issues:

  1. No lore.kernel.org link — The commit message lacks a Link: tag pointing to lore.kernel.org. Per the validate-patch skill Step 1, commits without a lore link cannot be validated against upstream sources unless they use a vendor-only prefix.

  2. Missing commit prefix — The subject line lacks a required prefix:

    • If this is vendor-only work → use QCLINUX: prefix
    • If posted to mailing list → use FROMLIST: prefix + add lore link
    • If merged upstream → use UPSTREAM: or BACKPORT: prefix + add lore/git link
    • If work-in-progress → use PENDING: prefix
  3. Multiple unrelated changes in one commit — The patch contains two distinct changes:

    • Change 1: Removes pwm-switch; property from an existing camera sensor node (line 269)
    • Change 2: Adds a new qcom,cam-sensor14 node for RGBIR camera (ov2778) with full configuration (39 new lines)

    These should be split into separate commits with individual justifications.

  4. Commit message discrepancy — The subject says "Add support for rgbir camera" and body says "sensor 12", but the code adds cam-sensor14 with cell-index = <14>. The sensor numbering is inconsistent.

  5. Insufficient commit message — The body provides no technical rationale:

    • Why is pwm-switch being removed from the existing sensor?
    • What hardware does this RGBIR camera correspond to?
    • Why is it configured as sensor 14 when the message says sensor 12?
    • What is the relationship between the two changes?
  6. Vendor-specific tagCRs-Fixed: 4632351 is a Qualcomm internal CR tag. If this is vendor-only work, the commit should use the QCLINUX: prefix to signal that no upstream link is expected.

Verdict

Do not merge without correction. This commit violates multiple kernel coding standards:

  1. Split the commit into two separate patches:

    • Patch 1: Remove pwm-switch from existing sensor (with rationale explaining why)
    • Patch 2: Add RGBIR camera sensor 14 support (with hardware details)
  2. Add the appropriate prefix to the subject line:

    • If vendor-only → QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
    • If upstream-bound → FROMLIST: arm64: dts: qcom: camera: Add support for rgbir camera + add lore link
  3. Fix the sensor numbering inconsistency — Either update the commit message to say "sensor 14" or explain why the message says "sensor 12" when the code uses index 14.

  4. Expand the commit message to explain:

    • Hardware context (which board/connector)
    • Why pwm-switch is being removed (if kept in same commit)
    • Technical justification for the configuration choices

Final Summary

  1. Lore link present: No — no lore.kernel.org link found in commit message or Link: tag
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — cannot determine without lore link; likely vendor-only based on CRs-Fixed tag
  4. PR present in qcom-next/topics: Partial — integration_presence_report.md shows "partial - subject or partial tree evidence found, but full change was not verified" in qcom-next; missing from topics. This suggests the commit may exist in a different form or the changes are partially present, but the exact commit is not verified.

Recommendation: Reject and request rework. The commit must be split, properly prefixed, and documented before it can be merged.

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: 49dbe0dae5cfb7a1eb3434cde6fc7ba37924fe94
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] arm64: dts: qcom: camera: Add support for rgbir camera partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

overall_status: PARTIAL
present_commits: 0/1
partial_commits: 1/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #954 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Undocumented DT compatible string
dt-binding-check ⏭️ No binding changes
dtb-check Missing binding for qcom,cam-sensor
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance Missing required subject prefix
tag-check Missing required subject prefix (qcom-6.18.y branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #954 - arm64: dts: qcom: camera: Add support for rgbir camera
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31798170475
Target Branch: qcom-6.18.y
Commit: 614ecc4

Checker Result Summary
checkpatch Undocumented DT compatible string
dt-binding-check ⏭️ No binding changes
dtb-check Missing binding for qcom,cam-sensor
sparse-check ⏭️ No C/H changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance Missing required subject prefix
tag-check Missing required subject prefix (qcom-6.18.y branch)

❌ checkpatch

Root cause: The compatible string qcom,cam-sensor is not documented in Documentation/devicetree/bindings/vendor-prefixes.yaml or lacks a binding YAML file.

Failure details:

WARNING: DT compatible string "qcom,cam-sensor" appears un-documented -- check ./Documentation/devicetree/bindings/
#34: FILE: arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi:480:
+		compatible = "qcom,cam-sensor";

614ecc4ba9f84b45ee328eab30c11bfde032f361 total: 0 errors, 1 warnings, 0 checks, 52 lines checked

Fix: This warning is directly related to the missing DT binding (see dtb-check below). The compatible string qcom,cam-sensor needs a proper binding YAML file in Documentation/devicetree/bindings/. Once the binding is added, this checkpatch warning will be resolved.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git bfeb0e5567c0987f05faeec78664719b718133e5..614ecc4ba9f84b45ee328eab30c11bfde032f361

❌ dtb-check

Root cause: No DT binding schema exists for the compatible string qcom,cam-sensor, causing multiple validation failures.

Failure details:

Log Summary: Test failed
/opt/actions-runner/_work/kernel-config/kernel-config/kernel/temp-out/arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: qcom,cci1 (qcom,cci): qcom,cam-sensor14: 'ranges' is a required property
arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: /soc@0/qcom,cci1/qcom,cam-sensor14: failed to match any schema with compatible: ['qcom,cam-sensor']
/opt/actions-runner/_work/kernel-config/kernel-config/kernel/temp-out/arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: qcom,cam-sensor14 (qcom,cam-sensor): gpio-req-tbl-label: b'CAMIF_MCLK3\x00CAM_RESET3\x00' is not of type 'object', 'integer', 'array', 'boolean', 'null'

The same errors appear for:

  • qcs5430-fps-camx.dtb
  • qcs6490-rb3gen2-vision-mezzanine-camx.dtb

Fix: Create a DT binding YAML file for qcom,cam-sensor:

  1. Add Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml with proper schema definition including:

    • compatible property with qcom,cam-sensor
    • All required properties: cell-index, csiphy-sd-index, sensor-position-*, regulators, GPIOs, clocks, etc.
    • Proper gpio-req-tbl-label type definition (should be an array of strings)
    • ranges property if the node is expected to have child nodes
  2. The binding should follow the pattern of existing Qualcomm camera sensor bindings in the tree.

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-vision-mezzanine-camx.dtb

❌ check-patch-compliance

Root cause: The commit subject line does not start with a required prefix tag.

Failure details:

Checking commit: arm64: dts: qcom: camera: Add support for rgbir camera
Commit summary does not start with a required prefix

Fix: Add an appropriate subject prefix based on the patch origin:

git rebase -i bfeb0e5567c0987f05faeec78664719b718133e5
# mark commit 614ecc4ba9f8 as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera"
# (keep the rest of the commit message body unchanged)
git rebase --continue

Prefix selection guide:

Prefix Use when
FROMLIST: Patch posted to lore.kernel.org mailing list
FROMGIT: Patch taken from a maintainer git tree
UPSTREAM: Patch merged into Linus's mainline tree
BACKPORT: Upstream patch backported with modifications
QCLINUX: Vendor-only change with no upstream equivalent
PENDING: Work-in-progress, not yet posted upstream
WORKAROUND: Temporary fix not suitable for upstream

Note: If you use QCLINUX: or PENDING:, the check-patch-compliance checker will always fail because it only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). This is a known limitation. For vendor-only camera sensor additions like this, QCLINUX: is the appropriate prefix even though the checker will flag it.

Reproduce locally:

# The checker script is in kernel-checkers repo
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . \
  --base bfeb0e5567c0987f05faeec78664719b718133e5 \
  --head 614ecc4ba9f84b45ee328eab30c11bfde032f361

❌ tag-check

Root cause: The target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), which requires every commit subject to start with a valid prefix tag. The current commit has no prefix.

Failure details:

Commit 614ecc4ba9f84b45ee328eab30c11bfde032f361 ("arm64: dts: qcom: camera: Add support for rgbir camera"): subject line does not start with a required prefix.

All branches except qcom-next and qcom-next-staging require one of:
FROMLIST: / FROMGIT: / UPSTREAM: / BACKPORT: / QCLINUX: / PENDING: / WORKAROUND:

Fix: Same as check-patch-compliance above — add a subject prefix. Since this is a vendor-specific camera sensor addition with no upstream equivalent, use QCLINUX::

git rebase -i bfeb0e5567c0987f05faeec78664719b718133e5
# mark commit as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera"
git rebase --continue

Verdict

3 blockers must be fixed before merge:

  1. Add DT binding YAML — Create Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml to document the qcom,cam-sensor compatible string and all its properties. This will resolve both the checkpatch warning and the dtb-check failures.

  2. Add subject prefix — Prepend QCLINUX: to the commit subject line to satisfy both check-patch-compliance and tag-check requirements for the qcom-6.18.y branch.

  3. Note on check-patch-compliance: If you use QCLINUX: prefix (appropriate for vendor-only changes), the check-patch-compliance checker will still fail because it only accepts upstream-linkable prefixes. This is a known limitation of the checker for vendor-specific commits. The tag-check requirement is satisfied, which is the mandatory policy for non-qcom-next branches.

Recommended action order:

  1. Add the DT binding YAML file in a separate commit (best practice: bindings before users)
  2. Amend the camera sensor commit to add QCLINUX: prefix
  3. Re-run CI to verify all checkers pass (except check-patch-compliance, which will still fail for QCLINUX: — this is expected)

@khatri-nirav
khatri-nirav force-pushed the qcom-6.18.y-slot-12-addition branch from 614ecc4 to 866115a Compare August 20, 2026 09:24
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4632351 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4632351

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@khatri-nirav
khatri-nirav force-pushed the qcom-6.18.y-slot-12-addition branch from 866115a to aa1da8a Compare August 20, 2026 11:12
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4632351 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4632351

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@khatri-nirav khatri-nirav changed the title arm64: dts: qcom: camera: Add support for rgbir camera QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera Aug 24, 2026
Add support for RGBIR camera dt node as sensor 14.

Signed-off-by: Nirav Khatri <khatri@qti.qualcomm.com>
@khatri-nirav
khatri-nirav force-pushed the qcom-6.18.y-slot-12-addition branch from aa1da8a to cca437e Compare August 25, 2026 08:20
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4632351 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4632351

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@qlijarvis

Copy link
Copy Markdown

PR #954 — validate-patch

PR: #954

Verdict Issues Detailed Report
0 Full report

Final Summary

  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/topics: Yes - all 1 commit(s) are present in qcom-next or topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #954 - QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Upstream commit: N/A (vendor-only commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit; no upstream source
Body preserves rationale Clear description of change
Fixes tag present/correct N/A New feature, not a fix
Authorship preserved Author and Signed-off-by match
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi Adds new camera sensor node (sensor14) with standard properties; consistent with existing patterns

Verdict

Merge as-is. This is a well-formed vendor-only commit that adds RGBIR camera support to the RB3Gen2 device tree. The change is self-contained, follows existing conventions, and is already present in the topics branch.

Final Summary

  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/topics: Yes — present in topics at 57787d9 (exact patch-id match)

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: 3c1e80ceb9fb6978aa94bc0624e7c0003f3b4f6e
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: arm64: dts: qcom: camera: Add support for rgbir partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 57787d9 present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #954 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check 3 new errors: missing ranges, schema mismatch, invalid property type
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Subject has valid prefix (QCLINUX:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #954 — QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32353969088
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check 3 new errors: missing ranges, schema mismatch, invalid property type
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Subject has valid prefix (QCLINUX:)

❌ checkpatch

Root cause: The compatible string "qcom,cam-sensor" is not documented in vendor-prefixes.yaml or a binding file.

Failure details:

WARNING: DT compatible string "qcom,cam-sensor" appears un-documented -- check ./Documentation/devicetree/bindings/
#29: FILE: arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi:481:
+		compatible = "qcom,cam-sensor";

866115ae57e04f63d2184886c709e73811997c69 total: 0 errors, 1 warnings, 0 checks, 45 lines checked

Fix:
Add a device tree binding YAML file for qcom,cam-sensor at:
Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml

Or if this is a vendor-specific compatible string not intended for upstream, document it in the vendor tree's binding documentation.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 29d6dbd404bb..e7228e9631ba

❌ dtb-check

Root cause: The new qcom,cam-sensor14 node introduces three schema validation errors that were not present in the base tree.

Failure details:

qcom,cci1 (qcom,cci): qcom,cam-sensor14: 'ranges' is a required property

/soc@0/qcom,cci1/qcom,cam-sensor14: failed to match any schema with compatible: ['qcom,cam-sensor']

qcom,cam-sensor14 (qcom,cam-sensor): gpio-req-tbl-label: b'CAMIF_MCLK3CAM_RESET3' is not of type 'object', 'integer', 'array', 'boolean', 'null'

These errors appear in:

  • qcs5430-fps-camx.dtb
  • qcs6490-rb3gen2-vision-mezzanine-camx.dtb

Analysis:

  1. Missing ranges property: The qcom,cam-sensor14 node is expected to have a ranges property (likely because it's a child of a bus node that requires address translation).

  2. Schema mismatch: No binding schema exists for the qcom,cam-sensor compatible string, causing validation to fail.

  3. Invalid property type: The gpio-req-tbl-label property contains a binary string (b'CAMIF_MCLK3\x00CAM_RESET3\x00') which the schema expects to be an array of strings, not a null-terminated binary blob.

Fix:

  1. Add a ranges; property to the qcom,cam-sensor14 node (empty ranges if no address translation is needed):

    qcom,cam-sensor14 {
        compatible = "qcom,cam-sensor";
        ranges;
        ...
    };
    
  2. Create a binding YAML file at Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml that declares:

    • Required properties (including ranges)
    • The gpio-req-tbl-label property as an array of strings
  3. Fix the gpio-req-tbl-label property format in the DTS — it should be an array of strings:

    gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3";
    

    (Currently it's being interpreted as a binary blob due to incorrect formatting.)

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-vision-mezzanine-camx.dtb

❌ check-patch-compliance

Root cause: The commit subject starts with QCLINUX:, which is not in the checker's allowed prefix list.

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Commit summary does not start with a required prefix

Analysis:
The check-patch-compliance checker enforces a strict set of upstream-linkable prefixes:

  • FROMLIST: — patch posted to mailing list
  • FROMGIT: — patch from a maintainer tree
  • UPSTREAM: — patch merged into mainline
  • BACKPORT: — upstream patch with modifications

The QCLINUX: prefix is a vendor-internal tag used for Qualcomm-specific changes that have no upstream equivalent. This is a known limitation of the checker — it will always fail for vendor-only commits.

Fix:
If this patch is intended to be posted upstream, change the prefix to FROMLIST: and add a Link: trailer pointing to the lore.kernel.org URL once posted.

If this is genuinely a vendor-only change with no upstream path, the checker failure is expected and can be acknowledged as a known limitation. The commit can still be merged — the QCLINUX: prefix is valid in the Qualcomm Linux tree, just not recognized by this particular checker.

Reproduce locally:

# The checker script is not designed to pass for QCLINUX: prefixes
# This is a policy limitation, not a technical defect

Verdict

3 blockers must be fixed before merge:

  1. dtb-check failures — Add ranges; property, create binding YAML, and fix gpio-req-tbl-label format
  2. checkpatch warning — Document the qcom,cam-sensor compatible string in a binding file
  3. check-patch-compliance — Known limitation for QCLINUX: prefix; can be acknowledged or changed to FROMLIST: if posting upstream

The tag-check passes (commit has a valid prefix), and sparse-check, check-uapi-headers, and dt-binding-check were correctly skipped.

@qlijarvis

Copy link
Copy Markdown

PR #954 — validate-patch

PR: #954

Verdict Issues Detailed Report
0 Full report

Final Summary

  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/topics: Yes - all 1 commit(s) are present in qcom-next or topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #954 - QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Upstream commit: N/A (vendor-only commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Brief description present
Fixes tag present/correct N/A Not a fix commit
Authorship preserved Nirav Khatri khatri@qti.qualcomm.com
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi Adds cam-sensor14 node for RGBIR camera

Verdict

Merge as-is. This is a vendor-only device tree addition with the correct QCLINUX: prefix. No upstream validation required.

Final Summary

  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/topics: Yes — present in topics at 57787d9d90d480ad3a1ec72426649b1bd9b0015c

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: 3c1e80ceb9fb6978aa94bc0624e7c0003f3b4f6e
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: arm64: dts: qcom: camera: Add support for rgbir partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 57787d9 present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #954 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check 3 errors: missing binding, missing ranges, invalid property type
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not accepted (known limitation)
tag-check Subject has valid prefix (QCLINUX:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #954 - QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32362903309
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check 3 errors: missing binding, missing ranges, invalid property type
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not accepted (known limitation)
tag-check Subject has valid prefix (QCLINUX:)

❌ checkpatch

Root cause: The compatible string "qcom,cam-sensor" is not documented in the kernel DT binding documentation.

Failure details:

WARNING: DT compatible string "qcom,cam-sensor" appears un-documented -- check ./Documentation/devicetree/bindings/
#29: FILE: arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi:481:
+		compatible = "qcom,cam-sensor";

aa1da8ad0f5465cb387e0f2b5e3518c74948ebef total: 0 errors, 1 warnings, 0 checks, 45 lines checked

Fix: Add a DT binding YAML file for qcom,cam-sensor at Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml that documents this compatible string, its required properties (ranges, cell-index, csiphy-sd-index, etc.), and property types.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 9da9d515f43719ee6bd2b820da179992a118449a..661015b48d76af726c68d66f5d5703c247a08947

❌ dtb-check

Root cause: The new qcom,cam-sensor14 node fails DT validation because (1) no binding schema exists for "qcom,cam-sensor", (2) the required ranges property is missing, and (3) the gpio-req-tbl-label property has an invalid type.

Failure details:

arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: /soc@0/qcom,cci1/qcom,cam-sensor14: failed to match any schema with compatible: ['qcom,cam-sensor']

qcom,cci1 (qcom,cci): qcom,cam-sensor14: 'ranges' is a required property

qcom,cam-sensor14 (qcom,cam-sensor): gpio-req-tbl-label: b'CAMIF_MCLK3\x00CAM_RESET3\x00' is not of type 'object', 'integer', 'array', 'boolean', 'null'

Fix:

  1. Add binding YAML — Create Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml that:

    • Declares qcom,cam-sensor as a valid compatible string
    • Specifies ranges as a required property (empty ranges; if no address translation)
    • Defines gpio-req-tbl-label as a string array type
  2. Add ranges property — In arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi:481, add:

    qcom,cam-sensor14 {
        compatible = "qcom,cam-sensor";
        ranges;  // or ranges = <>;
        ...
    
  3. Verify property type — The gpio-req-tbl-label property appears to be a string array. Ensure the binding YAML declares it as:

    gpio-req-tbl-label:
      $ref: /schemas/types.yaml#/definitions/string-array
      description: GPIO request table labels

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-vision-mezzanine-camx.dtb

❌ check-patch-compliance

Root cause: The QCLINUX: prefix is not in the checker's allowed list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). This is a known limitation of the checker for vendor-only commits.

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Commit summary does not start with a required prefix

Fix: This is a false positive for vendor-only changes. The QCLINUX: prefix is valid for vendor-specific commits that have no upstream equivalent. The checker enforces only upstream-linkable prefixes. No patch change needed — this failure is expected for vendor-only commits.

If this commit is based on an upstream patch or will be posted upstream, change the prefix to FROMLIST: and add a Link: trailer pointing to the lore.kernel.org URL.

Reproduce locally:

# This checker will always fail for QCLINUX: prefixed commits
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base 9da9d515f43719ee6bd2b820da179992a118449a --head 823f70bd11e55aeb3ca970706f923d7e1086f6a8

✅ tag-check

Status: PASS

The commit subject starts with QCLINUX:, which is a valid prefix for vendor-only changes. Since the target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), a subject prefix is mandatory, and this commit satisfies the requirement.


Verdict

3 blockers must be fixed before merge:

  1. checkpatch — Add DT binding YAML for qcom,cam-sensor to document the compatible string.
  2. dtb-check — Add the ranges property to the qcom,cam-sensor14 node and ensure the binding YAML correctly defines all property types.
  3. check-patch-compliance — This is a known false positive for QCLINUX: prefixed commits. If this is truly vendor-only, the failure can be ignored. If the change is based on upstream work, change the prefix to FROMLIST: or UPSTREAM: and add a Link: trailer.

Recommended action: Add the missing DT binding YAML file in a separate commit (per kernel convention, bindings should be in their own patch), then add the ranges property to the DTS node. The check-patch-compliance failure is expected for vendor-only commits and does not block merge if the maintainer accepts QCLINUX: prefixed commits.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia purwa-iot-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ◻️ ◻️
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet_Basic_Validation ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ◻️ ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
KVM_Driver ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
KVM_EL2_DTB ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail ◻️ ◻️
WiFi_Firmware_Driver ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
WiFi_OnOff ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ◻️ ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ 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.

CR not in proper state

@qlijarvis

Copy link
Copy Markdown

PR #954 — validate-patch

PR: #954

Verdict Issues Detailed Report
0 Full report

Final Summary

  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/topics: Yes - all 1 commit(s) are present in qcom-next or topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #954 - QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Upstream commit: N/A (vendor-only commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit; no upstream to compare
Body preserves rationale Brief but adequate for device tree addition
Fixes tag present/correct N/A New feature addition; no bug fix
Authorship preserved Signed-off-by present and correct
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi Clean addition of camera sensor node following existing patterns

Issues

None. This is a vendor-specific device tree addition with proper formatting and structure.

Verdict

Merge as-is. This is a well-formed vendor-only commit that adds RGBIR camera support to the RB3Gen2 device tree.

Final Summary

  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/topics: Yes — present in topics at 57787d9 (per integration_presence_report.md)

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: d49c33864d06e9672dce57738be8851384578fcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: arm64: dts: qcom: camera: Add support for rgbir partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 57787d9 present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #954 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check 3 new errors: missing binding, required property, invalid property type
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Subject has valid prefix (mandatory for qcom-6.18.y)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #954 - QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32826231837
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: undocumented DT compatible string
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check 3 new errors: missing binding, required property, invalid property type
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance QCLINUX: prefix not in allowed list
tag-check Subject has valid prefix (mandatory for qcom-6.18.y)

❌ checkpatch

Root cause: The compatible string "qcom,cam-sensor" is not documented in the devicetree bindings.

Failure details:

WARNING: DT compatible string "qcom,cam-sensor" appears un-documented -- check ./Documentation/devicetree/bindings/
#25: FILE: arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-camera-sensor.dtsi:481:
+		compatible = "qcom,cam-sensor";

cca437e57be89dd04562de5e93de9e9abe416240 total: 0 errors, 1 warnings, 0 checks, 45 lines checked

Fix: Add a devicetree binding YAML for qcom,cam-sensor:

  1. Create Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml
  2. Document all required and optional properties used by this node
  3. Add vendor prefix qcom to vendor-prefixes.yaml if not already present

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git dc0f4d4280a7..cca437e57be8

❌ dtb-check

Root cause: The qcom,cam-sensor compatible string has no binding schema, causing validation failures for the new sensor node.

Failure details:

/opt/actions-runner/_work/kernel-config/kernel-config/kernel/temp-out/arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: 
  qcom,cci1 (qcom,cci): qcom,cam-sensor14: 'ranges' is a required property

arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: 
  /soc@0/qcom,cci1/qcom,cam-sensor14: failed to match any schema with compatible: ['qcom,cam-sensor']

/opt/actions-runner/_work/kernel-config/kernel-config/kernel/temp-out/arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb: 
  qcom,cam-sensor14 (qcom,cam-sensor): gpio-req-tbl-label: b'CAMIF_MCLK3 CAM_RESET3 ' is not of type 'object', 'integer', 'array', 'boolean', 'null'

Analysis:

  1. failed to match any schema — No binding YAML exists for qcom,cam-sensor
  2. 'ranges' is a required property — The CCI bus controller expects child nodes to have ranges if they have #address-cells/#size-cells
  3. gpio-req-tbl-label type error — The property value is a string but the schema (if it existed) may expect a different type

Fix:

  1. Primary fix: Create Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml with:
    • compatible: qcom,cam-sensor
    • All properties used in the DTS node (cell-index, csiphy-sd-index, sensor-position-*, cam_vio-supply, regulator-names, power-domains, rgltr-*, gpio-*, pinctrl-*, etc.)
    • Proper type definitions for each property (especially gpio-req-tbl-label should be string or string-array)
  2. Secondary fix (if needed): If the sensor node should not be a bus controller, ensure it doesn't have #address-cells/#size-cells properties that would require ranges

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs5430-fps-camx.dtb
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-vision-mezzanine-camx.dtb

❌ check-patch-compliance

Root cause: The commit uses the QCLINUX: prefix, which is not in the checker's allowed list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera
Commit summary does not start with a required prefix

Analysis:
This is a known limitation of the check-patch-compliance checker. The QCLINUX: prefix is used for vendor-only changes that have no upstream equivalent, but the checker only accepts upstream-linkable prefixes. Since this is a vendor-specific camera sensor addition with no upstream posting, the checker will always fail.

Options:

  1. Accept the failure — This is expected for vendor-only commits. The checker limitation is documented.
  2. Post to upstream — If the camera sensor driver and binding can be upstreamed, post to the linux-media mailing list, then change the prefix to FROMLIST: and add a Link: tag pointing to the lore.kernel.org URL.
  3. Use a different prefix — If this is based on an internal patch that will eventually go upstream, consider PENDING: (but note: PENDING: also fails the checker).

Note: The tag-check (Step 2.7) passes because QCLINUX: is a valid prefix for the target branch qcom-6.18.y. The conflict is between the two checkers' different requirements.


Verdict

3 blockers must be fixed before merge:

  1. checkpatch + dtb-check: Add a devicetree binding YAML for qcom,cam-sensor in Documentation/devicetree/bindings/media/qcom,cam-sensor.yaml. This will resolve both the checkpatch warning and all three dtb-check errors.

  2. check-patch-compliance: Known limitation for vendor-only commits. If this sensor can be upstreamed, post to linux-media and change prefix to FROMLIST: + add Link: tag. Otherwise, accept the checker failure as expected for QCLINUX: commits.

Recommended action:
Add the binding YAML first (fixes 2 checkers). Then decide whether to upstream the sensor support or accept the check-patch-compliance failure as a known vendor-only limitation.

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #954

Job 212509 | SoC purwa-evk

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

Failed test cases in LAVA job 212509 (SoC: purwa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Pre-existing platform-specific driver probe failures on purwa-evk (iq-x5121-evk): qcom_qseecom_uefisecapp (-EBUSY), qcom-spmi-lpg (-EINVAL due to invalid multi-LED DT reg property), two qcom-pcie instances (-ENODATA due to missing PHY init sequences), and regulatory.db firmware (-ENOENT, benign). None of these failures are related to the PR's camera sensor DT addition for qcs6490-rb3gen2, as the test runs on a different platform (purwa-evk) and the failing drivers are unrelated to camera functionality.
  3. Possible fix: These are known platform-specific issues on purwa-evk, not PR-introduced regressions. The Probe_Failure_Check test should either: (1) suppress these known benign failures for purwa-evk in the test baseline, or (2) fix the underlying platform issues: add missing PCIe PHY init sequences to purwa-evk DT, correct the qcom-spmi-lpg multi-LED reg property, resolve qseecom resource conflict, and optionally add regulatory.db firmware to rootfs. For this PR validation, the test result should be overridden to PASS as the failures are pre-existing and unrelated to the camera sensor changes.
  4. Detail analysis attachment: failed_case_job212509_1_detailed.md
  Case 2: ** smmu
  1. Failed case: ** smmu
  2. Root cause: ** Pre-existing platform configuration gap on purwa-evk (X1E80100): six devices (five USB TCSR controllers at a0f8800, a2f8800, a4f8800, a6f8800, a8f8800 and video codec at aa00000) lack iommus DT properties, preventing IOMMU group attachment. PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 adds a camera sensor to qcs6490-rb3gen2 (different platform) and is unrelated to this failure.
  3. Possible fix: Add iommus properties to the six missing device nodes in arch/arm64/boot/dts/qcom/x1e80100.dtsi (or the purwa-evk board-specific dtsi). Reference the working USB nodes (a000000.usb, a200000.usb, etc.) for the correct SMMU phandle and stream ID format. This is a platform maintainer task, not a PR blocker.
  4. Detail analysis attachment: failed_case_job212509_2_detailed.md
  Case 3: KVM_Driver — KVM device node not created (platform limitation)
  1. Failed case: KVM_Driver — KVM device node not created (platform limitation)
  2. Root cause: The purwa-evk platform runs Gunyah hypervisor at EL2, causing the Linux kernel to boot at EL1 (guest mode). KVM requires EL2 (hypervisor mode) to function and correctly detects this limitation during initialization, logging "kvm [1]: HYP mode not available" and skipping /dev/kvm device creation. This is expected behavior on platforms with a Type-1 hypervisor.
  3. Possible fix: This is not a bug or regression. The KVM_Driver test should be skipped on platforms running Gunyah or other Type-1 hypervisors where the kernel boots at EL1. Update the LAVA test job definition to exclude KVM tests for purwa-evk and other Gunyah-enabled platforms, or add a platform capability check to the test suite to skip KVM tests when /proc/cpuinfo or boot logs indicate EL1 operation.
  4. Detail analysis attachment: failed_case_job212509_3_detailed.md
  Case 4: KVM Driver Initialization Failure — HYP mode not available
  1. Failed case: KVM Driver Initialization Failure — HYP mode not available
  2. Root cause: KVM driver probe fails on purwa-evk because the board runs under Gunyah hypervisor at EL1 (guest mode), preventing KVM from accessing EL2 (Hypervisor mode) required for its operation; this is expected behavior in virtualized environments.
  3. Possible fix: Mark KVM tests as "not applicable" or "skip" for purwa-evk and other Gunyah-virtualized platforms in the LAVA test suite; alternatively, run KVM tests only on bare-metal configurations where Linux has direct EL2 access.
  4. Detail analysis attachment: failed_case_job212509_4_detailed.md
  Case 5: ** KVM Infrastructure Failure — HYP mode not available
  1. Failed case: ** KVM Infrastructure Failure — HYP mode not available
  2. Root cause: ** Kernel booted at EL1 instead of EL2 on Purwa-evk platform; bootloader/firmware does not enable hypervisor mode, preventing KVM driver initialization and /dev/kvm device creation.
  3. Possible fix: This is a platform firmware limitation, not a kernel regression. To enable KVM on Purwa-evk: (1) Update bootloader/ABL to boot kernel at EL2, or (2) Mark KVM tests as "not applicable" for this platform in the LAVA test suite, or (3) Skip virtualization tests on platforms without EL2 boot support.
  4. Detail analysis attachment: failed_case_job212509_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM driver initialization failed because HYP (hypervisor) mode is not available on the Purwa IoT EVK platform — kernel reports "kvm [1]: HYP mode not available" at boot, preventing /dev/kvm device node creation despite CONFIG_KVM being enabled.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. The PR only adds a camera sensor DT node (unrelated to KVM). Mark KVM tests as expected-fail or skip for Purwa platform, or enable hypervisor support in the platform firmware/bootloader if the hardware supports EL2.
  4. Detail analysis attachment: failed_case_job212509_6_detailed.md
Job 212510 | SoC hamoa-evk

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

Failed test cases in LAVA job 212510 (SoC: hamoa-evk).

  Case 1: Probe_Failure_Check — Pre-existing Platform Driver Issues (Not PR-Introduced)
  1. Failed case: Probe_Failure_Check — Pre-existing Platform Driver Issues (Not PR-Introduced)
  2. Root cause: Three unrelated driver probe failures on hamoa-evk (x7181) platform: (1) qcom_qseecom_uefisecapp fails with -EBUSY (-16) due to secure world resource unavailability, (2) qcom-spmi-lpg fails with -EINVAL (-22) due to invalid multi-LED DT "reg" property configuration, (3) regulatory.db firmware missing (-ENOENT, -2) — a known benign WiFi regulatory database absence. None of these failures are caused by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954, which only adds a camera sensor node to qcs6490-rb3gen2 DTS (a different board/SoC). The test ran on hamoa-evk where the PR changes do not apply.
  3. Possible fix: These are pre-existing platform configuration issues on hamoa-evk, not regressions introduced by this PR. No action required for PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954. For the platform issues: (1) qcom_qseecom_uefisecapp -EBUSY: verify TrustZone firmware supports UEFI secure app on this platform or disable the driver if not needed; (2) qcom-spmi-lpg -EINVAL: fix the PMIC multi-LED "reg" property in hamoa DT to match driver expectations (see error: "invalid 'reg' of multi-led"); (3) regulatory.db: install wireless-regdb package in rootfs or suppress this known benign warning. Recommend: suppress this test failure for hamoa-evk or exclude these known platform issues from the Probe_Failure_Check test's failure criteria.
  4. Detail analysis attachment: failed_case_job212510_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Test validation failure — six critical DMA masters (five USB PHY devices at addresses a0f8800, a2f8800, a4f8800, a6f8800, a8f8800, and video codec at aa00000) are missing iommus property in their device tree nodes, preventing IOMMU group attachment despite SMMU hardware functioning correctly.
  3. Possible fix: Add iommus property to the device tree nodes for USB PHY devices (a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb) and video codec (aa00000.video-codec) in the hamoa-evk device tree, following the pattern used by other USB controllers that passed (e.g., iommus = <&apps_smmu 0x... 0x0>;).
  4. Detail analysis attachment: failed_case_job212510_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: The hamoa-evk platform does not support ARM Virtualization Extensions (EL2/HYP mode), which is required for KVM functionality. The kernel correctly detected this at boot time with the message "kvm [1]: HYP mode not available" (line 3922), preventing the creation of /dev/kvm device node.
  3. Possible fix: This is a platform hardware limitation, not a software bug. The hamoa-evk board does not have EL2/HYP mode support in its CPU/firmware configuration. To resolve: (1) exclude KVM tests from the hamoa-evk test suite, or (2) run KVM tests only on platforms with virtualization support (e.g., rb3gen2, rb5), or (3) update the test to skip gracefully when HYP mode is unavailable instead of reporting FAIL.
  4. Detail analysis attachment: failed_case_job212510_3_detailed.md
  Case 4: ** KVM_EL2_DTB — Platform Virtualization Limitation
  1. Failed case: ** KVM_EL2_DTB — Platform Virtualization Limitation
  2. Root cause: ** The Hamoa IoT EVK platform firmware boots Linux at EL1 (non-secure supervisor mode) without EL2 (hypervisor mode) access. KVM driver initialization detects this via kvm [1]: HYP mode not available and correctly refuses to create /dev/kvm, causing all KVM-dependent tests to fail. This is a platform capability limitation, not a kernel bug or PR-introduced regression.
  3. Possible fix: Suppress KVM tests on hamoa-evk in the LAVA job definition by adding a platform capability check or skip condition. If EL2 support is desired, work with the firmware team to enable EL2 boot mode in UEFI/ABL for this platform; otherwise, document hamoa-evk as a non-virtualization platform and permanently exclude KVM tests from its CI matrix.
  4. Detail analysis attachment: failed_case_job212510_4_detailed.md
  Case 5: KVM_Infra — /dev/kvm device node unavailable
  1. Failed case: KVM_Infra — /dev/kvm device node unavailable
  2. Root cause: KVM cannot initialize because Gunyah hypervisor is running at EL2, preventing KVM from accessing HYP mode. The kernel message "kvm [1]: HYP mode not available" indicates that KVM detected it cannot operate because EL2 is already claimed by the Gunyah hypervisor on the Hamoa platform.
  3. Possible fix: This is not a PR-introduced regression (the PR only adds a camera sensor DT node). KVM and Gunyah hypervisor are mutually exclusive — both require EL2 access. To enable KVM on Hamoa EVK, either: (1) disable Gunyah hypervisor in the boot configuration and rebuild the firmware, or (2) mark KVM tests as expected-to-fail on Gunyah-enabled platforms in the CI test suite configuration.
  4. Detail analysis attachment: failed_case_job212510_5_detailed.md
  Case 6: ** KVM_Infra
  1. Failed case: ** KVM_Infra
  2. Root cause: ** Test infrastructure limitation — KVM cannot initialize on hamoa-evk because the platform runs under Gunyah hypervisor which owns EL2 (HYP mode). KVM requires direct access to EL2 to provide virtualization services, but EL2 is already occupied by Gunyah. This is expected ARM virtualization architecture behavior. The kernel correctly detected "HYP mode not available" at boot time (6.38s) and skipped KVM initialization, resulting in no /dev/kvm device node.
  3. Possible fix: Update KVM test scripts (KVM_Driver, KVM_EL2_DTB, KVM_Infra) to detect hypervisor presence before execution and report SKIP instead of FAIL. Add pre-check: if dmesg | grep -q "Hypervisor"; then echo "[SKIP] KVM not applicable under hypervisor"; exit 0; fi. Alternatively, exclude KVM tests from hamoa-evk LAVA job definition in the CI configuration.
  4. Detail analysis attachment: failed_case_job212510_6_detailed.md
Job 212511 | SoC shikra-iqs-evk

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

Failed test cases in LAVA job 212511 (SoC: shikra-iqs-evk).

  Case 1: GIC
  1. Failed case: GIC
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the GIC test script (/lava-212511/0/tests/0_qcom-next-ci-premerge-tests/Runner/suites/Kernel/Baseport/GIC/run.sh) to dynamically detect the number of online CPUs from /sys/devices/system/cpu/online or /proc/cpuinfo instead of hardcoding an 8-CPU assumption. The script should iterate only over CPUs that actually exist on the target platform.
  4. Detail analysis attachment: failed_case_job212511_1_detailed.md
  Case 2: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Mark Probe_Failure_Check as expected-fail for shikra-evk or update test to exclude known benign failures: coresight-etm4x (debug-only, platform limitation), cpufreq-dt -EEXIST (functional via platform driver), regulatory.db (optional firmware), and transient deferred probes for optional peripherals.
  4. Detail analysis attachment: failed_case_job212511_2_detailed.md
  Case 3: USBHost
  1. Failed case: USBHost
  2. Root cause: Test infrastructure limitation — no USB devices physically connected to the shikra-iqs-evk board's USB host port in the LAVA lab environment; the USB host controller driver is functional but the test expects external USB devices to be present for enumeration.
  3. Possible fix: This is not a kernel bug or PR-introduced regression. The PR only adds a camera sensor DT node and does not touch USB code. To resolve: (1) connect a USB device (e.g., USB flash drive, USB keyboard) to the board's USB host port in the LAVA lab setup, or (2) mark this test as SKIP for boards without USB peripherals in the lab, or (3) update the test to distinguish between "USB host controller not working" vs "no USB devices connected" and report the latter as SKIP instead of FAIL.
  4. Detail analysis attachment: failed_case_job212511_3_detailed.md
  Case 4: BT_SCAN
  1. Failed case: BT_SCAN
  2. Root cause: Bluetooth scan test failed due to absence of discoverable Bluetooth devices in the test environment; the Bluetooth hardware, firmware, and driver stack are fully functional (BT_FW_KMD_Service and BT_ON_OFF both passed), but no external Bluetooth devices were present or discoverable during the 3 scan attempts and interactive fallback scan.
  3. Possible fix: This is a test environment issue, not a kernel regression. The PR changes only camera DT nodes (qcs6490-rb3gen2-camera-sensor.dtsi) and does not touch Bluetooth subsystem code, device tree, or configuration. Re-run the test with at least one discoverable Bluetooth device (phone, beacon, or test fixture) in range of the shikra-iqs-evk board, or mark BT_SCAN as an optional test that requires external device presence.
  4. Detail analysis attachment: failed_case_job212511_4_detailed.md
  Case 5: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Test infrastructure issue — KVM_Driver test failed because /dev/kvm device node is not present on Shikra IQS EVK. CONFIG_KVM is enabled in kernel config but the KVM driver did not create the device node, likely because the platform does not support hardware virtualization (VHE/nVHE) or required firmware/hypervisor components are missing. This is a pre-existing platform limitation, not a regression introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only adds camera sensor DT nodes).
  3. Possible fix: Mark KVM_Driver test as SKIP or NOT_APPLICABLE for Shikra IQS EVK platform in the LAVA test suite configuration, as this platform does not support KVM virtualization. The test should only run on platforms with confirmed KVM/virtualization support.
  4. Detail analysis attachment: failed_case_job212511_5_detailed.md
  Case 6: Kernel Crash — Synchronous External Abort in qcom_rng driver (NOT a KVM_EL2_DTB issue)
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng driver (NOT a KVM_EL2_DTB issue)
  2. Root cause: Hardware bus fault (synchronous external abort ESR 0x96000010) when qcom_rng driver attempted MMIO read from RNG hardware registers during qcom_hwrng test execution. The RNG hardware is either unpowered, unmapped, or inaccessible due to platform/firmware configuration issue on Shikra IQS EVK. This is a pre-existing platform issue unrelated to the PR (which only adds camera DT nodes).
  3. Possible fix: This is NOT a PR-introduced regression. The KVM_EL2_DTB test failure is a red herring—it failed because /dev/kvm is unavailable (expected on this platform configuration), but the actual crash occurred later in the qcom_hwrng test. To resolve: (1) Verify RNG hardware power domain and clock configuration in Shikra IQS EVK device tree; (2) Check if RNG hardware requires firmware initialization that is missing; (3) Consider disabling qcom_hwrng test on Shikra IQS EVK until platform RNG support is fixed; (4) The PR itself is not at fault and should not be blocked by this failure.
  4. Detail analysis attachment: failed_case_job212511_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a pre-existing platform/infrastructure issue, not a regression introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only adds camera DT nodes for rb3gen2). Recommended actions: (1) Verify qcom_rng hardware support on Shikra platform — check if the RNG hardware block exists and is documented for QCS6490/QCM6490 SoC. (2) If hardware exists, add/fix qcom_rng DT node in Shikra device tree with correct reg, clocks, and power-domains properties. (3) If hardware does not exist on this SoC variant, disable qcom_rng driver or mark the qcom_hwrng test as not applicable for Shikra platform. (4) The KVM test failures (/dev/kvm not present) should also be investigated separately as a platform configuration issue.
  4. Detail analysis attachment: failed_case_job212511_7_detailed.md
  Case 8: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: ** Hardware access fault (synchronous external abort) in qcom_rng_read at offset +0xc4 while reading HWRNG hardware registers; the hardware block is either unpowered, unclocke d, or inaccessible at the attempted physical address (0x000000bc294c4ce0). This is a pre-existing platform/firmware issue, NOT introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only adds camera DT nodes for a different SoC/board).
  3. Possible fix: Verify qcom_rng device tree node for shikra-iqs-evk includes correct power-domains, clocks, and reg properties; confirm HWRNG hardware block is powered and clocked before driver access; add runtime PM calls or clock/regulator enable in qcom_rng probe if missing; if hardware is genuinely unavailable on this platform variant, disable qcom_rng in defconfig or DT status for shikra-iqs-evk.
  4. Detail analysis attachment: failed_case_job212511_8_detailed.md
  Case 9: Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: The qcom_hwrng test triggered a synchronous external abort (memory access fault) at offset 0xc4 in qcom_rng_read() when the dd command attempted to read from /dev/hwrng. The fault occurred during MMIO register access (instruction b940035c - load word from [x27+0x0]), indicating the hardware RNG peripheral was either not powered/clocked correctly or the MMIO mapping was invalid. The kernel panicked at timestamp 808.865549s, then the board entered warm reset/ramdump mode (XBLRamDump loaded). The lava-test-shell timeout occurred because the system never recovered from the panic — it remained in bootloader/ramdump state for the remaining 27+ minutes until LAVA's 40-minute test timeout expired.
  3. Possible fix: This crash is unrelated to the PR (which only adds a camera DT node for qcs6490-rb3gen2, not shikra-iqs-evk). The qcom_rng driver crash is a pre-existing platform issue on shikra-iqs-evk. Recommended actions: (1) Verify qcom_rng power/clock dependencies in shikra-iqs-evk device tree — ensure the RNG node has correct power-domains, clocks, and MMIO reg properties. (2) Check if the RNG hardware is functional on this board revision. (3) Disable the qcom_hwrng test on shikra-iqs-evk until the platform issue is resolved, or mark it as a known failure for this SoC. (4) Re-run the PR validation on a stable platform (rb3gen2, the actual target of this PR) to verify the camera DT changes.
  4. Detail analysis attachment: failed_case_job212511_9_detailed.md
  Case 10: ** Kernel Crash — synchronous external abort in qcom_rng driver during qcom_hwrng test
  1. Failed case: ** Kernel Crash — synchronous external abort in qcom_rng driver during qcom_hwrng test
  2. Root cause: ** The qcom_rng driver attempted to read from a hardware register (qcom_rng_read+0xc4) that triggered a synchronous external abort (bus error), indicating the hardware RNG block is either not powered, not clocked, or the register mapping is invalid on shikra-iqs-evk. The crash occurred during the qcom_hwrng test when dd read from /dev/hwrng, causing the kernel to panic and enter ramdump mode. The board never recovered, resulting in a 40-minute LAVA timeout.
  3. Possible fix: Disable the qcom_rng driver or mark the RNG device tree node as status = "disabled" for shikra-iqs-evk until the hardware block is properly enabled (power domain, clocks, and register mapping verified). If the RNG hardware is expected to work, verify the device tree configuration for the RNG node includes correct power-domain, clock, and reg properties, and confirm the hardware block is powered and clocked during boot.
  4. Detail analysis attachment: failed_case_job212511_10_detailed.md
  Case 11: Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: Hardware access fault in qcom_rng_read+0xc4 during qcom_hwrng test execution. The driver attempted to read from an MMIO register (instruction b940035c = ldr w28, [x26]) that triggered a synchronous external abort (ESR 0x96000010), indicating the hardware block was not accessible (powered down, clocked off, or IOMMU/bus path broken). This is a pre-existing platform/firmware issue on shikra-iqs-evk, not introduced by the PR (which only adds camera DT nodes).
  3. Possible fix: Verify qcom_rng hardware block power/clock dependencies in shikra-iqs-evk device tree. Ensure the RNG hardware block's power domain, clocks, and interconnect paths are correctly described and enabled before driver access. Check if CONFIG_QCOM_RNG should be disabled for this platform if hardware is not present/functional, or add proper runtime PM and error handling to the driver probe path to detect and gracefully handle non-functional hardware.
  4. Detail analysis attachment: failed_case_job212511_11_detailed.md
Job 212512 | SoC qcs9100-ride

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

Failed test cases in LAVA job 212512 (SoC: qcs9100-ride).

  Case 1: Kernel Crash — Synchronous External Abort (SMMU Register Access Fault)
  1. Failed case: Kernel Crash — Synchronous External Abort (SMMU Register Access Fault)
  2. Root cause: Hardware-level synchronous external abort during SMMU S2CR register write in qcom_smmu_write_s2cr+0x84 while attaching device 30000000.remoteproc to IOMMU group 15. The fault indicates the SMMU register at address ffff800084000c28 (x0=ffff800084000000 + x1=0xc28) is not accessible — either the SMMU hardware block is powered down, clock-gated, in reset, or the register mapping is incorrect for the qcs9100-ride platform.
  3. Possible fix: This is a platform-specific SMMU hardware access issue on qcs9100-ride, not introduced by the PR (PR modifies qcs6490-rb3gen2 camera DT only). Verify SMMU power domain, clocks, and reset state in qcs9100-ride device tree; confirm SMMU base address 0x15000000 is correct and the hardware is accessible at boot. Check if recent qcs9100-ride DT or firmware changes altered SMMU power/clock configuration. If the issue is reproducible on baseline (without PR), escalate to platform bring-up team for qcs9100-ride SMMU hardware initialization.
  4. Detail analysis attachment: failed_case_job212512_1_detailed.md
  Case 2: Kernel Crash — SMMU NOC Error (synchronous external abort during SMMU register write)
  1. Failed case: Kernel Crash — SMMU NOC Error (synchronous external abort during SMMU register write)
  2. Root cause: Synchronous external abort (ESR 0x96000010) during qcom_smmu_write_s2cr+0x84 while configuring IOMMU group 15 for remoteproc device 30000000.remoteproc on qcs9100-ride. The SMMU register space at 0x15000000 became inaccessible during S2CR write, indicating either SMMU power collapse, clock gating, or NoC path failure after successful hardware probe.
  3. Possible fix: This is a pre-existing platform/firmware issue unrelated to the PR (camera DT node addition for qcs6490-rb3gen2). Immediate action: re-trigger the CI job to confirm reproducibility. If persistent on qcs9100-ride: verify SMMU power domain dependencies, check if remoteproc probe order triggers premature SMMU clock/power state change, and enable CONFIG_IOMMU_TLBSYNC_DEBUG + CONFIG_ARM_SMMU_TESTBUS_DUMP to capture SMMU register state and NoC error context on next occurrence.
  4. Detail analysis attachment: failed_case_job212512_2_detailed.md
  Case 3: Kernel Crash — Synchronous External Abort during SMMU Initialization
  1. Failed case: Kernel Crash — Synchronous External Abort during SMMU Initialization
  2. Root cause: Kernel panicked at boot time (4.339s) with synchronous external abort (ESR=0x96000010) in qcom_smmu_write_s2cr+0x84/0x140 while writing to SMMU S2CR registers during arm-smmu driver probe for iommu@15000000. The fault indicates a hardware bus error when accessing SMMU configuration registers, suggesting the SMMU hardware block is either not powered, not clocked, or the register mapping is incorrect for qcs9100-ride.
  3. Possible fix: This is a pre-existing kernel/platform issue unrelated to the PR (PR adds qcs6490-rb3gen2 camera sensor; crash is on qcs9100-ride). Investigate qcs9100 SMMU power/clock dependencies in device tree: verify power-domains, clocks, and clock-names properties for the iommu@15000000 node; confirm SMMU GDSC and clocks are enabled before driver probe; check if qcs9100 SMMU register base address (0x15000000) matches hardware documentation. Short-term: mark qcs9100-ride SMMU node as status = "disabled" in DT to allow boot to proceed for unrelated testing.
  4. Detail analysis attachment: failed_case_job212512_3_detailed.md
  Case 4: Kernel Crash — Synchronous External Abort in SMMU Initialization
  1. Failed case: Kernel Crash — Synchronous External Abort in SMMU Initialization
  2. Root cause: Hardware access fault during SMMU S2CR register write in qcom_smmu_write_s2cr() at boot time on qcs9100-ride platform; the SMMU hardware register at the computed address is either unpowered, unmapped, or inaccessible, causing a synchronous external abort (ESR=0x96000010) when the kernel attempts to configure stream-to-context mappings during IOMMU group setup for remoteproc devices.
  3. Possible fix: This is a pre-existing platform/firmware issue unrelated to the PR (PR modifies qcs6490-rb3gen2 camera DT, test runs on qcs9100-ride). Verify SMMU power domain and clock initialization order in qcs9100-ride device tree; ensure SMMU base address mapping is correct and the hardware is accessible before driver probe; check if firmware/bootloader has properly initialized SMMU hardware state; add error handling in qcom_smmu_write_s2cr() to detect and report inaccessible registers gracefully rather than crashing.
  4. Detail analysis attachment: failed_case_job212512_4_detailed.md
Job 212513 | SoC qcs6490-rb3gen2

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

Failed test cases in LAVA job 212513 (SoC: qcs6490-rb3gen2).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test detected two pre-existing firmware load failures unrelated to the PR: (1) regulatory.db (WiFi regulatory database) missing from rootfs — WiFi functional tests (WiFi_OnOff, WiFi_Firmware_Driver) both passed, confirming WiFi operates correctly using built-in regulatory data; (2) xhci-pci-renesas firmware (renesas_usb_fw.mem) missing from rootfs — Renesas USB 3.0 controller proprietary firmware not packaged in the test image. Neither failure is caused by the PR (which only adds a camera sensor DT node) and neither impacts system functionality.
  3. Possible fix: Mark this test failure as a false positive for PR validation purposes. To eliminate these probe failures from future CI runs: (1) add regulatory.db to the rootfs firmware directory (package wireless-regdb in the Yocto image recipe), and (2) add renesas_usb_fw.mem to the rootfs firmware directory (package linux-firmware-renesas or equivalent). These are rootfs packaging issues, not kernel regressions.
  4. Detail analysis attachment: failed_case_job212513_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is not a kernel bug. The test failure is expected when no USB devices are physically connected. To resolve: (1) Connect a USB device (e.g., USB flash drive, keyboard, or hub) to the board's USB host port in the LAVA lab setup, or (2) Mark this test as SKIP when no USB devices are available in the test environment, or (3) Investigate why the SoC's native USB host controller drivers (dwc3/xhci) are not probing — check if USB host mode is enabled in the device tree and if the required drivers are built into the kernel or loaded as modules.
  4. Detail analysis attachment: failed_case_job212513_2_detailed.md
  Case 3: KVM_Driver — Platform Limitation (HYP mode unavailable)
  1. Failed case: KVM_Driver — Platform Limitation (HYP mode unavailable)
  2. Root cause: The qcs6490-rb3gen2 platform boots with a Gunyah hypervisor already running at EL2, preventing KVM from initializing. The kernel message "kvm [1]: HYP mode not available" at boot time (3.402481s) indicates KVM cannot access EL2 because the hypervisor has already claimed it. This is a platform/firmware configuration issue, not a kernel regression introduced by the camera sensor DT patch in PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954.
  3. Possible fix: This is not a PR-introduced regression and does not require a kernel fix. The KVM_Driver test failure is expected on this platform configuration. To enable KVM support, the platform would need to boot without the Gunyah hypervisor or use nested virtualization (if supported). For CI purposes, either: (1) skip KVM tests on qcs6490-rb3gen2 targets that boot with Gunyah, or (2) use a different platform configuration/firmware that does not pre-load a hypervisor at EL2.
  4. Detail analysis attachment: failed_case_job212513_3_detailed.md
  Case 4: KVM_EL2_DTB — KVM device node unavailable
  1. Failed case: KVM_EL2_DTB — KVM device node unavailable
  2. Root cause: KVM driver initialization failed at boot with "HYP mode not available" — the qcs6490-rb3gen2 platform does not support EL2 hypervisor mode, preventing /dev/kvm device node creation. CONFIG_KVM is enabled in kernel config but the hardware/firmware does not provide the required EL2 virtualization support.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. The PR (camera sensor DT addition) does not affect KVM functionality. Recommended action: (1) Mark KVM tests as "not applicable" for qcs6490-rb3gen2 in the LAVA test suite, or (2) skip KVM tests when "HYP mode not available" is detected in dmesg, or (3) verify if the platform firmware/bootloader needs to be updated to enable EL2 mode for this SoC.
  4. Detail analysis attachment: failed_case_job212513_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM cannot initialize because the system is running as a guest under the Gunyah hypervisor (detected at boot: "Hypervisor cold boot, version: gunyah-cdfb73831"), which prevents nested virtualization. The kernel correctly reports "kvm [1]: HYP mode not available" because EL2 (hypervisor mode) is already occupied by Gunyah, and /dev/kvm cannot be created without EL2 access.
  3. Possible fix: This is not a kernel regression introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only adds a camera sensor DT node). The KVM_Infra test is not applicable to qcs6490-rb3gen2 when running under Gunyah hypervisor. Either: (1) exclude KVM tests from the CI test suite for this platform configuration, or (2) run the tests on bare-metal (non-virtualized) boot if KVM validation is required for this SoC.
  4. Detail analysis attachment: failed_case_job212513_5_detailed.md
  Case 6: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. The PR adds only camera DT nodes and does not modify KVM, virtualization, or boot configuration. The test failure is expected on this SoC/board combination. Recommended action: exclude KVM tests from the qcs6490-rb3gen2 CI test suite, or update the test to skip gracefully when HYP mode is unavailable rather than reporting FAIL.
  4. Detail analysis attachment: failed_case_job212513_6_detailed.md
Job 212514 | SoC qcs615-ride

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

Failed test cases in LAVA job 212514 (SoC: qcs615-ride).

  Case 1: Probe_Failure_Check — False Positive (cfg80211 regulatory.db firmware request)
  1. Failed case: Probe_Failure_Check — False Positive (cfg80211 regulatory.db firmware request)
  2. Root cause: The Probe_Failure_Check test flagged a benign cfg80211 regulatory database firmware load attempt (faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2). This is not a genuine probe failure — cfg80211 first attempts to load an external regulatory.db file, and when absent (error -2 = -ENOENT), it falls back to compiled-in X.509 certificates, which loaded successfully. WiFi functionality is fully operational (WiFi_OnOff, WiFi_Firmware_Driver, BT_ON_OFF all passed). The PR changes only add a camera sensor DT node for qcs6490-rb3gen2, completely unrelated to wireless regulatory subsystem.
  3. Possible fix: Update the Probe_Failure_Check test filter to exclude cfg80211 regulatory.db firmware load attempts with error -2 when compiled-in certificates are present and WiFi tests pass. This is a test infrastructure false positive, not a kernel regression. No kernel or PR changes required.
  4. Detail analysis attachment: failed_case_job212514_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Video codec child devices (video-decoder and video-encoder) are not attached to IOMMU groups on qcs615-ride. The parent device aa00000.video-codec is correctly attached to IOMMU group 7, but the child V4L2 video devices created by the Venus driver are not being added to any IOMMU group, causing the SMMU test's critical master validation to fail.
  3. Possible fix: This is a pre-existing platform issue on qcs615-ride, not introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only modifies camera DT nodes for qcs6490-rb3gen2). The Venus video codec driver needs to ensure child video devices inherit IOMMU group membership from the parent platform device. Verify the Venus driver's device registration path calls iommu_group_add_device() for child devices, or add explicit iommus property references in the qcs615-ride video-codec DT node.
  4. Detail analysis attachment: failed_case_job212514_2_detailed.md
  Case 3: KVM_Driver — Platform Capability Limitation
  1. Failed case: KVM_Driver — Platform Capability Limitation
  2. Root cause: QCS615 platform does not support KVM virtualization because HYP (EL2 hypervisor) mode is not available on this SoC. The kernel message "kvm [1]: HYP mode not available" at boot time (line 2408, timestamp 3.198683s) indicates the ARM CPU does not provide EL2 virtualization extensions or they are disabled by the bootloader/firmware. CONFIG_KVM and CONFIG_VIRTUALIZATION are correctly enabled in the kernel config, but the hardware/firmware does not support the required virtualization mode.
  3. Possible fix: This is not a regression introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only adds a camera sensor DT node for qcs6490-rb3gen2, a different platform). The KVM test should be skipped or marked as "not applicable" for qcs615-ride in the LAVA test suite, as this platform does not support KVM virtualization. Update the LAVA job definition to exclude KVM tests for qcs615-ride, or update the test runner to check for HYP mode availability before running KVM tests and report SKIP instead of FAIL when HYP mode is unavailable.
  4. Detail analysis attachment: failed_case_job212514_3_detailed.md
  Case 4: KVM Driver Initialization Failure — HYP mode not available
  1. Failed case: KVM Driver Initialization Failure — HYP mode not available
  2. Root cause: KVM driver initialization fails because the qcs615-ride platform boots with Gunyah hypervisor, which owns EL2 (HYP mode). KVM requires direct EL2 access to provide virtualization services, but when the kernel runs as a guest under Gunyah at EL1, it cannot access EL2. The kernel message kvm [1]: HYP mode not available confirms this architectural constraint.
  3. Possible fix: This is a platform configuration issue, not a kernel bug. To enable KVM testing on qcs615-ride: (1) reconfigure the platform to boot without Gunyah hypervisor (bare-metal boot), OR (2) exclude KVM tests from the test suite for Gunyah-enabled platforms, OR (3) if nested virtualization support is required, work with the Gunyah team to enable KVM passthrough/nesting (currently not supported).
  4. Detail analysis attachment: failed_case_job212514_4_detailed.md
  Case 5: KVM Infrastructure Test — Expected Failure (Platform Limitation)
  1. Failed case: KVM Infrastructure Test — Expected Failure (Platform Limitation)
  2. Root cause: The qcs615-ride board runs under the Gunyah hypervisor (guest VM mode), where the kernel operates at EL1 without EL2 (HYP mode) access. KVM requires EL2 to function and correctly reports "HYP mode not available" at boot. This is expected architectural behavior, not a kernel bug or regression.
  3. Possible fix: Exclude KVM tests from the LAVA test suite for qcs615-ride and other boards running under Gunyah hypervisor. Add a platform capability check in the test runner to skip KVM tests when /sys/hypervisor/type indicates guest mode or when the hypervisor boot message is detected. Alternatively, if KVM testing is required, configure the board to boot without the Gunyah hypervisor (bare-metal mode).
  4. Detail analysis attachment: failed_case_job212514_5_detailed.md
  Case 6: ** KVM_Infra — Platform Hardware Limitation (EL2 Not Supported)
  1. Failed case: ** KVM_Infra — Platform Hardware Limitation (EL2 Not Supported)
  2. Root cause: ** QCS615 SoC does not implement ARMv8 EL2 (Hypervisor Exception Level); KVM initialization detects missing EL2 support via is_hyp_mode_available() check and aborts with "HYP mode not available", never creating /dev/kvm device node.
  3. Possible fix: Add platform detection to skip KVM tests on qcs615-ride in LAVA job definition or modify test script to report SKIP (not FAIL) when dmesg contains "HYP mode not available", distinguishing hardware limitations from genuine kernel bugs.
  4. Detail analysis attachment: failed_case_job212514_6_detailed.md
Job 212515 | SoC qcs8300-ride

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

Failed test cases in LAVA job 212515 (SoC: qcs8300-ride).

  Case 1: Probe_Failure_Check — Driver Probe Failures
  1. Failed case: Probe_Failure_Check — Driver Probe Failures
  2. Root cause: Two pre-existing platform issues on qcs8300-ride: (1) Aquantia AQR115C Ethernet PHY probe fails with -EINVAL (-22) due to missing firmware-name DT property; (2) cfg80211 regulatory.db firmware load fails with -ENOENT (-2) because the file is not present in the rootfs firmware directory. Neither failure is introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954, which only modifies qcs6490-rb3gen2 camera sensor DT.
  3. Possible fix: These are known platform configuration issues on qcs8300-ride, not regressions. Suppress this test failure for this PR. To resolve the underlying issues: (1) add firmware-name property to the Aquantia PHY DT node in qcs8300-ride DTS, or disable the PHY node if not used; (2) include regulatory.db in the rootfs firmware package, or build cfg80211 with CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=n to use built-in regulatory data.
  4. Detail analysis attachment: failed_case_job212515_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Connect a USB device (keyboard, mouse, or storage) to the qcs8300-ride board's USB port before running the test suite. Alternatively, mark this test as SKIP or update the test to pass when USB host controller is functional even without external devices, since the kernel USB stack is working correctly.
  4. Detail analysis attachment: failed_case_job212515_2_detailed.md
  Case 3: Ethernet_Basic_Validation
  1. Failed case: Ethernet_Basic_Validation
  2. Root cause: Aquantia AQR115C Ethernet PHY driver probe failure (probe with driver Aquantia AQR115C failed with error -22) due to missing firmware-name property in device tree, preventing eth0 interface from attaching to PHY during link-up (validation of 2500base-x with support 0000000,00000000,00000000,000062cc and advertisement 0000000,00000000,00000000,000062c0 failed: -EINVAL; cannot attach to PHY (error: -EINVAL)). This is a pre-existing platform/DT configuration issue on qcs8300-ride, not introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only adds camera sensor support for qcs6490-rb3gen2).
  3. Possible fix: Add the missing firmware-name property to the Aquantia AQR115C PHY device tree node in the qcs8300-ride device tree (likely under the stmmac MDIO bus node at stmmac-0:08). The property should specify the path to the Aquantia PHY firmware file (typically aquantia/AQR-G4_v5.4.C-AQR_CIG_WF-1.8.0.cld or similar). Alternatively, if firmware is not required for basic operation, investigate whether the driver can be patched to make the firmware-name property optional for this PHY variant.
  4. Detail analysis attachment: failed_case_job212515_3_detailed.md
  Case 4: KVM_Driver (platform configuration issue — not a genuine kernel regression)
  1. Failed case: KVM_Driver (platform configuration issue — not a genuine kernel regression)
  2. Root cause: qcs8300-ride-sx platform runs under Gunyah hypervisor which occupies EL2, preventing KVM from initializing. KVM and Gunyah are mutually exclusive — both require exclusive access to the ARM64 hypervisor exception level (EL2). CONFIG_KVM is enabled in the kernel config, but KVM silently fails to initialize and does not create /dev/kvm when it detects another hypervisor is already running.
  3. Possible fix: This is not a bug requiring a fix. The test expectation is incorrect for this platform. Recommended action: Update the LAVA test suite to skip KVM tests on platforms running under Gunyah hypervisor. Detection can be done by checking for Gunyah hypervisor boot messages in dmesg or checking for /sys/hypervisor/type. Alternatively, if KVM functionality is required on this platform, the system must be configured to boot without Gunyah hypervisor (requires firmware/bootloader configuration changes).
  4. Detail analysis attachment: failed_case_job212515_4_detailed.md
  Case 5: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM requires EL2 (hypervisor mode) access to create /dev/kvm device node, but Linux is running at EL1 as a guest under Gunyah hypervisor (confirmed by boot log: "CPU: All CPU(s) started at EL1" and "Gunyah based bootup"), preventing KVM initialization on qcs8300-ride platform.
  3. Possible fix: This is a platform configuration limitation, not a kernel bug. To enable KVM on this platform, either: (1) configure Gunyah to enable nested virtualization support (if available), allowing the guest Linux to access virtualization extensions, or (2) run Linux directly on bare metal without Gunyah hypervisor, or (3) mark KVM tests as expected-to-skip on platforms running under Gunyah hypervisor in the LAVA test suite configuration.
  4. Detail analysis attachment: failed_case_job212515_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM device node (/dev/kvm) is not available on qcs8300-ride platform despite CONFIG_KVM being enabled in the kernel configuration, indicating that the hardware does not support KVM virtualization or the KVM driver failed to initialize due to missing VHE (Virtualization Host Extensions) support on this SoC.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. The PR only adds camera sensor device tree nodes for qcs6490-rb3gen2 and does not affect KVM functionality. Either: (1) exclude KVM tests from the qcs8300-ride test suite, or (2) verify that the qcs8300 SoC hardware supports VHE/EL2 virtualization and investigate why the KVM driver is not initializing (check for missing device tree nodes, firmware requirements, or hypervisor configuration).
  4. Detail analysis attachment: failed_case_job212515_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM device node /dev/kvm not created despite CONFIG_KVM being enabled — KVM driver failed to initialize on qcs8300-ride (Monaco) platform, likely due to missing hypervisor support or platform-specific KVM enablement requirements not met.
  3. Possible fix: Verify that the qcs8300-ride platform supports KVM/virtualization in hardware and firmware; check if hypervisor mode (EL2) is accessible and not trapped by secure firmware; if KVM is not supported on this platform, mark the KVM test suite as expected-to-fail or skip for qcs8300-ride targets in the CI configuration.
  4. Detail analysis attachment: failed_case_job212515_7_detailed.md
Job 212516 | SoC lemans-evk

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Four PMIC thermal alarm devices (c440000.spmi:pmic@{0,2,4,6}:temp-alarm@a00) remain in deferred probe state on lemans-evk (SA8775P), indicating missing dependencies preventing the qcom_spmi_temp_alarm driver from completing probe; the three firmware load failures (regulatory.db, Bluetooth firmware) are benign false positives suppressed per known-benign-failures rules because BT_ON_OFF and WiFi_OnOff functional tests passed.
  3. Possible fix: Investigate the device tree and kernel configuration for lemans-evk to identify missing thermal zone dependencies or IIO channel providers required by the PMIC temp-alarm devices; verify that all required thermal framework components and PMIC subsystem drivers are enabled and probing successfully before the temp-alarm driver attempts to bind.
  4. Detail analysis attachment: failed_case_job212516_1_detailed.md
  Case 2: ** smmu (test infrastructure issue - not a kernel failure)
  1. Failed case: ** smmu (test infrastructure issue - not a kernel failure)
  2. Root cause: ** The SMMU test validation script expects the video codec device aa00000.video-codec to be attached to an IOMMU group, but the device tree for lemans-evk does not include the required iommus property for this device. This is a pre-existing platform DT configuration gap unrelated to the PR changes (which only add a camera sensor node for qcs6490-rb3gen2).
  3. Possible fix: Add the missing iommus property to the video codec device node in arch/arm64/boot/dts/qcom/sa8775p.dtsi (or the appropriate lemans-evk overlay) to attach it to an IOMMU group. The test script considers video codec a "critical master" requiring IOMMU protection. Alternatively, if video codec IOMMU attachment is not required for lemans-evk, update the test script's critical master list to exclude it for this platform.
  4. Detail analysis attachment: failed_case_job212516_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA marked the test definition as failed because the test runner completed but reported 2 genuine test failures: (1) Probe_Failure_Check detected 4 deferred probe devices (SPMI PMIC temp-alarm nodes) and 3 firmware load failures (regulatory.db, Bluetooth firmware files); (2) smmu test detected video codec device aa00000.video-codec missing IOMMU group attachment. These are pre-existing platform/configuration issues on lemans-evk, not regressions introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 which only modifies qcs6490-rb3gen2 camera DT (a different SoC).
  3. Possible fix: These failures are NOT caused by the PR under test (PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 modifies qcs6490-rb3gen2 camera sensor DT; this job runs on lemans-evk/SA8775P). The PR should be approved from a lemans-evk perspective. The underlying issues should be tracked separately: (1) investigate why SPMI PMIC temp-alarm nodes remain in deferred probe state on lemans-evk; (2) investigate why video codec IOMMU attachment is missing; (3) ensure required firmware files (regulatory.db, Bluetooth TLV) are present in the rootfs image for lemans-evk.
  4. Detail analysis attachment: failed_case_job212516_3_detailed.md
Job 212517 | SoC monaco-evk

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

Failed test cases in LAVA job 212517 (SoC: monaco-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Bluetooth firmware files (qca/wcnhpbtfw21.tlv, qca/hpbtfw21.tlv) missing from rootfs causing firmware load failures (-ENOENT); WiFi ath11k_pci probe failed with -ETIMEDOUT due to missing firmware (ath11k/WCN6855/hw2.1/nfa765/amss.bin); regulatory.db firmware also missing. However, BT_ON_OFF test passed, indicating Bluetooth firmware loaded successfully at runtime (known benign false positive per suppression Rule 3). The ath11k probe failure and regulatory.db failure are genuine issues unrelated to the PR (camera DT changes for qcs6490-rb3gen2, not monaco-evk).
  3. Possible fix: Suppress the Bluetooth firmware failures as known benign (BT_ON_OFF passed). For the genuine ath11k and regulatory.db failures: these are pre-existing infrastructure/rootfs issues on monaco-evk, not introduced by PR QCLINUX: arm64: dts: qcom: camera: Add support for rgbir camera #954 (which only modifies camera DT for qcs6490-rb3gen2). Add missing firmware files to the monaco-evk rootfs: qca/wcnhpbtfw21.tlv, qca/hpbtfw21.tlv, ath11k/WCN6855/hw2.1/nfa765/amss.bin, and regulatory.db. Re-trigger the CI job after updating the rootfs image.
  4. Detail analysis attachment: failed_case_job212517_1_detailed.md
  Case 2: WiFi Driver Probe Failure — Missing Firmware Dependency
  1. Failed case: WiFi Driver Probe Failure — Missing Firmware Dependency
  2. Root cause: ath11k_pci driver probe failed with -ETIMEDOUT because the required WCN6855 WiFi firmware file (ath11k/WCN6855/hw2.1/nfa765/amss.bin) is missing from the rootfs /lib/firmware/ directory. The MHI bus initialization timed out waiting for firmware that was never loaded. This is a pre-existing image/infrastructure issue unrelated to the PR (which only adds a camera sensor DT node).
  3. Possible fix: Add the missing WCN6855 firmware files to the rootfs image build recipe. Ensure the linux-firmware-ath11k or equivalent firmware package is included in the Yocto/build configuration for Monaco EVK images, or manually copy the firmware files from linux-firmware.git to /lib/firmware/ath11k/WCN6855/hw2.1/nfa765/ in the rootfs.
  4. Detail analysis attachment: failed_case_job212517_2_detailed.md
  Case 3: WiFi_OnOff
  1. Failed case: WiFi_OnOff
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Install the missing ath11k firmware package (linux-firmware-ath11k or equivalent) in the monaco-evk rootfs image. Verify the firmware path /lib/firmware/ath11k/WCN6855/hw2.1/nfa765/amss.bin exists on the target before running WiFi tests.
  4. Detail analysis attachment: failed_case_job212517_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test suite marked incomplete due to WiFi driver probe failure (ath11k_pci 0000:01:00.0: probe with driver ath11k_pci failed with error -110) during boot on monaco-evk, causing WiFi_Firmware_Driver and WiFi_OnOff tests to fail; this is a pre-existing platform/infrastructure issue unrelated to the PR's camera device tree changes for qcs6490-rb3gen2.
  3. Possible fix: This is not a PR-introduced regression. The PR adds camera sensor DT nodes for qcs6490-rb3gen2 (RB3Gen2 board), but the failure occurred on monaco-evk (a different SoC/board). The ath11k_pci probe timeout (-110/ETIMEDOUT) indicates a hardware initialization or firmware loading issue on the monaco-evk test infrastructure. Recommended action: Re-trigger the CI job on monaco-evk; if the WiFi probe failure persists, investigate monaco-evk board hardware (PCIe link, WiFi card power/reset), firmware availability, or exclude WiFi tests from monaco-evk CI until the infrastructure issue is resolved. The PR itself is not the cause and should not be blocked by this failure.
  4. Detail analysis attachment: failed_case_job212517_4_detailed.md

@sgaud-quic

Copy link
Copy Markdown
Contributor

khatri-nirav CR not in proper state

@sgaud-quic
Salendarsingh Gaud (sgaud-quic) merged commit 443fbd9 into qualcomm-linux:qcom-6.18.y Sep 2, 2026
6 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants