Skip to content

monaco-evk: Enable PCIe M.2 Key E connector - #893

Open
weiden (WeiDeng-weiden) wants to merge 5 commits into
qualcomm-linux:qcom-6.18.yfrom
WeiDeng-weiden:qcom-6.18y-monaco-m2
Open

monaco-evk: Enable PCIe M.2 Key E connector#893
weiden (WeiDeng-weiden) wants to merge 5 commits into
qualcomm-linux:qcom-6.18.yfrom
WeiDeng-weiden:qcom-6.18y-monaco-m2

Conversation

@WeiDeng-weiden

Copy link
Copy Markdown

Enabling the PCIe M.2 Key E connector on Monaco EVK
and reverting the temporary Bluetooth workaround.

Revert BT workaround:

  • Revert the WORKAROUND commit that modelled BT power supplies as fixed
    regulators to work around the missing M.2 binding. Now superseded by
    the proper M.2 solution.

monaco.dtsi:

  • Add compatible = "pciclass,0604" to the PCIe Root Port node, required
    for pci_pwrctrl to associate the DT node with the PCI-to-PCI bridge
  • Add graph port/endpoint anchors (pcieport0_ep, uart2_ep) so board
    files can reference them via remote-endpoint

monaco-evk.dts:

  • Describe the PCIe M.2 Key E connector: connector node, PCIe and UART
    graph endpoints, regulator properties (vreg_wcn_3p3, vreg_dcin_12v)
  • Add serial1 = &uart2 alias required for Bluetooth serdev enumeration
  • Enable UART2

Upstream: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-0-0548e1dab760@oss.qualcomm.com/

CRs-Fixed: 4610036

@qlijarvis

Copy link
Copy Markdown

PR #893 — validate-patch

PR: #893

Verdict Issues Detailed Report
⚠️ 4 Full report

Final Summary

  1. Lore link present: Yes for commits 2/4, 3/4, 4/4 (FROMLIST); No for commit 1/4 (QCLINUX - vendor-only, no lore link expected or required)

  2. Lore link matches PR commits: Yes for commits 2/4 and 3/4 (byte-for-byte identical); Partial for commit 4/4 (semantically identical, context differs due to tree state); N/A for commit 1/4

  3. Upstream patch status: ⏳ Decision Pending for all three FROMLIST commits - Posted July 29, 2026 as v2 series; commits 1/3 and 2/3 have Reviewed-by from Konrad Dybcio (Qualcomm DT maintainer); commit 3/3 awaiting review; no merge/applied/queued signal found in lore threads yet

  4. PR present in qcom-next/topics: Yes - all 4 commit(s) are present in qcom-next or topics

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #893 - arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK (4 commits)
Upstream commits: 3 FROMLIST patches from lore.kernel.org v2 series + 1 QCLINUX revert
Verdict: ⚠️ PARTIAL


Commit 1/4: QCLINUX Revert

Subject: QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: monaco-evk: Enable Bluetooth support"
Upstream: N/A (vendor-only)
Verdict: ✅ PASS (validation not applicable)

Check Status Note
Lore link required N/A QCLINUX prefix - vendor-only commit
Subject format Correct revert format with QCLINUX prefix
Authorship Wei Deng wei.deng@oss.qualcomm.com
Signed-off-by Present

Diff: Reverts Bluetooth support from monaco-evk-common.dtsi (removes uart2, regulators, bluetooth node)


Commit 2/4: FROMLIST - PCIe Root Port compatible

Subject: FROMLIST: arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port
Upstream: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-1-0548e1dab760@oss.qualcomm.com/
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream Identical (FROMLIST prefix added correctly)
Body preserves rationale Identical - describes pciclass,0604 requirement
Fixes tag present/correct N/A Not a fix
Authorship preserved Wei Deng matches lore From:
Lore author in Signed-off-by Wei Deng present
Reviewed-by preserved Konrad Dybcio tag present
Link tag present Correct lore URL

Diff

File Status Notes
arch/arm64/boot/dts/qcom/monaco.dtsi Adds compatible = "pciclass,0604"; to pcieport0 - IDENTICAL to lore

Upstream Status: ⏳ Decision Pending - Posted July 29, 2026 (v2); has Reviewed-by from Konrad Dybcio (Qualcomm DT maintainer); no merge/applied signal yet


Commit 3/4: FROMLIST - Graph port/endpoint anchors

Subject: FROMLIST: arm64: dts: qcom: monaco: Add graph port/endpoint anchors to pcieport0 and uart2
Upstream: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-2-0548e1dab760@oss.qualcomm.com/
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream Identical (FROMLIST prefix added correctly)
Body preserves rationale Identical - describes graph anchor pattern
Fixes tag present/correct N/A Not a fix
Authorship preserved Wei Deng matches lore From:
Lore author in Signed-off-by Wei Deng present
Suggested-by preserved Konrad Dybcio tag present
Link tag present Correct lore URL

Diff

File Status Notes
arch/arm64/boot/dts/qcom/monaco.dtsi Adds port/endpoint nodes to uart2 and pcieport0 - IDENTICAL to lore

Upstream Status: ⏳ Decision Pending - Posted July 29, 2026 (v2); Reviewed-by from Konrad Dybcio added in thread reply; no merge/applied signal yet


Commit 4/4: FROMLIST - Monaco EVK M.2 connector

Subject: FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
Upstream: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/
Verdict: ⚠️ PARTIAL - context mismatch

Commit Message

Check Status Note
Subject matches upstream Identical (FROMLIST prefix added correctly)
Body preserves rationale Identical - describes M.2 connector, regulators, serial1 alias
Fixes tag present/correct N/A Not a fix
Authorship preserved Wei Deng matches lore From:
Lore author in Signed-off-by Wei Deng present
Link tag present Correct lore URL

Diff

File Status Notes
arch/arm64/boot/dts/qcom/monaco-evk.dts ⚠️ Context mismatch - PR applies changes to different file structure than lore

Issue: The PR patch modifies monaco-evk.dts while the lore patch modifies monaco-evk.dts at different line numbers and contexts:

  • Lore patch context: Adds serial1 = &uart2; to existing aliases block at line 21-24; adds connector-3 after usb2_con_hs_ep at line 47-80
  • PR patch context: Adds aliases block with serial1 = &uart2; at line 14-16 (new block); adds connector-3 at line 18-54 (different location)

Root cause: The PR is based on a tree state where commit 1/4 (the QCLINUX revert) has already removed the Bluetooth changes from monaco-evk-common.dtsi. The lore patch was posted against upstream which still has those changes in a different file. The semantic content is functionally equivalent but the file structure differs.

Assessment: This is a legitimate adaptation for the vendor tree structure. The changes are semantically identical:

  • Same connector-3 node content
  • Same regulator definitions (vreg_dcin_12v, vreg_wcn_3p3)
  • Same serial1 alias
  • Same endpoint overrides (&pcieport0_ep, &uart2_ep, &uart2)

Upstream Status: ⏳ Decision Pending - Posted July 29, 2026 (v2); no Reviewed-by tag yet; no merge/applied signal


Issues

Commit 4/4 context adaptation:

  • The PR applies the M.2 connector patch to monaco-evk.dts with different line number context than the lore patch
  • This is because commit 1/4 reverted Bluetooth support, changing the file structure
  • The semantic content is identical - all DT nodes, properties, and references match
  • This is a valid tree-specific adaptation and does not constitute a content divergence

Verdict

Merge with awareness of context adaptation in commit 4/4. The PR faithfully represents the upstream lore patches with one legitimate tree-specific adaptation:

  1. Commits 2/4 and 3/4 are byte-for-byte identical to their lore counterparts
  2. Commit 4/4 contains the same semantic changes as lore but applied to a different file context due to the preceding QCLINUX revert
  3. All commit messages preserve authorship, tags, and rationale correctly
  4. All three FROMLIST commits have proper Link: tags to lore

Recommendation: The context mismatch in commit 4/4 should be documented in the PR description to explain why the patch context differs from upstream. Consider adding a note like:

Note: Commit 4/4 applies to a different file context than the upstream lore patch
because commit 1/4 reverted the Bluetooth workaround from monaco-evk-common.dtsi.
The semantic content is identical to the lore patch.

Final Summary

  1. Lore link present: Yes for commits 2/4, 3/4, 4/4 (FROMLIST); No for commit 1/4 (QCLINUX - vendor-only, no lore link expected or required)

  2. Lore link matches PR commits: Yes for commits 2/4 and 3/4 (byte-for-byte identical); Partial for commit 4/4 (semantically identical, context differs due to tree state); N/A for commit 1/4

  3. Upstream patch status: ⏳ Decision Pending for all three FROMLIST commits - Posted July 29, 2026 as v2 series; commits 1/3 and 2/3 have Reviewed-by from Konrad Dybcio (Qualcomm DT maintainer); commit 3/3 awaiting review; no merge/applied/queued signal found in lore threads yet

  4. PR present in qcom-next/topics: Yes - all 4 commits present in topics branch per integration_presence_report.md (commits 1/4, 2/4, 3/4, 4/4 all show "present" status with exact patch-id matches in topics)

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

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 4e84721 present
2/4 [PATCH 2/4] FROMLIST: arm64: dts: qcom: monaco: Add compatible to the missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at a6bd4e2 present
3/4 [PATCH 3/4] FROMLIST: arm64: dts: qcom: monaco: Add graph partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 2479c6b present
4/4 [PATCH 4/4] FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #893 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 1 warning: undocumented vendor prefix pciclass
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no C/H changes)
check-patch-compliance 2 failures: QCLINUX prefix + content mismatch
tag-check All commits have valid prefixes

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #893 - arm64: dts: qcom: monaco-evk: PCIe M.2 Key E connector support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30809872896

Checker Result Summary
checkpatch ⚠️ 1 warning: undocumented vendor prefix pciclass
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no C/H changes)
check-patch-compliance 2 failures: QCLINUX prefix + content mismatch
tag-check All commits have valid prefixes

⚠️ checkpatch

Root cause: Commit 2 uses vendor prefix pciclass which is not documented in vendor-prefixes.yaml.

Failure details:

Commit 4d3d7e33c9c3 ("FROMLIST: arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port")
WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#28: FILE: arch/arm64/boot/dts/qcom/monaco.dtsi:2449:
+				compatible = "pciclass,0604";

Fix: The pciclass vendor prefix is a special PCI class code identifier used by the PCI subsystem. This is a false positivepciclass,0604 is a standard PCI-to-PCI bridge class code and does not require a vendor-prefixes.yaml entry. The warning can be safely ignored.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 1bc9614caed6..afed08d409a2

❌ check-patch-compliance

Root cause: Two distinct failures across two commits.

Failure 1: Commit 1 — Invalid prefix QCLINUX:

Failure details:

Checking commit: QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: monaco-evk: Enable Bluetooth support"
Commit summary does not start with a required prefix

Analysis: The check-patch-compliance checker only accepts FROMLIST:, FROMGIT:, UPSTREAM:, and BACKPORT: prefixes. The QCLINUX: prefix is a vendor-internal tag that is not recognized by this checker. This is a known limitation of the checker — vendor-only commits with QCLINUX: will always fail this check.

Fix: This is a vendor-only revert commit with no upstream equivalent. The checker limitation cannot be resolved without changing the commit prefix to one of the accepted values, which would be semantically incorrect. No action required — this is an expected failure for vendor-only commits.


Failure 2: Commit 4 — Content mismatch with Link

Failure details:

Checking commit: FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
Change is different from the one mentioned in Link

Analysis: The patch content in the PR differs from the upstream patch at the provided lore.kernel.org link.

Link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/

Root cause investigation needed:

  1. Fetch the upstream patch:

    b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/ -o /tmp/upstream
  2. Compare the diff content:

    # Extract +/- lines from PR commit
    git format-patch -1 afed08d409a2 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr.diff
    
    # Extract +/- lines from upstream patch
    awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream.diff
    
    # Compare
    diff /tmp/pr.diff /tmp/upstream.diff
  3. Classify the difference:

    • Context-only shift (line numbers changed but content identical) → Not a real issue
    • Legitimate adaptation (e.g., dependency on prior commit in the series) → Document in commit message
    • Missing hunk → Add the missing change
    • Extra hunk → Remove or attribute separately

Fix: Without access to the upstream patch content, I cannot determine the exact nature of the mismatch. The author should:

  1. Verify the patch content matches the upstream version
  2. If there are intentional changes (e.g., due to backport context), document them in the commit message with a note like:
    [ Adapted for qcom tree: <explanation of changes> ]
    
  3. If the changes are unintentional, rebase and apply the exact upstream patch

Reproduce locally:

cd /path/to/kernel
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base 1bc9614caed6 --head afed08d409a2

Verdict

2 blockers to fix before merge:

  1. check-patch-compliance commit 1 (QCLINUX prefix) — This is a known checker limitation for vendor-only commits. The commit is semantically correct. This failure can be accepted as-is if the maintainer approves vendor-only commits in this branch.

  2. check-patch-compliance commit 4 (content mismatch) — This is a genuine blocker. The patch content must match the upstream lore link, or any intentional deviations must be documented in the commit message. Action required: Investigate and fix the content mismatch.

Non-blocking issues:

  • checkpatch warning on pciclass vendor prefix is a false positive and can be ignored.

@WeiDeng-weiden

Copy link
Copy Markdown
Author

PR #893 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 1 warning: undocumented vendor prefix pciclass
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check ✅ Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no C/H changes)
check-patch-compliance ❌ 2 failures: QCLINUX prefix + content mismatch
tag-check ✅ All commits have valid prefixes
Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #893 - arm64: dts: qcom: monaco-evk: PCIe M.2 Key E connector support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30809872896

Checker
Result
Summary

checkpatch
⚠️
1 warning: undocumented vendor prefix pciclass

dt-binding-check
⏭️
Skipped (no binding changes)

dtb-check

Passed

sparse-check
⏭️
Skipped (no C/H changes)

check-uapi-headers
⏭️
Skipped (no C/H changes)

check-patch-compliance

2 failures: QCLINUX prefix + content mismatch

tag-check

All commits have valid prefixes

⚠️ checkpatch

Root cause: Commit 2 uses vendor prefix pciclass which is not documented in vendor-prefixes.yaml.
Failure details:

Commit 4d3d7e33c9c3 ("FROMLIST: arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port")
WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#28: FILE: arch/arm64/boot/dts/qcom/monaco.dtsi:2449:
+				compatible = "pciclass,0604";

Fix: The pciclass vendor prefix is a special PCI class code identifier used by the PCI subsystem. This is a false positivepciclass,0604 is a standard PCI-to-PCI bridge class code and does not require a vendor-prefixes.yaml entry. The warning can be safely ignored.
Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 1bc9614caed6..afed08d409a2

❌ check-patch-compliance

Root cause: Two distinct failures across two commits.

Failure 1: Commit 1 — Invalid prefix QCLINUX:

Failure details:

Checking commit: QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: monaco-evk: Enable Bluetooth support"
Commit summary does not start with a required prefix

Analysis: The check-patch-compliance checker only accepts FROMLIST:, FROMGIT:, UPSTREAM:, and BACKPORT: prefixes. The QCLINUX: prefix is a vendor-internal tag that is not recognized by this checker. This is a known limitation of the checker — vendor-only commits with QCLINUX: will always fail this check.
Fix: This is a vendor-only revert commit with no upstream equivalent. The checker limitation cannot be resolved without changing the commit prefix to one of the accepted values, which would be semantically incorrect. No action required — this is an expected failure for vendor-only commits.

Failure 2: Commit 4 — Content mismatch with Link

Failure details:

Checking commit: FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
Change is different from the one mentioned in Link

Analysis: The patch content in the PR differs from the upstream patch at the provided lore.kernel.org link.
Link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/
Root cause investigation needed:

  1. Fetch the upstream patch:

    b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/ -o /tmp/upstream
  2. Compare the diff content:

    # Extract +/- lines from PR commit
    git format-patch -1 afed08d409a2 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr.diff
    
    # Extract +/- lines from upstream patch
    awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream.diff
    
    # Compare
    diff /tmp/pr.diff /tmp/upstream.diff
  3. Classify the difference:

    • Context-only shift (line numbers changed but content identical) → Not a real issue
    • Legitimate adaptation (e.g., dependency on prior commit in the series) → Document in commit message
    • Missing hunk → Add the missing change
    • Extra hunk → Remove or attribute separately

Fix: Without access to the upstream patch content, I cannot determine the exact nature of the mismatch. The author should:

  1. Verify the patch content matches the upstream version
  2. If there are intentional changes (e.g., due to backport context), document them in the commit message with a note like:
    [ Adapted for qcom tree: <explanation of changes> ]
    
  3. If the changes are unintentional, rebase and apply the exact upstream patch

Reproduce locally:

cd /path/to/kernel
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base 1bc9614caed6 --head afed08d409a2

Verdict

2 blockers to fix before merge:

  1. check-patch-compliance commit 1 (QCLINUX prefix) — This is a known checker limitation for vendor-only commits. The commit is semantically correct. This failure can be accepted as-is if the maintainer approves vendor-only commits in this branch.
  2. check-patch-compliance commit 4 (content mismatch) — This is a genuine blocker. The patch content must match the upstream lore link, or any intentional deviations must be documented in the commit message. Action required: Investigate and fix the content mismatch.

Non-blocking issues:

  • checkpatch warning on pciclass vendor prefix is a false positive and can be ignored.

Adapted for vendor tree: applied to monaco-evk.dts after reverting the Bluetooth workaround from monaco-evk-common.dtsi.
Please review

@WeiDeng-weiden

Copy link
Copy Markdown
Author

The check-patch-compliance failure on commit 4/4 is due to a vendor tree
adaptation: the upstream patch modifies monaco-evk.dts directly, but in
qcom-6.18.y the file arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi
exists (introduced by other teams, not by this PR), which changes the file
structure. Some adjustments were needed to apply the patch correctly in this
context. Once monaco-evk-common.dtsi is removed in the future, this PR
will be fully aligned with upstream.

The QCLINUX: prefix failure on commit 1/4 is a known checker limitation
for vendor-only revert commits — no action needed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This reverts commit ba34902.

Add a reason as well, why.

@WeiDeng-weiden

Copy link
Copy Markdown
Author

This reverts commit ba34902.

Add a reason as well, why.

Added in the commit message.
The WORKAROUND commit modelled BT power supplies as fixed regulators to
work around the missing M.2 Key E connector binding. Now that the proper
M.2 solution is described in the subsequent commits, this workaround is
no longer needed.

@qlijarvis

Copy link
Copy Markdown

PR #893 — validate-patch

PR: #893

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — all 3 FROMLIST commits have correct lore.kernel.org links; commit 1/4 is QCLINUX (no lore link expected)
  2. Lore link matches PR commits: No — commit 4/4 is missing regulator-always-on; property in vreg_wcn_3p3 regulator (semantic change from upstream)
  3. Upstream patch status: ⏳ Decision Pending — all 3 patches have Reviewed-by: Konrad Dybcio, but no "applied"/"queued" signal found; posted July 29, 2026 (12 days ago)
  4. PR present in qcom-next/topics: Yes - all 4 commit(s) are present in qcom-next or topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: [#893] arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK
Upstream commits: 3 FROMLIST patches from lore.kernel.org
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream All FROMLIST commits match lore subjects
Body preserves rationale Key rationale preserved in all commits
Fixes tag present/correct N/A No Fixes tags required
Authorship preserved Wei Deng authorship correct for all FROMLIST commits
Backport note (if applicable) N/A FROMLIST commits, not backports

Diff

File Status Notes
monaco-evk-common.dtsi (commit 1/4) N/A QCLINUX revert — no lore link expected
monaco.dtsi (commit 2/4) Diff matches lore patch v2 1/3 exactly
monaco.dtsi (commit 3/4) Diff matches lore patch v2 2/3 exactly
monaco-evk.dts (commit 4/4) Missing regulator-always-on; property in vreg_wcn_3p3 regulator

Issues

Commit 4/4 diff mismatch:
The PR patch for monaco-evk.dts is missing the regulator-always-on; property in the vreg_wcn_3p3 regulator node. The lore patch v2 3/3 includes both regulator-always-on; and regulator-boot-on;, but the PR only has regulator-boot-on;.

Lore patch (correct):

+	vreg_wcn_3p3: regulator-wcn-3p3 {
+		...
+		regulator-always-on;
+		regulator-boot-on;
+	};

PR patch (incorrect):

+	vreg_wcn_3p3: regulator-wcn-3p3 {
+		...
+		regulator-boot-on;
+	};

This is a semantic change that alters the regulator behavior — the regulator will not be kept always-on as intended by the upstream patch.

Verdict

Do not merge. Commit 4/4 must be amended to add the missing regulator-always-on; property to the vreg_wcn_3p3 regulator node to match the lore patch exactly.

Final Summary

  1. Lore link present: Yes — all 3 FROMLIST commits have correct lore.kernel.org links; commit 1/4 is QCLINUX (no lore link expected)
  2. Lore link matches PR commits: No — commit 4/4 is missing regulator-always-on; property in vreg_wcn_3p3 regulator (semantic change from upstream)
  3. Upstream patch status: ⏳ Decision Pending — all 3 patches have Reviewed-by: Konrad Dybcio, but no "applied"/"queued" signal found; posted July 29, 2026 (12 days ago)
  4. PR present in qcom-next/topics: Yes — all 4 commits present in qcom-next or topics 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: 8d5dbc1b17adf8fe86a41adcda686785e73f5414
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 4e84721 present
2/4 [PATCH 2/4] FROMLIST: arm64: dts: qcom: monaco: Add compatible to the missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at a6bd4e2 present
3/4 [PATCH 3/4] FROMLIST: arm64: dts: qcom: monaco: Add graph partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 2479c6b present
4/4 [PATCH 4/4] FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #893 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ No binding changes
dtb-check All DTB validation passed
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 2 issues: QCLINUX prefix not allowed, content mismatch
tag-check All commits have valid prefixes

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #893 - arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31350478243
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ No binding changes
dtb-check All DTB validation passed
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance 2 issues: QCLINUX prefix not allowed, content mismatch
tag-check All commits have valid prefixes

❌ checkpatch

Root cause: Commit 2 uses the vendor prefix pciclass which is not documented in vendor-prefixes.yaml.

Failure details:

Commit 1dc64714b8bb ("FROMLIST: arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port")
WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#28: FILE: arch/arm64/boot/dts/qcom/monaco.dtsi:2449:
+				compatible = "pciclass,0604";

Fix: This is a false positive. The pciclass prefix is a special PCI-defined compatible string format used for PCI class codes, not a vendor prefix. It's part of the PCI DT binding specification and does not need to be added to vendor-prefixes.yaml. This warning can be safely ignored.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 8635749eab9a..e339bd52b8a2

❌ check-patch-compliance

Root cause: Two issues detected:

  1. Commit 1 uses QCLINUX: prefix which is not in the checker's allowed list
  2. Commit 4 has content differences from the upstream lore patch

Failure details:

Checking commit: QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: monaco-evk: Enable Bluetooth support"
Commit summary does not start with a required prefix

Checking commit: FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector
Change is different from the one mentioned in Link

Analysis:

Issue 1 - QCLINUX prefix:
The QCLINUX: prefix is a vendor-internal tag used in the Qualcomm Linux tree but is not accepted by check-patch-compliance. The checker only accepts: FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:.

This is a known limitation of the checker. The commit is a revert of a vendor-specific workaround, so QCLINUX: is the appropriate prefix. However, the checker will always fail for vendor-only commits with this prefix.

Issue 2 - Content mismatch:
Commit 4 (f667cee3dd3b) differs from the upstream lore patch at:
https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/

This requires investigation to determine if the differences are:

  • Context-only shifts (acceptable)
  • Legitimate adaptations for the vendor tree (should be documented)
  • Missing or extra hunks (needs correction)

Fix:

For Issue 1: No fix possible within the checker framework. The QCLINUX: prefix is correct for vendor-only changes. This is an expected checker limitation.

For Issue 2: Fetch the upstream patch and compare:

b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/ -o /tmp/out
git format-patch -1 f667cee3dd3b --stdout > /tmp/pr-commit.patch
# Compare the diff sections
diff <(awk '/^diff/,/^--$/' /tmp/pr-commit.patch | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/out/*.mbx | grep -E '^[+-][^+-]')

If differences are legitimate adaptations (e.g., additional context needed for the vendor tree), document them in the commit message. If there are missing hunks, add them. If there are extra hunks unrelated to the upstream patch, consider splitting them into a separate commit.

Reproduce locally:

# For the QCLINUX prefix issue - this will always fail in the checker
# For the content mismatch:
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/

Verdict

2 blockers require attention before merge:

  1. checkpatch warning (non-blocking): The pciclass vendor warning is a false positive and can be ignored. The pciclass,0604 compatible string is a standard PCI class code format.

  2. check-patch-compliance Issue 1 (known limitation): The QCLINUX: prefix failure is expected for vendor-only commits. This is a checker limitation, not a patch defect. The prefix is correct.

  3. check-patch-compliance Issue 2 (requires investigation): The content mismatch on commit 4 needs investigation. Verify whether the differences from upstream are intentional adaptations or unintended deviations. If intentional, document them in the commit message.

Recommendation: Investigate and resolve the content mismatch in commit 4. The other two issues are either false positives or known checker limitations and do not block merge.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case *

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Build Status: ✅ BUILD SUCCEEDED

The kernel build completed successfully with no compilation errors. The workflow failure occurred during the test submission phase, not during compilation.

Phase Status Details
Kernel Build ✅ Pass Build completed successfully at 2026-08-11T10:58:10Z
DTC (Device Tree) ✅ Pass All device tree files compiled without errors
Test Submission ❌ Fail LAVA job submission timeout (network connectivity issue)

Failure Root Cause

The PR did NOT introduce any build errors. The workflow failure was caused by:

Unable to connect: HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): 
Read timed out. (read timeout=20.0)

This is an infrastructure/network issue with the LAVA test submission service, not a code problem.

Verdict

0 of 0 errors are introduced by this PR. The build succeeded completely. The workflow failure is due to external infrastructure (LAVA server connectivity timeout) and is unrelated to the PR changes.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Build Status: ✅ SUCCESSFUL

Both kernel builds (standard and RT) completed successfully with no compilation errors.

Workflow Failure Root Cause

The workflow was marked as failed due to LAVA test server connectivity issues, not build failures.

Test Target Error Type Root Cause
All 10 test targets LAVA submission timeout/gateway errors LAVA server (lava-oss.qualcomm.com) was unreachable during test submission

Error patterns observed:

  • HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
  • 504 Server Error: Gateway Time-out
  • 502 Server Error: Bad Gateway

Verdict

0 compilation errors. The PR introduces no build failures. The workflow failure is due to infrastructure issues (LAVA server unavailability) unrelated to the code changes in this PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Build Status: ✅ SUCCESS

Both the regular kernel build and RT kernel build completed successfully with no compilation errors.

Test Submission Status: ❌ FAILED

All LAVA test job submissions failed due to LAVA server connectivity issues (not PR-related):

Target Error Type Root Cause
hamoa-iot-evk Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
monaco-evk Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
qcs615-ride Gateway timeout 504 Server Error: Gateway Time-out for url: lava-oss.qualcomm.com/RPC2
qcs6490-rb3gen2 Gateway timeout 504 Server Error: Gateway Time-out for url: lava-oss.qualcomm.com/RPC2
qcs8300-ride Bad gateway 502 Server Error: Bad Gateway for url: lava-oss.qualcomm.com/RPC2
qcs9100-ride-r3 Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
qrb2210-rb1 Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
shikra-iqs-evk Bad gateway 502 Server Error: Bad Gateway for url: lava-oss.qualcomm.com/RPC2
lemans-evk Submission error ERROR: LAVA submission did not return a numeric job ID
purwa-iot-evk (Similar LAVA issue) LAVA server connectivity problem

Verdict

0 compilation errors found. The PR introduces only device tree changes (.dtsi and .dts files) which compiled successfully. The workflow failure is entirely due to infrastructure issues with the LAVA test server (lava-oss.qualcomm.com), not code problems introduced by this PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Build Status: ✅ BUILD SUCCEEDED

The kernel build completed successfully for both standard and RT configurations. The workflow failure was caused by LAVA test job submission failures, not compilation errors.

Component Status Notes
Kernel Build (standard) ✅ Pass No compilation errors
Kernel Build (RT) ✅ Pass No compilation errors
DT Compilation ✅ Pass Pre-existing warnings only
LAVA Test Submission ❌ Fail Infrastructure issue

Verdict

No compilation errors were introduced by this PR. The workflow failure is due to test infrastructure issues (LAVA job submission), not code problems. All DT warnings observed are pre-existing and unrelated to the files modified in this PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

# Error File:Line PR-introduced? Root Cause
N/A No compilation errors N/A N/A Build succeeded; workflow failed due to LAVA test submission infrastructure errors

Verdict

No compilation errors found. The kernel build completed successfully for both default and RT variants. The workflow failure was caused by LAVA test infrastructure issues (502 Bad Gateway, 504 Gateway Timeout errors) when attempting to submit test jobs, not by any code introduced in this PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Build Status: ✅ SUCCESSFUL

Both kernel builds (standard and RT) completed successfully with no compilation errors.

Workflow Failure Root Cause

The workflow was marked as failed due to LAVA test job submission failures, not build failures. All 10 test jobs failed to submit with the error:

Unable to connect: HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): 
Read timed out. (read timeout=20.0)
# Error Type Component PR-introduced? Root Cause
1 Network Timeout LAVA Submission No Infrastructure issue - LAVA server unreachable during test submission phase

Verdict

Zero compilation errors. The workflow failure is due to infrastructure (LAVA connectivity), not code issues introduced by this PR.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Verdict

No compilation errors found. The kernel build completed successfully. The workflow failure was caused by a LAVA test infrastructure connection timeout during test job submission, not by any code issues in the PR.

Build Status:SUCCESS
Test Submission Status:FAILED (Infrastructure issue - LAVA connection timeout)

Root Cause

The workflow was marked as failed because the LAVA job submission step timed out when attempting to connect to lava-oss.qualcomm.com:443. This is an infrastructure/network issue, not a code quality issue.

Error from test logs:

Unable to connect: HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out. (read timeout=20.0)

PR Changes Summary

This PR makes the following changes to device tree files:

  1. Patch 1/4: Reverts a workaround for Monaco EVK Bluetooth support (removes fixed regulators)
  2. Patch 2/4: Adds compatible = "pciclass,0604" to PCIe Root Port in monaco.dtsi
  3. Patch 3/4: Adds graph port/endpoint anchors to pcieport0 and uart2 in monaco.dtsi
  4. Patch 4/4: Describes the PCIe M.2 Key E connector in monaco-evk.dts with proper power supply and graph connections

All changes are device tree modifications only—no C code changes that could introduce compilation errors.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Build Status: ✅ SUCCESS

Both kernel builds (standard and RT) completed successfully with no compilation errors.

Test Status: ❌ FAILED (Infrastructure Issue)

All test jobs failed due to LAVA server connectivity issues, not due to code problems.

Test Target Error Type Root Cause
monaco-evk Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
hamoa-iot-evk Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
lemans-evk Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
qcs615-ride Gateway timeout 504 Server Error: Gateway Time-out
qcs6490-rb3gen2 Gateway timeout 504 Server Error: Gateway Time-out
qcs8300-ride Bad gateway 502 Server Error: Bad Gateway
qcs9100-ride-r3 Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
qrb2210-rb1 Connection timeout HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out
shikra-iqs-evk Bad gateway 502 Server Error: Bad Gateway

Verdict

No compilation errors were introduced by this PR. The workflow failure is entirely due to LAVA infrastructure connectivity issues at the time of the test run. The PR changes are safe to merge from a build perspective.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Build Status: ✅ SUCCESS

Both kernel builds (standard and RT) completed successfully with zero compilation errors.

Build Type Status Duration
Standard Build ✅ Pass ~68 minutes
RT Build ✅ Pass ~14 minutes

Workflow Failure Root Cause

The workflow was marked as failed due to LAVA test job submission timeouts, NOT due to compilation errors.

Error: Unable to connect: HTTPSConnectionPool(host='lava-oss.qualcomm.com', port=443): Read timed out. (read timeout=20.0)

All 10 test jobs (hamoa-iot-evk, lemans-evk, monaco-evk, purwa-iot-evk, qcs615-ride, qcs6490-rb3gen2, qcs8300-ride, qcs9100-ride-r3, qrb2210-rb1, shikra-iqs-evk) failed to submit to the LAVA server due to network connectivity issues.

Verdict

0 compilation errors found. The PR changes compile cleanly. The workflow failure is an infrastructure issue (LAVA server connectivity timeout), not a code quality issue.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #893

PR: #893
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

# Error File:Line PR-introduced? Root Cause
N/A No compilation errors N/A N/A Build succeeded

Verdict

✅ Build succeeded. Both standard and RT kernel builds completed successfully. The workflow failure was caused by LAVA test infrastructure issues (502 Bad Gateway errors when submitting test jobs), not by compilation problems. The PR changes compile cleanly.

📎 Detailed analysis: Full report

@WeiDeng-weiden

Copy link
Copy Markdown
Author

🔨 Build Failure Analysis — PR #893

PR: #893 Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/31479517929

Error File:Line PR-introduced? Root Cause

N/A No compilation errors N/A N/A Build succeeded

Verdict

✅ Build succeeded. Both standard and RT kernel builds completed successfully. The workflow failure was caused by LAVA test infrastructure issues (502 Bad Gateway errors when submitting test jobs), not by compilation problems. The PR changes compile cleanly.

📎 Detailed analysis: Full report

Hi Salendarsingh Gaud (@sgaud-quic), could you please take a look at this LAVA infra issue?

@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 ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
BT_FW_KMD_Service ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ◻️
BT_ON_OFF ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️
BT_SCAN ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ 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 ⚠️ skip ◻️ ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
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 ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ◻️
KVM_EL2_DTB ❌ Fail ◻️ ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ◻️
KVM_Infra ❌ Fail ◻️ ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ◻️
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 ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ◻️ ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ❌ Fail ◻️ ❌ Fail ❌ 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 ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ 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 ◻️
remoteproc ✅ 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 ◻️ ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️

Wei Deng added 4 commits August 20, 2026 08:14
…etooth support"

This reverts commit ba34902.

The WORKAROUND commit modelled BT power supplies as fixed regulators to
work around the missing M.2 Key E connector binding. Now that the proper
M.2 solution is described in the subsequent commits, this workaround is
no longer needed.

Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
Add 'compatible = "pciclass,0604"' to the pcieport0 node in monaco.dtsi
to allow the PCI subsystem to associate the DT node with the PCI-to-PCI
bridge device. This is required for downstream DT nodes (such as M.2
connectors described as graph endpoints of the Root Port) to be matched
to PCI devices.

Link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-1-0548e1dab760@oss.qualcomm.com/
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
…o pcieport0 and uart2

Add empty graph port/endpoint nodes to pcieport0 and uart2 in monaco.dtsi
so that board files can reference the endpoint labels (pcieport0_ep,
uart2_ep) to describe connections to M.2 Key E connectors via
remote-endpoint overrides.

Link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-2-0548e1dab760@oss.qualcomm.com/
Suggested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
…onnector

The monaco EVK has a PCIe M.2 Mechanical Key E connector to connect
wireless connectivity cards over PCIe and UART interfaces. Hence,
describe the connector node and link it with the PCIe 0 Root Port and
UART2 nodes through graph port/endpoint.

The M.2 Key E connector is powered by a 3.3V fixed regulator
(vreg_wcn_3p3) which is sourced from the board's 12V DC input rail
(vreg_dcin_12v). Both regulators are always-on and are required by the
pcie-m2-e-connector binding.

Also add the serial1 = &uart2 alias, which is required for the
Bluetooth serdev device to be enumerated on the UART2 interface.

The graph endpoint anchors (pcieport0_ep, uart2_ep) referenced here are
defined in monaco.dtsi (see "arm64: dts: qcom: monaco: Add graph
port/endpoint anchors to pcieport0 and uart2").

Link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #893

Job 207686 | SoC shikra-iqs-evk

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

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

  Case 1: GIC
  1. Failed case: GIC
  2. Root cause: Test script bug — the GIC test script hardcodes an assumption of 8 CPUs and attempts to parse interrupt counts for CPUs 4-7 from /proc/interrupts, but the shikra-iqs-evk board has only 4 CPUs (0-3). When the script tries to extract columns 5-8 (which don't exist), it gets string fields ("GICv3", "Level", "arch_timer") instead of integers, causing bash comparison errors: [: GICv3: integer expected, [: Level: integer expected, [: arch_timer: integer expected.
  3. Possible fix: Update the GIC test script (/lava-207686/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 and only validate interrupt counts for CPUs that actually exist on the target platform.
  4. Detail analysis attachment: failed_case_job207686_1_detailed.md
  Case 2: Remoteproc Boot Failure — modem subsystem not started
  1. Failed case: Remoteproc Boot Failure — modem subsystem not started
  2. Root cause: Remoteproc0 (modem subsystem) on shikra-iqs-evk is configured for manual/on-demand start and was never explicitly booted; the generic remoteproc test expects all remoteprocs to be in "running" state but does not trigger modem boot, resulting in a false failure for a platform where modem auto-start is not enabled.
  3. Possible fix: Update the remoteproc test to skip remoteproc0 (modem) on shikra-iqs-evk platform, or add a modem-specific test that explicitly starts the modem before checking state; alternatively, if modem auto-start is desired, enable it in the shikra device tree by adding the modem subsystem to the auto-boot list.
  4. Detail analysis attachment: failed_case_job207686_2_detailed.md
  Case 3: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Accept PR monaco-evk: Enable PCIe M.2 Key E connector #893 - it introduces no regressions on Shikra. The probe failures are pre-existing platform issues that should be tracked separately. Consider updating the Probe_Failure_Check test to use a platform-specific baseline/allowlist to distinguish between known benign probe failures and genuine regressions.
  4. Detail analysis attachment: failed_case_job207686_3_detailed.md
  Case 4: USBHost
  1. Failed case: USBHost
  2. Root cause: Test infrastructure issue — no USB devices physically connected or enumerated on shikra-iqs-evk board; USB host controller initialized successfully (device 4e00000.usb added to IOMMU group 5) but no downstream USB devices detected when test ran.
  3. Possible fix: Verify physical USB device connection to shikra-iqs-evk board USB host port; if device is connected, check USB host/gadget mode configuration in device tree or bootloader; re-run test after confirming USB device presence.
  4. Detail analysis attachment: failed_case_job207686_4_detailed.md
  Case 5: BT_SCAN
  1. Failed case: BT_SCAN
  2. Root cause: Bluetooth scan test failed to discover any nearby Bluetooth devices in the LAVA lab test environment despite the Bluetooth controller (hci0) being fully functional, powered on, and successfully entering discovery mode. The PR changes only affect Monaco EVK device tree (M.2 connector binding and Bluetooth UART configuration), while this test runs on Shikra IQS EVK, making the failure unrelated to the PR changes.
  3. Possible fix: This is a test environment issue, not a kernel regression. The BT_SCAN test requires discoverable Bluetooth devices within RF range of the Shikra IQS EVK board in the LAVA lab. Recommended actions: (1) Verify Bluetooth beacon/test device availability in the lab environment for shikra-iqs-evk, (2) Check RF shielding or interference that may prevent device discovery, (3) Consider marking BT_SCAN as a conditional test that requires external Bluetooth devices, or (4) Re-run the test to confirm this is not a transient RF environment issue.
  4. Detail analysis attachment: failed_case_job207686_5_detailed.md
  Case 6: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is not a PR-introduced regression. The PR changes only Monaco device tree files, while this test ran on Shikra IQS EVK. The KVM_Driver test failure is a pre-existing platform limitation — Shikra IQS EVK does not support KVM virtualization. The test should either be skipped on this platform or the platform should be configured with proper hypervisor support if KVM is required.
  4. Detail analysis attachment: failed_case_job207686_6_detailed.md
  Case 7: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM/virtualization is not available on the Shikra IQS EVK platform because HYP (EL2 hypervisor) mode is not available, as indicated by the kernel message "kvm [1]: HYP mode not available" at boot time. The test failure is a platform limitation, not a regression introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893 (which only modifies Monaco SoC device tree files for M.2 connector support).
  3. Possible fix: This is not a bug requiring a fix. The KVM tests should be skipped or marked as "not applicable" for the Shikra IQS EVK platform in the LAVA test configuration, as this platform does not support virtualization/HYP mode. The PR changes are unrelated (Monaco SoC DT changes) and do not affect KVM functionality.
  4. Detail analysis attachment: failed_case_job207686_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: The qcom_rng hardware block on Shikra IQS EVK is not properly initialized (clocked/powered/accessible) when the driver attempts to read from MMIO register 0xffff800082c3d004, causing a synchronous external abort (ESR 0x96000010, DFSC 0x10). This is a pre-existing Shikra platform issue — the RNG hardware is not accessible at runtime, likely due to missing clock/power domain configuration in the device tree or required secure firmware initialization. Not introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893 (which only touches Monaco device trees).
  3. Possible fix: Investigate the qcom_rng device tree node for Shikra IQS EVK — verify all required clocks, power domains, and register addresses are correctly specified. Compare with working platforms (SM8450, SM8550) to identify missing properties. Add runtime PM support or defensive register access checks in qcom_rng driver to handle hardware unavailability gracefully (return -EIO instead of crashing). Short-term: disable qcom_hwrng test on Shikra until hardware initialization is fixed. Verify fix by booting Shikra, running dd if=/dev/hwrng bs=1 count=100 without crash, and re-running LAVA qcom_hwrng test.
  4. Detail analysis attachment: failed_case_job207686_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: Hardware bus error (synchronous external abort) when qcom_rng driver attempted to read from RNG hardware registers at qcom_rng_read+0xc4. The RNG hardware on shikra-iqs-evk is either not powered/clocked correctly, not accessible due to security policy, or has incorrect MMIO mapping in the device tree.
  3. Possible fix: This is a pre-existing platform issue unrelated to the PR (PR modifies Monaco EVK, crash is on Shikra EVK). Short-term: Disable qcom_hwrng test on shikra-iqs-evk or blacklist qcom_rng module. Long-term: Investigate Shikra device tree RNG node configuration - verify MMIO address, clocks, power domains, and security policy (TrustZone access control) for the RNG hardware. Check if RNG hardware is present and enabled in this board variant.
  4. Detail analysis attachment: failed_case_job207686_9_detailed.md
  Case 10: 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 RNG driver (qcom_rng) triggered a synchronous external abort at address 0x000000b408baaa40 during qcom_rng_read+0xc4 when the qcom_hwrng test attempted to read entropy from /dev/hwrng; the abort indicates the driver attempted to access an invalid or unmapped hardware register, causing the kernel to panic and the shikra-iqs-evk board to reboot into EDL mode and fail to complete subsequent boot, resulting in LAVA test timeout.
  3. Possible fix: This is a pre-existing kernel driver bug not introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893 (which only modifies Monaco device tree files). The qcom_rng driver for shikra-iqs-evk is accessing an incorrect or unmapped MMIO address. Immediate mitigation: disable the qcom_hwrng test for shikra-iqs-evk until the driver is fixed. Proper fix: verify the RNG hardware base address and register offsets in the shikra device tree match the hardware specification; check if the RNG hardware block requires additional power/clock enablement before register access; add proper error handling in qcom_rng_read to detect and handle external aborts gracefully.
  4. Detail analysis attachment: failed_case_job207686_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 (synchronous external abort: 0x96000010) in qcom_rng_read+0xc4 at instruction b940035c (ldr w28, [x26, #0]) while reading from qcom_rng hardware registers during qcom_hwrng test execution. The fault indicates the MMIO address (x26 = 0xffff800082c3d004) is either unmapped, incorrectly mapped, or the hardware RNG block is not powered/clocked. After the initial fault, EFI pstore write attempts triggered cascading "[Firmware Bug]: Unable to handle paging request in EFI runtime service" errors, followed by kernel panic. The system hung in panic path, causing LAVA test-shell to timeout after 2400 seconds (40 minutes). This is a pre-existing kernel/platform issue unrelated to the PR (PR modifies only Monaco EVK DT for M.2 connector and Bluetooth, not shikra-iqs-evk or qcom_rng driver).
  3. Possible fix: Verify qcom_rng device tree node on shikra-iqs-evk includes correct MMIO base address, size, and required clocks/power-domains. Check that RNG hardware block is powered and clocked before driver probe. Add kernel cmdline reboot=panic_warm qcom_scm.download_mode=1 and ensure TCSR DT node with qcom,dload-mode property exists to enable ramdump collection on panic for detailed register/memory state analysis. If RNG hardware is non-functional on this platform, disable the qcom_hwrng test in the LAVA job definition for shikra-iqs-evk until hardware/firmware is fixed.
  4. Detail analysis attachment: failed_case_job207686_11_detailed.md
  Case 12: ** 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_rng driver crashed with a synchronous external abort (bus fault) when attempting to read from the RNG hardware register at address 0xffff800082c3d000 during the qcom_hwrng test. The hardware block was not accessible, indicating the RNG power domain, clock, or interconnect path was not properly enabled at runtime despite successful driver probe.
  3. Possible fix: This is a pre-existing platform issue unrelated to PR monaco-evk: Enable PCIe M.2 Key E connector #893. Investigate the shikra-iqs-evk device tree RNG node for missing or incorrect power-domains, clocks, or interconnects properties. Verify runtime PM implementation in the qcom_rng driver ensures hardware is powered and clocked before register access. As a short-term mitigation, disable the qcom_hwrng test on shikra-iqs-evk until the hardware configuration is fixed.
  4. Detail analysis attachment: failed_case_job207686_12_detailed.md
Job 207687 | SoC qcs9100-ride

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

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

  Case 1: ** Probe_Failure_Check — Driver probe failures and deferred probe issues
  1. Failed case: ** Probe_Failure_Check — Driver probe failures and deferred probe issues
  2. Root cause: ** Three distinct pre-existing platform issues on qcs9100-ride (sa8775p): (1) Aquantia AQR115C PHY driver fails probe with -EINVAL because the device tree node is missing the required firmware-name property; (2) regulatory.db firmware file is not present in the rootfs firmware search paths; (3) four SPMI PMIC temp-alarm devices (c440000.spmi:pmic@{0,2,4,6}:temp-alarm@a00) remain in deferred probe state, likely due to missing thermal zone bindings or PMIC driver dependencies not resolving.
  3. Possible fix: These are pre-existing qcs9100-ride platform issues unrelated to the PR (which modifies Monaco DTS only). Recommended actions: (1) Add firmware-name property to the Aquantia PHY node in arch/arm64/boot/dts/qcom/sa8775p-ride.dts or mark the property as optional in the driver; (2) include regulatory.db in the rootfs firmware directory (/lib/firmware/); (3) investigate SPMI PMIC temp-alarm deferred probe by checking thermal zone DT bindings and PMIC driver probe order on sa8775p/qcs9100 platforms. Since the PR does not touch qcs9100/sa8775p files, these failures should not block PR merge.
  4. Detail analysis attachment: failed_case_job207687_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Video codec device aa00000.video-codec on qcs9100-ride is missing IOMMU group attachment in device tree, causing the SMMU validation test to fail despite all SMMU functional checks passing.
  3. Possible fix: Add iommus property to the video-codec node at aa00000.video-codec in arch/arm64/boot/dts/qcom/qcs9100-ride.dtsi (or the appropriate qcs9100 DTSI) to bind it to the appropriate SMMU context bank, following the pattern used by other critical masters (UFS, Display, GPU, USB, Ethernet).
  4. Detail analysis attachment: failed_case_job207687_2_detailed.md
  Case 3: USBHost
  1. Failed case: USBHost
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Connect a functional USB device (e.g., USB flash drive, USB keyboard, USB mouse) to one of the USB ports on the qcs9100-ride board before running the USBHost test. Alternatively, update the test script to skip or pass when only root hubs are present if external USB device testing is not required for this platform/configuration.
  4. Detail analysis attachment: failed_case_job207687_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 definition marked as failed due to three genuine test failures within the test suite: Probe_Failure_Check, smmu (video codec aa00000.video-codec missing IOMMU group attachment on qcs9100-ride), and USBHost; these are pre-existing qcs9100-ride platform issues unrelated to the PR's Monaco device tree changes.
  3. Possible fix: The PR changes are not responsible for these failures (PR modifies Monaco DT, test ran on qcs9100-ride); the smmu failure requires adding proper iommu property to the video-codec@aa00000 node in arch/arm64/boot/dts/qcom/qcs9100.dtsi; Probe_Failure_Check and USBHost failures require separate investigation of qcs9100-ride platform-specific driver probe and USB host controller issues.
  4. Detail analysis attachment: failed_case_job207687_4_detailed.md
Job 207688 | SoC monaco-evk

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

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

  Case 1: ** Probe_Failure_Check — WiFi/BT Driver Probe Failures
  1. Failed case: ** Probe_Failure_Check — WiFi/BT Driver Probe Failures
  2. Root cause: ** The PR introduces M.2 Key E connector support for monaco-evk, which enables the WCN6855 WiFi/BT module via PCIe and UART. The ath11k_pci driver probe fails with error -110 (ETIMEDOUT) because required firmware files (ath11k/WCN6855/hw2.1/nfa765/amss.bin, qca/wcnhpbtfw21.tlv, qca/hpbtfw21.tlv) are missing from the rootfs. The cpufreq-dt error -17 (EEXIST) and regulatory.db error -2 (ENOENT) are pre-existing benign issues unrelated to this PR.
  3. Possible fix: Add the missing WCN6855 firmware files to the rootfs image used for monaco-evk CI testing. The required firmware files are: (1) ath11k/WCN6855/hw2.1/nfa765/amss.bin for WiFi, (2) qca/wcnhpbtfw21.tlv and qca/hpbtfw21.tlv for Bluetooth. These files should be sourced from the linux-firmware repository or Qualcomm's firmware package and installed to /lib/firmware/ in the rootfs.
  4. Detail analysis attachment: failed_case_job207688_1_detailed.md
  Case 2: WiFi Driver Probe Failure — ath11k_pci probe failed with error -110 (ETIMEDOUT)
  1. Failed case: WiFi Driver Probe Failure — ath11k_pci probe failed with error -110 (ETIMEDOUT)
  2. Root cause: The ath11k_pci driver probe failed with -ETIMEDOUT because the MHI firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs firmware directory. The MHI bus failed to load the firmware (error -2 / -ENOENT), causing the MHI power-up sequence to timeout after waiting for firmware initialization, which propagated as -110 (ETIMEDOUT) to the ath11k_pci probe function. This is a pre-existing firmware packaging issue on the monaco-evk target, not introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893.
  3. Possible fix: Add the missing WCN6855 firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory (/lib/firmware/). The firmware should be sourced from the linux-firmware repository or Qualcomm's firmware package for WCN6855 hw2.1. Verify the firmware path matches the driver's request exactly, then rebuild the rootfs image and re-test.
  4. Detail analysis attachment: failed_case_job207688_2_detailed.md
  Case 3: WiFi_OnOff — Driver Probe Failure (Firmware Dependency)
  1. Failed case: WiFi_OnOff — Driver Probe Failure (Firmware Dependency)
  2. Root cause: ath11k_pci driver probe failed with -110 (ETIMEDOUT) because the required firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs; MHI subsystem could not load firmware (error -2, ENOENT), causing MHI power-up to timeout and probe to fail.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory, or configure the ath11k driver to use the standard board-agnostic firmware path ath11k/WCN6855/hw2.1/amss.bin if the board-specific variant is not required for monaco-evk.
  4. Detail analysis attachment: failed_case_job207688_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests — WiFi Driver Probe Failure
  1. Failed case: 0_qcom-next-ci-premerge-tests — WiFi Driver Probe Failure
  2. Root cause: ath11k_pci driver probe failed with -ETIMEDOUT (-110) during MHI power-up on monaco-evk; the PR refactored the M.2 Key E connector power supply binding from fixed regulators (vreg_wcn_3p3) to a pcie-m2-e-connector node with vpcie3v3-supply, but the WCN6855 WiFi module is not receiving power correctly, causing MHI initialization timeout and subsequent probe failure.
  3. Possible fix: Verify that the vreg_wcn_3p3 regulator is correctly wired to the M.2 Key E connector's vpcie3v3-supply in monaco-evk.dts; ensure the regulator is enabled and providing 3.3V before PCIe enumeration; check that the pcie-m2-e-connector binding correctly propagates power to the PCIe device; if the issue persists, add debug logging to confirm regulator enable sequence and PCIe link training status, or temporarily revert to the previous fixed-regulator approach to isolate whether the issue is binding-related or hardware-related.
  4. Detail analysis attachment: failed_case_job207688_4_detailed.md
Job 207689 | SoC hamoa-evk

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

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

  Case 1: ** Probe_Failure_Check — Driver Probe Failures (Non-Critical)
  1. Failed case: ** Probe_Failure_Check — Driver Probe Failures (Non-Critical)
  2. Root cause: ** Three pre-existing platform-specific probe failures on hamoa-evk (x7181): (1) qcom_qseecom_uefisecapp failed with -EBUSY (TrustZone service unavailable/busy), (2) qcom-spmi-lpg failed with -EINVAL due to invalid multi-LED DT "reg" property on hamoa PMIC, (3) regulatory.db firmware missing from test rootfs (-ENOENT). None are PR-introduced; PR modifies monaco DTS only, test runs on hamoa.
  3. Possible fix: Suppress this test failure for hamoa-evk as a known platform issue, or update the CI baseline to exclude these three non-critical probe failures from the pass/fail criteria for hamoa. These failures do not affect core system functionality and are unrelated to PR monaco-evk: Enable PCIe M.2 Key E connector #893 changes.
  4. Detail analysis attachment: failed_case_job207689_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Test validation failure — the smmu test script expects USB controllers at addresses a0f8800, a2f8800, a4f8800, a6f8800, a8f8800 and video codec at aa00000 to be attached to IOMMU groups, but these devices are not present in the hamoa-evk device tree or not probed by the kernel. This is a test expectation mismatch with the actual hamoa-evk hardware configuration, not a kernel SMMU failure or crash.
  3. Possible fix: Update the smmu test script's critical master list for hamoa-evk to match the actual hardware configuration (remove expectations for non-existent USB controllers at *f8800 addresses and video codec at aa00000), or add these devices to the hamoa-evk device tree if they are intended to be present but missing from DT.
  4. Detail analysis attachment: failed_case_job207689_2_detailed.md
  Case 3: WiFi_Firmware_Driver
  1. Failed case: WiFi_Firmware_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the WiFi_Firmware_Driver test script's probe failure detection pattern to exclude this specific message when followed by successful probe completion indicators (chip_id, fw_version, interface creation). The pattern should only fail on actual probe failures where the driver returns an error code and does not create a network interface.
  4. Detail analysis attachment: failed_case_job207689_3_detailed.md
  Case 4: WiFi_OnOff
  1. Failed case: WiFi_OnOff
  2. Root cause: Test script incorrectly treats a non-fatal WiFi driver warning ("qmi dma allocation failed ... will try later with small size") as a probe failure, even though the ath12k_wifi7_pci driver successfully loaded firmware, initialized the hardware, and created a functional network interface (wlP4p1s0).
  3. Possible fix: Update the WiFi_OnOff test script's probe-failure detection pattern to exclude the "will try later with small size" warning, which indicates a fallback allocation strategy rather than a fatal error. The driver probe succeeded as evidenced by firmware version reporting and interface creation.
  4. Detail analysis attachment: failed_case_job207689_4_detailed.md
  Case 5: ** KVM Driver Initialization Failure — HYP mode unavailable
  1. Failed case: ** KVM Driver Initialization Failure — HYP mode unavailable
  2. Root cause: ** Gunyah hypervisor is running at EL2 on Hamoa IoT EVK, preventing KVM from initializing because ARM architecture allows only one hypervisor to control EL2 at a time; KVM detects EL2 unavailability and aborts with "HYP mode not available".
  3. Possible fix: Disable Gunyah hypervisor in Hamoa IoT EVK firmware/bootloader configuration if KVM functionality is required, or mark KVM tests as "not applicable" for Gunyah-enabled platforms in the LAVA test suite configuration.
  4. Detail analysis attachment: failed_case_job207689_5_detailed.md
  Case 6: ** KVM_EL2_DTB — Test Environment Limitation (Not Applicable to Platform)
  1. Failed case: ** KVM_EL2_DTB — Test Environment Limitation (Not Applicable to Platform)
  2. Root cause: ** Hamoa platform runs with Gunyah hypervisor occupying EL2 (Hypervisor mode), preventing KVM from initializing. KVM requires exclusive access to EL2 but cannot coexist with Gunyah. The kernel correctly detects "HYP mode not available" (line 3766) and aborts KVM initialization, resulting in no /dev/kvm device node. This is a platform architectural limitation, not a kernel bug or PR-introduced regression.
  3. Possible fix: Update the LAVA test suite configuration for Hamoa to skip KVM tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) since they are not applicable to platforms running with Gunyah hypervisor at EL2. Add platform capability detection or runtime check for "HYP mode not available" message in test scripts to automatically skip with appropriate status instead of reporting failure.
  4. Detail analysis attachment: failed_case_job207689_6_detailed.md
  Case 7: KVM_Infra — Platform Capability Limitation
  1. Failed case: KVM_Infra — Platform Capability Limitation
  2. Root cause: KVM test suite expects /dev/kvm device node, but the Hamoa EVK platform does not support ARM virtualization extensions (EL2/HYP mode). Kernel correctly reports kvm [1]: HYP mode not available at boot, preventing KVM device node creation.
  3. Possible fix: Mark KVM test suite as "not applicable" for Hamoa EVK platform in LAVA job definition, or add platform capability detection to skip KVM tests when CONFIG_KVM=y but HYP mode is unavailable. This is not a kernel regression — it's a test-to-platform mismatch.
  4. Detail analysis attachment: failed_case_job207689_7_detailed.md
  Case 8: Test Suite Execution Failure — 0_qcom-next-ci-premerge-tests
  1. Failed case: Test Suite Execution Failure — 0_qcom-next-ci-premerge-tests
  2. Root cause: The LAVA test suite 0_qcom-next-ci-premerge-tests completed execution successfully (kernel booted, all tests ran to completion), but 7 individual sub-tests failed: (1) WiFi_Firmware_Driver and WiFi_OnOff both failed due to ath12k_wifi7_pci qmi dma allocation failed (7274496 B type 1) during WiFi driver probe on hamoa-evk; (2) KVM_Driver, KVM_EL2_DTB, and KVM_Infra all failed because /dev/kvm device node is not present (KVM functionality not available on this platform/kernel config); (3) smmu test failed because USB controller a0f8800.usb is missing IOMMU group attachment; (4) Probe_Failure_Check detected 3 probe failures: qcom_qseecom_uefisecapp (-16), qcom-spmi-lpg (-22), and regulatory.db firmware load (-2). LAVA marked the overall test case as failed because it contains sub-test failures, not because of a kernel crash or infrastructure issue.
  3. Possible fix: This is NOT a single-root-cause failure requiring a single fix. Each sub-test failure has a different root cause: (1) WiFi: Investigate why ath12k_wifi7_pci QMI DMA allocation of 7.3MB fails on hamoa-evk — may be memory pressure, DMA zone exhaustion, or platform-specific memory layout issue; (2) KVM: Expected behavior if KVM is not enabled or supported on hamoa-evk — verify whether KVM support is intended for this SoC; if yes, enable CONFIG_KVM and ensure hypervisor support in firmware; (3) smmu: Add IOMMU group binding for USB controller a0f8800.usb in the hamoa device tree; (4) Probe failures: Review each probe failure individually — qcom_qseecom_uefisecapp -EBUSY may indicate TrustZone app already loaded, qcom-spmi-lpg -EINVAL suggests DT property mismatch, regulatory.db -ENOENT is a known benign firmware warning. Re-trigger the CI job to confirm reproducibility; if failures persist, triage each sub-test failure independently.
  4. Detail analysis attachment: failed_case_job207689_8_detailed.md
Job 207690 | SoC purwa-evk

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Five pre-existing platform probe failures unrelated to PR893 changes: (1) qcom_qseecom_uefisecapp probe failed with -EBUSY due to secure world resource conflict; (2-3) Two qcom-pcie controllers (1bd0000, 1bf8000) failed with -ENODATA because PHY init sequences are missing from the platform PHY driver; (4) qcom-spmi-lpg PWM controller failed with -EINVAL due to DT property mismatch or missing clock/regulator dependency; (5) regulatory.db firmware file missing (-ENOENT) is a known benign WiFi regulatory database absence that does not affect functionality.
  3. Possible fix: These are pre-existing platform issues not introduced by PR893 (which only adds M.2 Key E connector DT nodes for Monaco EVK). The Probe_Failure_Check test should be updated to suppress known benign failures (regulatory.db) and platform-specific expected failures (unused PCIe ports without PHY init sequences, QSEECOM on platforms without secure app support, PWM on platforms without LPG hardware). For genuine issues: (1) Add PHY init sequences to qcom-qmp-pcie-phy driver for Monaco/X5121 PCIe ports 1bd0000 and 1bf8000 if these ports are intended to be functional; (2) Verify qcom-spmi-lpg DT bindings match hardware capabilities; (3) Investigate qcom_qseecom_uefisecapp -EBUSY to determine if secure world resource is legitimately unavailable on this platform.
  4. Detail analysis attachment: failed_case_job207690_1_detailed.md
  Case 2: smmu (test validation failure — NOT a kernel crash)
  1. Failed case: smmu (test validation failure — NOT a kernel crash)
  2. Root cause: Test validation failure on purwa-evk: six critical devices (five USB DWUSB3 controllers at a0f8800, a2f8800, a4f8800, a6f8800, a8f8800 and video codec at aa00000) are missing IOMMU group attachments in the device tree, causing the smmu test script's validation checks to fail. This is a pre-existing purwa-evk device tree configuration issue, NOT introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893 which only modifies monaco SoC device trees.
  3. Possible fix: This failure is NOT PR-introduced and does NOT block merge. The PR modifies only monaco device trees; purwa-evk was not touched. To resolve the test failure: (1) update purwa-evk device tree to add iommus properties for the six missing devices, OR (2) update the smmu test script to exclude these devices from validation on purwa-evk if IOMMU protection is not required for them on this platform.
  4. Detail analysis attachment: failed_case_job207690_2_detailed.md
  Case 3: WiFi_Firmware_Driver
  1. Failed case: WiFi_Firmware_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Increase the DMA zone reserved memory or CMA pool size in the purwa-evk device tree to accommodate the ath12k WiFi 7 driver's firmware loading requirements (minimum 8 MB contiguous DMA). Alternatively, verify that the driver's fallback to smaller allocation sizes succeeds and that this is not a regression introduced by recent memory layout changes.
  4. Detail analysis attachment: failed_case_job207690_3_detailed.md
  Case 4: WiFi_OnOff — WiFi driver probe failure (DMA allocation)
  1. Failed case: WiFi_OnOff — WiFi driver probe failure (DMA allocation)
  2. Root cause: ath12k_wifi7 WiFi driver failed to allocate 7274496 bytes (7MB) of QMI DMA memory during probe on Purwa EVK, preventing WiFi interface initialization and causing both WiFi_Firmware_Driver and WiFi_OnOff tests to fail.
  3. Possible fix: This is a pre-existing platform issue on Purwa EVK, not introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893 (which modifies Monaco EVK device tree only). The failure indicates insufficient contiguous DMA memory available at WiFi driver probe time. Recommended actions: (1) verify reserved memory configuration in Purwa EVK device tree includes adequate CMA/DMA regions for WiFi; (2) check if other drivers are consuming large DMA buffers before WiFi probe; (3) consider increasing CMA size or adjusting driver probe order if this is a known Purwa platform constraint.
  4. Detail analysis attachment: failed_case_job207690_4_detailed.md
  Case 5: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: KVM subsystem cannot initialize on purwa-evk platform because HYP (EL2 hypervisor) mode is not available; kernel message "kvm [1]: HYP mode not available" at boot indicates the platform firmware/bootloader did not enable EL2 virtualization extensions, preventing /dev/kvm device node creation despite CONFIG_KVM being enabled.
  3. Possible fix: This is a platform/firmware limitation, not a kernel regression. The purwa-evk board requires firmware/bootloader configuration to enable EL2 mode for KVM support. Either: (1) update the board's firmware/bootloader to enable EL2 virtualization extensions, or (2) mark KVM tests as expected-fail/skip for purwa-evk in the LAVA test suite until firmware support is available.
  4. Detail analysis attachment: failed_case_job207690_5_detailed.md
  Case 6: ** KVM_EL2_DTB (Case ID: 6)
  1. Failed case: ** KVM_EL2_DTB (Case ID: 6)
  2. Root cause: ** Purwa IoT EVK platform does not provide EL2 (Hypervisor mode) access to the kernel; KVM initialization failed with "HYP mode not available" at boot, preventing creation of /dev/kvm.
  3. Possible fix: Skip KVM tests on Purwa platform in the CI test suite by adding a platform capability check; if KVM support is required on Purwa, work with the platform team to enable EL2 in the secure boot chain or firmware configuration.
  4. Detail analysis attachment: failed_case_job207690_6_detailed.md
  Case 7: KVM_Infra — KVM device node unavailable (CONFIG_KVM enabled but /dev/kvm not created)
  1. Failed case: KVM_Infra — KVM device node unavailable (CONFIG_KVM enabled but /dev/kvm not created)
  2. Root cause: KVM initialization failed during kernel boot because the Gunyah hypervisor is running in a mode that prevents KVM from accessing EL2 (HYP mode). The kernel log shows "kvm [1]: HYP mode not available" at boot time, indicating that the ARM KVM subsystem detected it cannot initialize because EL2 is already claimed by the Gunyah hypervisor running on the purwa-evk platform.
  3. Possible fix: This is not a PR-introduced regression — the PR changes only monaco-evk device tree (Bluetooth/M.2 connector) and does not touch KVM, virtualization, or purwa-evk configuration. The failure is a pre-existing platform limitation: purwa-evk runs Gunyah hypervisor which owns EL2, preventing nested virtualization. To enable KVM on purwa-evk, either: (1) disable Gunyah hypervisor in the firmware/boot chain and boot Linux directly at EL2, or (2) configure Gunyah to support nested virtualization (if supported by the hypervisor version). For CI purposes, exclude KVM tests from purwa-evk test matrix or mark them as expected-fail for this platform.
  4. Detail analysis attachment: failed_case_job207690_7_detailed.md
  Case 8: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM cannot initialize on purwa-evk (IQ-X5121) because the platform does not support HYP mode (EL2 hypervisor exception level is not available or accessible to the kernel).
  3. Possible fix: This is a platform hardware/firmware limitation, not a kernel regression. The KVM tests should be skipped on purwa-evk platform. Add platform-specific test exclusion rules to the LAVA test suite to skip KVM_Driver, KVM_EL2_DTB, and KVM_Infra tests on purwa-evk and other platforms without EL2 support.
  4. Detail analysis attachment: failed_case_job207690_8_detailed.md
Job 207691 | SoC qcs615-ride

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Add the regulatory.db firmware file (and its signature regulatory.db.p7s) to the rootfs image under /lib/firmware/. The file is provided by the wireless-regdb package in most distributions. This is a rootfs/image build configuration issue, not a kernel code issue.
  4. Detail analysis attachment: failed_case_job207691_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the smmu test script for qcs615-ride to accept video codec IOMMU protection at the parent device level (aa00000.video-codec → group 7) without requiring separate child device attachments, or verify with the platform team whether video-decoder/video-encoder child devices should be exposed as separate platform devices on qcs615.
  4. Detail analysis attachment: failed_case_job207691_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a platform/firmware configuration issue, not a kernel regression introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893 (which only modifies Monaco EVK device tree for Bluetooth/M.2). To enable KVM on QCS615 Ride: (1) verify the bootloader (ABL/XBL) is configured to boot Linux at EL2 instead of EL1, or (2) if the platform does not support EL2 boot, mark KVM tests as "not applicable" for this SoC in the CI test matrix, as QCS615 may not have hypervisor extensions enabled in the secure boot chain.
  4. Detail analysis attachment: failed_case_job207691_3_detailed.md
  Case 4: KVM_EL2_DTB — KVM device node unavailable (pre-existing platform limitation)
  1. Failed case: KVM_EL2_DTB — KVM device node unavailable (pre-existing platform limitation)
  2. Root cause: The qcs615-ride platform boots with Gunyah hypervisor at EL2, leaving Linux kernel at EL1. KVM requires EL2 (HYP mode) access to create /dev/kvm. The kernel correctly detects "HYP mode not available" and skips KVM initialization. This is a platform architecture constraint, not a kernel regression introduced by the PR.
  3. Possible fix: This is not a PR-introduced failure. The PR changes only Monaco EVK device tree (Bluetooth/M.2 connector) and does not affect qcs615-ride or KVM/virtualization. No fix required for the PR. To enable KVM on qcs615-ride, the platform would need to boot Linux at EL2 (without Gunyah) or use nested virtualization support (if available in future Gunyah versions).
  4. Detail analysis attachment: failed_case_job207691_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM cannot initialize on qcs615-ride because the platform is running Gunyah hypervisor (gunyah-1cb9db980) at EL2, preventing KVM from accessing HYP mode. The kernel message "kvm [1]: HYP mode not available" at boot confirms KVM detected it cannot run in a nested virtualization environment.
  3. Possible fix: Exclude KVM test suite (KVM_Driver, KVM_EL2_DTB, KVM_Infra) from the LAVA test definition for qcs615-ride and other platforms configured to run Gunyah hypervisor. KVM and Gunyah are mutually exclusive — both require EL2 access.
  4. Detail analysis attachment: failed_case_job207691_5_detailed.md
  Case 6: ** KVM_Infra — KVM Infrastructure Test Failure (Platform Limitation)
  1. Failed case: ** KVM_Infra — KVM Infrastructure Test Failure (Platform Limitation)
  2. Root cause: ** KVM cannot initialize on QCS615-Ride because the Gunyah hypervisor (gunyah-1cb9db980) is already running at EL2, preventing KVM from accessing HYP mode. The kernel correctly detects kvm [1]: HYP mode not available during boot, and consequently /dev/kvm is never created. CONFIG_KVM is enabled but the hardware virtualization layer is unavailable.
  3. Possible fix: This is a platform architecture limitation, not a kernel bug. QCS615-Ride runs Gunyah hypervisor at EL2 by design. To enable KVM testing: (1) Use a different test platform without a pre-installed hypervisor, or (2) Reconfigure the boot chain to not load Gunyah, or (3) Suppress KVM tests on QCS615-Ride in the CI configuration since KVM and Gunyah cannot coexist at EL2. This failure is not related to PR monaco-evk: Enable PCIe M.2 Key E connector #893 (which only modifies Monaco EVK device tree for Bluetooth/PCIe).
  4. Detail analysis attachment: failed_case_job207691_6_detailed.md
Job 207692 | SoC lemans-evk

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

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

  Case 1: Userspace Boot Hang — login-action timeout
  1. Failed case: Userspace Boot Hang — login-action timeout
  2. Root cause: The lemans-evk board boots the kernel successfully (Linux 6.18.37-02388-ga4222e037fd9 at 0.0s) and starts the init system (systemd-udevd at 5.6s), but userspace initialization hangs at approximately 6.4 seconds during device probing (PCIe/UFS regulator setup). No login prompt is ever presented, causing LAVA's login-action to timeout after 200 seconds across three retry attempts. This is a pre-existing platform/infrastructure issue unrelated to the PR (PR monaco-evk: Enable PCIe M.2 Key E connector #893 modifies only monaco DTS files; lemans-evk is not touched).
  3. Possible fix: This is a known lemans-evk boot hang issue in the test infrastructure. Re-trigger the CI job on a different lemans-evk board or investigate the rootfs/init configuration for this specific board. If the issue persists across multiple boards, check for missing kernel drivers or device tree nodes required for lemans-evk's storage/boot device initialization (UFS controller at 1d84000.ufshc may be failing to initialize properly, blocking mount of rootfs).
  4. Detail analysis attachment: failed_case_job207692_1_detailed.md
  Case 2: Complete System Hang — auto-login-action timeout (kernel boot succeeded but system hung during device initialization)
  1. Failed case: Complete System Hang — auto-login-action timeout (kernel boot succeeded but system hung during device initialization)
  2. Root cause: The lemans-evk board experienced a complete system hang during early userspace initialization after kernel boot completed successfully. The kernel booted to 6.388 seconds, started systemd-udevd, began probing UFS and PCIe devices, then stopped producing any console output. This is NOT a PR-introduced regression — the PR only modifies monaco device tree files and does not touch lemans-evk. This is a pre-existing platform-specific issue on lemans-evk (likely related to device driver initialization or power management during the cpuidle/device probe phase).
  3. Possible fix: Re-trigger the CI job to determine if this is a transient hardware/infrastructure issue. If the hang reproduces consistently on lemans-evk, investigate the cpuidle WARNING at kernel/sched/idle.c:267 and the notifier chain WARNINGs at kernel/notifier.c:23 during aest_device_probe, as these may indicate a race condition or initialization ordering issue in the lemans-evk platform code. The PR itself is not the cause and should not be blocked by this failure.
  4. Detail analysis attachment: failed_case_job207692_2_detailed.md
  Case 3: Boot Hang — Login timeout (system hung during device initialization)
  1. Failed case: Boot Hang — Login timeout (system hung during device initialization)
  2. Root cause: System hung silently during early boot at 6.388 seconds while probing UFS and PCIe devices on lemans-evk; no kernel crash or panic occurred. The PR modifies only Monaco EVK device trees and does not touch lemans-evk code, indicating this is a pre-existing platform-specific boot hang issue, not a PR-introduced regression.
  3. Possible fix: This is a pre-existing lemans-evk boot stability issue unrelated to the PR (which only modifies Monaco EVK). Re-trigger the CI job to confirm if the hang is intermittent. If the hang persists, investigate lemans-evk-specific boot issues: check UFS driver initialization, PCIe enumeration delays, and device probe ordering. Consider enabling additional debug (initcall_debug, deferred_probe_timeout) to identify which driver probe is blocking boot completion.
  4. Detail analysis attachment: failed_case_job207692_3_detailed.md
  Case 4: job
  1. Failed case: job
  2. Root cause: LAVA job timeout — kernel booted successfully to userspace (systemd-udevd running at 5.6s, last kernel message at 6.4s) but login prompt never appeared, causing login-action to timeout after 200 seconds across 3 retry attempts. This is a LAVA infrastructure/configuration issue, not a kernel crash. The PR modifies only Monaco EVK device trees; Lemans EVK (the test target) is unaffected by these changes.
  3. Possible fix: Re-trigger the LAVA job. If the issue persists, investigate why the login prompt is not appearing on Lemans EVK: check serial console configuration, getty service status, and systemd boot target. This is NOT a PR-introduced regression — the PR changes Monaco EVK DTS files only, with zero impact on Lemans EVK boot flow.
  4. Detail analysis attachment: failed_case_job207692_4_detailed.md
Job 207693 | SoC qcs8300-ride

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

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

  Case 1: Probe_Failure_Check — Deferred probe not resolved
  1. Failed case: Probe_Failure_Check — Deferred probe not resolved
  2. Root cause: The PR introduces a pcie-m2-e-connector binding in monaco-evk.dts which creates a pci-pwrctrl-slot device for PCIe power control. This device requires a power sequencer driver that is not present in the kernel, causing permanent deferred probe: "pci-pwrctrl-slot: Failed to get the power sequencer". Additionally, the regulatory.db firmware file is missing (benign WiFi regulatory database), and serial0-0 has an unspecified deferred probe reason.
  3. Possible fix: The pci-pwrctrl-slot deferred probe is expected behavior on qcs8300-ride hardware which does not have the M.2 Key E connector power sequencer hardware that monaco-evk has. This is a board-specific DT difference and not a kernel regression. The Probe_Failure_Check test should be updated to suppress deferred probe warnings for pci-pwrctrl-slot on qcs8300-ride, or the monaco-evk.dts M.2 connector binding should be conditionalized to only apply to boards with the actual M.2 hardware present.
  4. Detail analysis attachment: failed_case_job207693_1_detailed.md
  Case 2: ** USBHost
  1. Failed case: ** USBHost
  2. Root cause: ** Test infrastructure issue — no physical USB devices connected to the qcs8300-ride board's USB host port during test execution. The USB host controller driver initialized successfully and detected the root hub, but the test expects at least one functional USB device (keyboard, mouse, storage, etc.) to be physically connected to validate USB host functionality.
  3. Possible fix: This is not a kernel regression. Connect a physical USB device (e.g., USB flash drive, keyboard, or mouse) to the qcs8300-ride board's USB host port before running the USBHost test. If the test is intended to run without external hardware, update the test logic to skip or pass when only the root hub is present, or configure the LAVA lab to ensure USB devices are connected to the board's USB host port as part of the test fixture.
  4. Detail analysis attachment: failed_case_job207693_2_detailed.md
  Case 3: BT_FW_KMD_Service
  1. Failed case: BT_FW_KMD_Service
  2. Root cause: The hci_qca Bluetooth driver on qcs8300-ride entered the M.2 Key E pwrseq probe path due to the presence of port/endpoint graph nodes in the device tree (added by patches 2-3 of this PR series), even though qcs8300-ride has a soldered WCN6855 BT chip (not an M.2 connector). The of_graph_is_present() check in hci_qca only verifies the presence of a 'port' child node, not whether remote-endpoint is actually connected, causing the driver to take the wrong initialization path and fail to bring up the HCI adapter.
  3. Possible fix: Apply the same fix pattern from patch 5/5 (which fixed monaco-evk) to qcs8300-ride: move the port/endpoint nodes from the SoC-level DTSI (monaco.dtsi) into only the board files that actually have M.2 Key E connectors. For qcs8300-ride, which has a soldered WCN6855, ensure the uart2 node does NOT contain a port/endpoint child node, so of_graph_is_present() returns false and hci_qca uses the correct probe path for soldered BT chips.
  4. Detail analysis attachment: failed_case_job207693_3_detailed.md
  Case 4: KVM_Driver — /dev/kvm device node not created
  1. Failed case: KVM_Driver — /dev/kvm device node not created
  2. Root cause: The qcs8300-ride target is running as a guest VM under Gunyah hypervisor (evidence: "Hypervisor cold boot, version: gunyah-1cb9db980", "arm-pv: using stolen time PV"). KVM requires EL2 (hypervisor privilege level) to create /dev/kvm, but when Linux runs as a guest under an existing hypervisor, it operates at EL1 and cannot access EL2. CONFIG_KVM is enabled in the kernel config, but the KVM driver cannot initialize because nested virtualization is not supported or enabled on this platform.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression (PR monaco-evk: Enable PCIe M.2 Key E connector #893 only modifies Bluetooth/M.2 DT nodes). To enable KVM testing on qcs8300-ride: (1) configure the target to boot Linux directly on bare metal (EL2) instead of under Gunyah, OR (2) enable nested virtualization support in the Gunyah hypervisor configuration if the hardware supports it, OR (3) exclude KVM tests from the CI test suite for Gunyah-based targets.
  4. Detail analysis attachment: failed_case_job207693_4_detailed.md
  Case 5: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM cannot initialize on QCS8300-Ride because the system runs as a guest under the Gunyah hypervisor, which owns EL2; nested virtualization is not supported, so /dev/kvm is never created despite CONFIG_KVM being enabled.
  3. Possible fix: Mark KVM tests as "not applicable" for QCS8300-Ride (Monaco) platform in the LAVA test suite, or add a platform-specific skip condition that checks for Gunyah hypervisor presence before running KVM tests.
  4. Detail analysis attachment: failed_case_job207693_5_detailed.md
  Case 6: KVM Driver Initialization Failure — Nested Virtualization Not Supported
  1. Failed case: KVM Driver Initialization Failure — Nested Virtualization Not Supported
  2. Root cause: QCS8300 Ride platform boots under Gunyah hypervisor (version gunyah-1cb9db980 perf), which owns EL2 and prevents KVM from initializing. KVM on ARM64 requires exclusive EL2 access; when Gunyah controls EL2, KVM's early init detects the conflict and silently skips device registration, resulting in /dev/kvm not being created despite CONFIG_KVM=y.
  3. Possible fix: This is expected behavior on Gunyah-based platforms. To resolve: (1) Update the LAVA test suite to skip KVM tests on platforms running under Gunyah hypervisor by detecting "Gunyah based bootup" in dmesg, or (2) if nested virtualization is required, configure the platform to boot without Gunyah (bare-metal mode), or (3) wait for nested virtualization support in future Gunyah releases.
  4. Detail analysis attachment: failed_case_job207693_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM cannot initialize on qcs8300-ride because the platform runs under the Gunyah hypervisor, which does not support nested virtualization (KVM as a guest hypervisor). CONFIG_KVM is enabled in the kernel, but the KVM driver cannot create /dev/kvm when running as a guest under Gunyah. This is a pre-existing platform limitation, not introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893 (which only modifies device tree nodes for M.2 Key E connector on monaco-evk).
  3. Possible fix: Exclude KVM tests from the qcs8300-ride CI test suite, as this platform does not support KVM due to running under Gunyah hypervisor. The test should only run on platforms with native EL2 access or hypervisors that support nested virtualization.
  4. Detail analysis attachment: failed_case_job207693_7_detailed.md
Job 207694 | SoC qcs6490-rb3gen2

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Pre-existing audio subsystem deferred probe issue on qcs6490-rb3gen2 — pinctrl states wsa-swr-data-state and dmic23-data-state referenced by audio codec device tree nodes do not exist in the LPASS TLMM pinctrl driver, causing permanent deferred probe for audio devices (3240000.codec, 3370000.codec, 3250000.soundwire, sound, 33c0000.pinctrl). The regulatory.db firmware load failure is a known benign cfg80211 warning. This failure is NOT introduced by PR monaco-evk: Enable PCIe M.2 Key E connector #893, which only modifies monaco (qcs8300) device tree files and does not touch qcs6490-rb3gen2 audio or pinctrl configuration.
  3. Possible fix: This is a pre-existing platform issue unrelated to PR monaco-evk: Enable PCIe M.2 Key E connector #893. The PR changes monaco/qcs8300 M.2 connector bindings and does not affect qcs6490-rb3gen2. No action required for this PR. To fix the underlying qcs6490-rb3gen2 audio issue (separate from this PR), add the missing pinctrl state definitions (wsa-swr-data-state, dmic23-data-state) to the qcs6490 LPASS TLMM pinctrl device tree node, or mark the audio codec nodes as disabled if the hardware does not support these audio paths on rb3gen2.
  4. Detail analysis attachment: failed_case_job207694_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: Test infrastructure issue — no USB devices physically connected to the qcs6490-rb3gen2 board's USB host ports during the LAVA test run. The USB host controllers are initialized and functional in the kernel, but the test expects at least one USB device to be enumerated and fails when none are found. This is not a kernel bug or a PR-introduced regression; PR monaco-evk: Enable PCIe M.2 Key E connector #893 only modifies Monaco EVK device tree files and does not touch qcs6490-rb3gen2 or USB subsystem code.
  3. Possible fix: Connect a USB device (e.g., USB flash drive, USB keyboard, or USB hub) to one of the USB host ports on the qcs6490-rb3gen2 board before running the USBHost test. Alternatively, mark this test as SKIP for boards/configurations where USB host peripherals are not part of the standard test fixture, or update the test to distinguish between "USB host controller not functional" (genuine failure) and "no USB devices connected" (expected in some lab configurations).
  4. Detail analysis attachment: failed_case_job207694_2_detailed.md
  Case 3: ** KVM_Driver (Test Failure — Platform Limitation)
  1. Failed case: ** KVM_Driver (Test Failure — Platform Limitation)
  2. Root cause: ** The qcs6490-rb3gen2 platform boots with the Gunyah hypervisor running at EL2, which prevents KVM from initializing because KVM requires exclusive access to HYP (EL2) mode. The kernel correctly detects this and reports "HYP mode not available", resulting in /dev/kvm not being created.
  3. Possible fix: This is not a kernel bug. The test suite should either (1) skip KVM tests on platforms where Gunyah is enabled, or (2) use a firmware/bootloader configuration that does not load Gunyah if KVM testing is required. To enable KVM on this platform, the bootloader must be configured to boot Linux directly at EL2 without loading the Gunyah hypervisor.
  4. Detail analysis attachment: failed_case_job207694_3_detailed.md
  Case 4: KVM_EL2_DTB — KVM driver initialization failure
  1. Failed case: KVM_EL2_DTB — KVM driver initialization failure
  2. Root cause: KVM driver failed to initialize because HYP (EL2) mode is not available on qcs6490-rb3gen2; the platform is running under Gunyah hypervisor at EL1, preventing KVM from accessing EL2 privileges required for virtualization. Kernel log shows kvm [1]: HYP mode not available at boot time [3.413105], causing /dev/kvm device node to not be created.
  3. Possible fix: This is a pre-existing platform configuration issue, not a PR-introduced regression (PR only modifies Monaco EVK device trees). To enable KVM on qcs6490-rb3gen2: (1) disable Gunyah hypervisor in the boot configuration to allow Linux to run at EL2, OR (2) configure nested virtualization support if the hypervisor supports it, OR (3) mark KVM tests as expected-fail for this platform configuration in the CI test matrix since the hardware is intentionally configured to run under a hypervisor.
  4. Detail analysis attachment: failed_case_job207694_4_detailed.md
  Case 5: ** KVM_Infra (also KVM_Driver, KVM_EL2_DTB — all KVM tests fail with identical root cause)
  1. Failed case: ** KVM_Infra (also KVM_Driver, KVM_EL2_DTB — all KVM tests fail with identical root cause)
  2. Root cause: ** KVM initialization failure on qcs6490-rb3gen2 because the platform boots with Gunyah hypervisor occupying EL2 (HYP mode). KVM requires direct EL2 access for hardware virtualization, which is unavailable when a hypervisor like Gunyah is already running at EL2. The kernel correctly reports kvm [1]: HYP mode not available and does not create /dev/kvm. This is expected behavior on Gunyah-enabled platforms and is not a regression — PR monaco-evk: Enable PCIe M.2 Key E connector #893 only modifies monaco/qcs8300 device trees and does not affect qcs6490-rb3gen2 or KVM functionality.
  3. Possible fix: Update the LAVA test job definition for qcs6490-rb3gen2 to skip KVM tests when the platform is configured with Gunyah hypervisor. Add a test gate that checks for hypervisor presence (dmesg | grep -i "Hypervisor cold boot" or /sys/hypervisor/type) and skips KVM tests if a hypervisor is detected. Alternatively, if KVM testing is required on this SoC, create a separate boot configuration without Gunyah hypervisor and use that configuration for KVM test jobs.
  4. Detail analysis attachment: failed_case_job207694_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM /dev/kvm device node not created because HYP (EL2 hypervisor) mode is not available on qcs6490-rb3gen2 platform — kernel message "kvm [1]: HYP mode not available" at boot indicates the hardware/firmware does not support virtualization extensions required for KVM.
  3. Possible fix: This is a pre-existing platform limitation unrelated to the PR (which only modifies Monaco/QCS8300 device trees for M.2 connector support). The test should be skipped on platforms without HYP mode support, or the test expectation should be updated to treat "HYP mode not available" as a valid skip condition rather than a failure. No kernel code fix is required.
  4. Detail analysis attachment: failed_case_job207694_6_detailed.md

@qlijarvis

Copy link
Copy Markdown

PR #893 — validate-patch

PR: #893

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — 4 lore links present (commit 1/5 is QCLINUX: vendor-only, no link expected)
  2. Lore link matches PR commits: Yes — commits 2-4 are faithful FROMLIST representations; commit 5 matches lore content but missing FROMLIST prefix and has Fixes tag format issue
  3. Upstream patch status: ⏳ Decision Pending — all 4 lore patches have Reviewed-by tags from Konrad Dybcio; commit 5/5 also has Reviewed-by from Dmitry Baryshkov; no merge or NAK signals found in lore threads
  4. PR present in qcom-next/topics: Yes - all 5 commit(s) are present in qcom-next or topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #893 - arm64: dts: qcom: Describe the PCIe M.2 Key E connector for Monaco EVK (5 commits)
Upstream commits: Multiple lore.kernel.org links (v2 series + v3 patch 4/4)
Verdict: ⚠️ PARTIAL — commit 5/5 missing FROMLIST prefix and Fixes tag format issue


Commit 1/5: QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: monaco-evk: Enable Bluetooth support"

Lore link: N/A (vendor-only revert)
Status: ✅ PASS

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear explanation of why revert is needed
Fixes tag present/correct N/A Revert commit; no Fixes tag required
Authorship preserved Wei Deng authored
Backport note N/A Not a backport

Diff: ✅ Removes BT workaround regulators and uart2 config from monaco-evk-common.dtsi

Verdict: Merge as-is — vendor-only revert with clear rationale


Commit 2/5: FROMLIST: arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port

Lore link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-1-0548e1dab760@oss.qualcomm.com/
Status: ✅ PASS

Check Status Note
Subject matches upstream Identical to lore v2 patch 1/3 (with FROMLIST: prefix added)
Body preserves rationale Identical commit message
Fixes tag present/correct N/A New feature, no Fixes tag
Authorship preserved Wei Deng (lore author's Signed-off-by present)
Backport note N/A FROMLIST, not backport

Diff:

File Status Notes
arch/arm64/boot/dts/qcom/monaco.dtsi Adds compatible = "pciclass,0604" to pcieport0 — matches lore patch exactly (context line numbers differ due to tree state)

Upstream status: ⏳ Decision Pending — Reviewed-by: Konrad Dybcio present in lore thread; no merge/NAK signal found

Verdict: Merge as-is — faithful FROMLIST representation


Commit 3/5: FROMLIST: arm64: dts: qcom: monaco: Add graph port/endpoint anchors to pcieport0 and uart2

Lore link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-2-0548e1dab760@oss.qualcomm.com/
Status: ✅ PASS

Check Status Note
Subject matches upstream Identical to lore v2 patch 2/3 (with FROMLIST: prefix added)
Body preserves rationale Identical commit message
Fixes tag present/correct N/A New feature, no Fixes tag
Authorship preserved Wei Deng (lore author's Signed-off-by present); Suggested-by: Konrad Dybcio preserved
Backport note N/A FROMLIST, not backport

Diff:

File Status Notes
arch/arm64/boot/dts/qcom/monaco.dtsi Adds empty port/endpoint anchors to uart2 and pcieport0 — matches lore patch exactly

Upstream status: ⏳ Decision Pending — no merge/NAK signal found in lore thread

Verdict: Merge as-is — faithful FROMLIST representation


Commit 4/5: FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector

Lore link: https://lore.kernel.org/r/20260729-b4-monaco-evk-m2-v1-v2-3-0548e1dab760@oss.qualcomm.com/
Status: ✅ PASS

Check Status Note
Subject matches upstream Identical to lore v2 patch 3/3 (with FROMLIST: prefix added)
Body preserves rationale Identical commit message
Fixes tag present/correct N/A New feature, no Fixes tag
Authorship preserved Wei Deng (lore author's Signed-off-by present)
Backport note N/A FROMLIST, not backport

Diff:

File Status Notes
arch/arm64/boot/dts/qcom/monaco-evk.dts Adds M.2 Key E connector node, regulators, serial1 alias, and remote-endpoint overrides — matches lore patch exactly

Upstream status: ⏳ Decision Pending — no merge/NAK signal found in lore thread

Verdict: Merge as-is — faithful FROMLIST representation


Commit 5/5: arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint anchors to board file

Lore link: https://lore.kernel.org/all/20260819-b4-monaco-evk-m2-v1-v3-4-988145ef65cd@oss.qualcomm.com/
Status: ⚠️ PARTIAL — missing FROMLIST prefix and Fixes tag format issue

Check Status Note
Subject matches upstream Identical to lore v3 patch 4/4
Body preserves rationale Identical commit message
Fixes tag present/correct Fixes tag references internal commit SHA 9a18d35a211a instead of lore subject line
Authorship preserved Wei Deng (lore author's Signed-off-by present)
Backport note N/A Not a backport

Diff:

File Status Notes
arch/arm64/boot/dts/qcom/monaco-evk.dts ⚠️ Context differs from lore patch — PR version has simpler context (no reset-gpios/wake-gpios in pcieport0 block), but the actual change (moving port/endpoint into pcieport0 and uart2 blocks) is semantically identical
arch/arm64/boot/dts/qcom/monaco.dtsi Removes empty port/endpoint anchors — matches lore patch exactly

Upstream status: ⏳ Decision Pending — Reviewed-by: Dmitry Baryshkov and Konrad Dybcio present in lore thread; no merge/NAK signal found

Issues Found

  1. Commit 5/5 missing FROMLIST prefix — This commit is from the lore v3 series (patch 4/4) and should carry the FROMLIST: prefix like commits 2-4. The subject line should be:

    FROMLIST: arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint anchors to board file
    
  2. Commit 5/5 Fixes tag references internal SHA — The Fixes tag references commit 9a18d35a211a which is the internal qcom-next SHA for commit 3/5 of this PR. Upstream kernel convention requires Fixes tags to reference either:

    • The upstream commit SHA (if the broken commit is already in mainline), or
    • The subject line only (if the broken commit is in the same series or not yet upstream)

    Since commit 3/5 is part of the same FROMLIST series and not yet upstream, the Fixes tag should be:

    Fixes: bb49875be7a6 ("FROMLIST: arm64: dts: qcom: monaco: Add graph port/endpoint anchors to pcieport0 and uart2")
    

    or simply omit the SHA and use:

    Fixes: ("FROMLIST: arm64: dts: qcom: monaco: Add graph port/endpoint anchors to pcieport0 and uart2")
    
  3. Commit 5/5 context mismatch (minor) — The lore patch v3 4/4 was based on a tree that already had reset-gpios and wake-gpios properties in the &pcieport0 block in monaco-evk.dts. The PR version does not have these properties in the context, suggesting the PR is based on an earlier tree state. However, the actual change (moving the port/endpoint nodes into the pcieport0 and uart2 blocks) is semantically identical and correct.


Verdict

⚠️ Request changes — Commit 5/5 should:

  1. Add FROMLIST: prefix to subject line
  2. Fix Fixes tag to reference the PR commit SHA (bb49875) or remove the SHA entirely

All other commits are faithful FROMLIST representations with correct authorship and commit messages.


Final Summary

  1. Lore link present: Yes — 4 lore links present (commit 1/5 is QCLINUX: vendor-only, no link expected)
  2. Lore link matches PR commits: Yes — commits 2-4 are faithful FROMLIST representations; commit 5 matches lore content but missing FROMLIST prefix and has Fixes tag format issue
  3. Upstream patch status: ⏳ Decision Pending — all 4 lore patches have Reviewed-by tags from Konrad Dybcio; commit 5/5 also has Reviewed-by from Dmitry Baryshkov; no merge or NAK signals found in lore threads
  4. PR present in qcom-next/topics: Yes — all 5 commits present in qcom-next (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: 3c1e80ceb9fb6978aa94bc0624e7c0003f3b4f6e
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: present - exact patch-id match at 4e84721 skipped - not checked because qcom-next already contains the change present
2/5 [PATCH 2/5] FROMLIST: arm64: dts: qcom: monaco: Add compatible to the present - exact patch-id match at a6bd4e2 skipped - not checked because qcom-next already contains the change present
3/5 [PATCH 3/5] FROMLIST: arm64: dts: qcom: monaco: Add graph present - exact patch-id match at 2479c6b skipped - not checked because qcom-next already contains the change present
4/5 [PATCH 4/5] FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
5/5 [PATCH 5/5] arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint present - exact patch-id match at dbdf896 skipped - not checked because qcom-next already contains the change present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #893 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 warnings across 2 commits
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no C/H changes)
check-patch-compliance 3 failures: 2 missing prefix, 1 content mismatch
tag-check 1 commit missing required prefix

Detailed report: Full report

Checker analysis — click to expand

Let me output the report directly:

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #893 - Monaco PCIe M.2 Key E connector support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32326023125
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 2 warnings across 2 commits
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no C/H changes)
check-patch-compliance 3 failures: 2 missing prefix, 1 content mismatch
tag-check 1 commit missing required prefix

❌ checkpatch

Root cause: Two commits have checkpatch warnings — one for undocumented DT vendor prefix, one for unknown commit ID in Fixes tag.

Failure details:

Commit 08ab806 ("FROMLIST: arm64: dts: qcom: monaco: Add compatible to the PCIe Root Port"):

WARNING: DT compatible string vendor "pciclass" appears un-documented
#28: FILE: arch/arm64/boot/dts/qcom/monaco.dtsi:2459:
+				compatible = "pciclass,0604";

Commit e2347b9 ("arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint anchors to board file"):

WARNING: Unknown commit id '9a18d35a211a', maybe rebased or not pulled?
#19: 
Fixes: 9a18d35a211a ("FROMLIST: arm64: dts: qcom: monaco: Add graph port/endpoint anchors to pcieport0 and uart2")

Fix:

  1. For the pciclass vendor warning: This is a false positive. The pciclass vendor prefix is a special PCI-defined compatible string format used for generic PCI device matching (PCI class code 0604 = PCI-to-PCI bridge). It does not need to be documented in vendor-prefixes.yaml. This warning can be safely ignored.

  2. For the unknown commit ID warning: The Fixes: tag references commit 9a18d35a211a, which is commit ci: Add email checker #3 in this PR series (bb49875 in the final tree). Checkpatch cannot resolve it because it's checking the pre-merge state. This is expected for intra-series Fixes tags and can be ignored, OR update the Fixes tag to use the final commit SHA after merge.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git d1996e72bb5d..e2347b9d9a7e

❌ check-patch-compliance

Root cause: Three commits fail compliance checks — two missing required prefix, one content mismatch with upstream.

Failure details:

Commit 1f00097 ("QCLINUX: Revert "WORKAROUND: arm64: dts: qcom: monaco-evk: Enable Bluetooth support""):

Commit summary does not start with a required prefix

→ The subject starts with QCLINUX: which is not in the allowed prefix list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). This is a known checker limitationQCLINUX: is a valid vendor-internal prefix but check-patch-compliance only accepts upstream-linkable prefixes.

Commit e2347b9 ("arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint anchors to board file"):

Commit summary does not start with a required prefix

→ The subject has no prefix at all. This commit needs a prefix tag.

Commit 699b8d9 ("FROMLIST: arm64: dts: qcom: monaco-evk: Describe the PCIe M.2 Key E connector"):

Change is different from the one mentioned in Link

→ The patch content differs from the upstream lore patch. This may be a legitimate adaptation for the vendor tree or an unintended modification.

Fix:

  1. For commit 1f00097 (QCLINUX: prefix): This is a vendor-only revert commit. The QCLINUX: prefix is correct for vendor-only changes. The checker will always fail for this — it's a known limitation. No action needed unless you want to change the prefix to UPSTREAM: or FROMLIST: if the revert itself was posted upstream.

  2. For commit e2347b9 (missing prefix): Add a required prefix. Since this appears to be a vendor-specific adaptation (moving anchors to board file), use:

    git rebase -i d1996e72bb5d
    # mark commit e2347b9d9a7e as 'edit'
    git commit --amend -m "QCLINUX: arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint anchors to board file"
    # (keep the rest of the commit message)
    git rebase --continue
  3. For commit 699b8d9 (content mismatch): Fetch the upstream patch and compare:

    # Extract the Link: URL from the commit message
    git show 699b8d98db5d | grep "^Link:"
    # Fetch with b4
    b4 am --single-message -C -l -3 <link-url> -o /tmp/upstream
    # Compare the diff content
    diff <(git format-patch -1 699b8d98db5d --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]') \
         <(awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]')

    If the difference is intentional (e.g., vendor-specific adaptation), document it in the commit message. If unintended, align with upstream.

Reproduce locally:

cd kernel-checkers
./check-patch-compliance.sh <base_sha> <head_sha>

❌ tag-check

Root cause: One commit is missing a required subject-line prefix tag.

Applies to: Target branch qcom-6.18.y is not qcom-next or qcom-next-staging, so the tag-check is mandatory.

Failure details:

Commit e2347b9:

Subject: arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint anchors to board file

→ Subject line does not start with a required prefix (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:, QCLINUX:, PENDING:, WORKAROUND:).

Fix:

Add the appropriate prefix based on the patch origin. Since this appears to be a vendor-specific change (not posted upstream), use QCLINUX::

git rebase -i d1996e72bb5d
# mark commit e2347b9d9a7e as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: monaco{,-evk}: Move graph port/endpoint anchors to board file"
# (keep the rest of the commit message)
git rebase --continue

Verdict

3 blockers must be fixed before merge:

  1. Commit e2347b9 — Add QCLINUX: prefix to subject line (fixes both check-patch-compliance and tag-check failures).
  2. Commit 699b8d9 — Investigate and resolve content mismatch with upstream lore patch.
  3. Commit 1f00097QCLINUX: prefix failure is a known checker limitation; can be ignored if this is genuinely a vendor-only change.

Non-blockers (can be ignored):

  • Checkpatch warning for pciclass vendor prefix (false positive — PCI-defined compatible string).
  • Checkpatch warning for unknown commit ID in Fixes: tag (expected for intra-series references).

Recommendation: Fix the missing prefix on commit e2347b9 and verify the content mismatch on commit 699b8d9 before merging.

[/CHECKER_LOG_REPORT]

…nchors to board file

of_graph_is_present() only checks for the presence of a 'port' child
node, not whether remote-endpoint is actually connected. Adding empty
port anchor nodes to monaco.dtsi caused hci_qca to enter the M.2
pwrseq probe path on all monaco-based boards, including qcs8300-ride
which has a soldered WCN6855 and no M.2 Key E connector. This broke
BT initialization on qcs8300-ride.

Fix this by moving the port/endpoint nodes from monaco.dtsi into the
monaco-evk.dts board file where the M.2 connector is actually present,
so that of_graph_is_present() only returns true for boards that have
an M.2 Key E connector described.

Fixes: bb49875 ("FROMLIST: arm64: dts: qcom: monaco: Add graph port/endpoint anchors to pcieport0 and uart2")

Link: https://lore.kernel.org/all/20260819-b4-monaco-evk-m2-v1-v3-4-988145ef65cd@oss.qualcomm.com/
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
@WeiDeng-weiden

Copy link
Copy Markdown
Author

Shiraz Hashim (@shashim-quic) , please review again, add a commit here.

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.

4 participants