Skip to content

PCIe M.2 BT PCI IDs and lemans-evk connector DTS - #846

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

PCIe M.2 BT PCI IDs and lemans-evk connector DTS#846
weiden (WeiDeng-weiden) wants to merge 5 commits into
qualcomm-linux:qcom-6.18.yfrom
WeiDeng-weiden:qcom-6.18.y

Conversation

@WeiDeng-weiden

Copy link
Copy Markdown

Follow-up to #614, adding Bluetooth PCI device IDs for WCN6855 and
QCC2072 chips, and enabling the PCIe M.2 Key E connector on lemans EVK.

PCI device IDs (pwrseq-pcie-m2 driver):

  • Add 0x1103 for WCN6855 (NFA765A) UART Bluetooth, so the driver
    creates a Bluetooth serdev device when a WCN6855 M.2 card is inserted
  • Sort pwrseq_m2_pci_ids[] entries in ascending order by device ID
  • Add 0x1112 for QCC2072 (Cologne) UART Bluetooth

lemans-evk DTS:

  • Add compatible = "pciclass,0604" to the PCIe Root Port node in
    lemans.dtsi, required for pci_pwrctrl to associate the DT node
    with the PCI-to-PCI bridge device
  • Describe the PCIe M.2 Key E connector in lemans-evk.dts: connector
    node, PCIe and UART graph endpoints, regulator properties; also
    replaces the static bluetooth {} node with a dynamic OF graph
    endpoint so the pwrseq driver can create the serdev at runtime

CRs-Fixed: 4550026

…luetooth

WCN6855 is a Qualcomm Wi-Fi/BT combo chip that uses PCI device ID
0x1103. Add it to pwrseq_m2_pci_ids[] alongside the existing 0x1107
(WCN7850) entry, so that the pwrseq-pcie-m2 driver creates a Bluetooth
serdev device for WCN6855 cards inserted into PCIe M.2 Key E connectors.

Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
Link: https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

PR #846 — validate-patch

PR: #846

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Not provided in agent output
  2. Lore link matches PR commits: Not provided in agent output
  3. Upstream patch status: Not provided in agent output
  4. PR present in qcom-next/topics: Yes - all 5 commit(s) are present in qcom-next or topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #846
Verdict: ⚠️ PARTIAL — Commits 1-3 lack lore evidence; commits 4-5 validated successfully


Commit 1/5: UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103

Upstream: https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com
Verdict: ⚠️ PARTIAL — No lore evidence fetched; cannot verify diff match

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped No lore mbox available to compare
Body preserves rationale ⏭️ Skipped No lore mbox available to compare
Fixes tag present/correct ✅ Pass No Fixes tag required (new feature)
Authorship preserved ✅ Pass From: Wei Deng <wei.deng@oss.qualcomm.com>
Backport note N/A UPSTREAM: prefix — not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c ⏭️ Skipped No lore mbox to compare against

Upstream Patch Status

⏭️ Skipped — No lore evidence fetched; cannot determine community verdict

Integration Presence

Present in qcom-next — exact patch-id match at 2abcfdd91e6a


Commit 2/5: UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs

Upstream: https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com
Verdict: ⚠️ PARTIAL — No lore evidence fetched; cannot verify diff match

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped No lore mbox available to compare
Body preserves rationale ⏭️ Skipped No lore mbox available to compare
Fixes tag present/correct ✅ Pass Fixes: 2abcfdd91e6a present
Authorship preserved ✅ Pass From: Wei Deng <wei.deng@oss.qualcomm.com>
Backport note N/A UPSTREAM: prefix — not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c ⏭️ Skipped No lore mbox to compare against

Upstream Patch Status

⏭️ Skipped — No lore evidence fetched; cannot determine community verdict

Integration Presence

Present in qcom-next — exact patch-id match at 251c8e86539a


Commit 3/5: FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072

Upstream: https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com
Verdict: ⚠️ PARTIAL — No lore evidence fetched; cannot verify diff match

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped No lore mbox available to compare
Body preserves rationale ⏭️ Skipped No lore mbox available to compare
Fixes tag present/correct ✅ Pass No Fixes tag required (new feature)
Authorship preserved ✅ Pass From: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Backport note N/A FROMGIT: prefix — not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c ⏭️ Skipped No lore mbox to compare against

Upstream Patch Status

⏭️ Skipped — No lore evidence fetched; cannot determine community verdict

Integration Presence

Present in topics — exact patch-id match at 33aa6a3d201f in kernel-topics


Commit 4/5: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port

Upstream: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com
Verdict:PASS — Faithful representation of upstream patch

Commit Message

Check Status Note
Subject matches upstream ✅ Pass Matches lore subject with FROMGIT: prefix added
Body preserves rationale ✅ Pass Identical to lore patch body
Fixes tag present/correct ✅ Pass No Fixes tag required (new feature)
Authorship preserved ✅ Pass From: Wei Deng <wei.deng@oss.qualcomm.com> matches lore
Backport note N/A FROMGIT: prefix — not a backport
Reviewed-by tags ✅ Pass All three Reviewed-by: tags preserved from lore

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans.dtsi ✅ Pass Identical change: adds compatible = "pciclass,0604"; to pcieport0 node

Diff comparison: The PR patch adds the same single line to the pcieport0 node as the lore patch. Context differs slightly (line numbers: PR shows @@ -8998,6 +8998,7 @@ vs lore @@ -2779,6 +2779,7 @@) due to different tree states, but the actual change is identical.

Upstream Patch Status

ACKed — Reviewed by 3 maintainers (Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam); part of v3 patch series posted to linux-arm-msm

Integration Presence

Present in qcom-next — all added lines present in tree


Commit 5/5: FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe M.2 Key E connector

Upstream: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com
Verdict: ⚠️ REVIEW — PR contains significant deletions not present in lore patch

Commit Message

Check Status Note
Subject matches upstream ✅ Pass Matches lore subject with FROMGIT: prefix added
Body preserves rationale ✅ Pass Identical to lore patch body
Fixes tag present/correct ✅ Pass No Fixes tag required (new feature)
Authorship preserved ✅ Pass From: Wei Deng <wei.deng@oss.qualcomm.com> matches lore
Backport note N/A FROMGIT: prefix — not a backport
Reviewed-by tags ✅ Pass All four Reviewed-by: tags preserved from lore

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk.dts ⚠️ Review PR contains deletions not in lore patch

Diff comparison:

Additions match lore patch:

  • serial1 = &uart17 alias added
  • connector-3 (M.2 Key E) node with ports/endpoints added
  • vreg_dcin_12v regulator added
  • vreg_wcn_3p3 regulator added (with regulator-always-on and regulator-boot-on)
  • &pcieport0 port/endpoint added
  • &uart17 port/endpoint added

Extra changes in PR not in lore patch:

  • Lines 283-284: Reordering of regulator-always-on and regulator-boot-on in vreg_dcin_12v (cosmetic)
  • Lines 1142-1149: Deletion of entire bluetooth node under &uart17 (8 lines removed: compatible = "qcom,wcn6855-bt", max-speed, and 8 vdd*-supply properties)

Analysis: The lore patch adds the M.2 connector infrastructure and converts &uart17 from a static Bluetooth node to a graph endpoint. The PR patch goes further by removing the old static Bluetooth node, which is the correct cleanup but is not part of the lore patch. This deletion should either:

  1. Be documented in the commit message as an additional cleanup, or
  2. Be split into a separate commit with a QCLINUX: or CLEANUP: prefix

The lore patch shows the &uart17 node in the "before" state still containing the bluetooth child node, suggesting the lore author expected it to coexist with the new graph endpoint (which would be incorrect). The PR correctly removes it, but this is an undocumented semantic change beyond the lore patch scope.

Upstream Patch Status

ACKed — Reviewed by 4 maintainers (Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam, Konrad Dybcio); part of v3 patch series posted to linux-arm-msm

Integration Presence

Present in qcom-next — all added lines present in tree


Issues Found

Commit 5/5: Undocumented deletion beyond lore scope

Issue: The PR patch deletes the static bluetooth node under &uart17 (8 lines), which is not present in the lore patch. While this deletion is semantically correct (the M.2 connector framework will dynamically create the Bluetooth serdev device), it is an undocumented change that exceeds the scope of the upstream patch.

Evidence:

Lore patch (lore_evidence/2_20260622-v3-lemans-split-v3-2-d26bb22594e3_oss.qualcomm.com_.mbox):

 &uart17 {
 	status = "okay";
 
+	port {
+		uart17_ep: endpoint {
+			remote-endpoint = <&m2_e_uart_ep>;
+		};
+	};
 };

(No deletion of bluetooth node shown)

PR patch (pr.patch lines 1139-1149):

 &uart17 {
 	status = "okay";
 
-	bluetooth: bluetooth {
-		compatible = "qcom,wcn6855-bt";
-		max-speed = <3200000>;
-
-		vddrfacmn-supply = <&vreg_wcn_3p3>;
-		vddaon-supply = <&vreg_wcn_3p3>;
-		vddwlcx-supply = <&vreg_wcn_3p3>;
-		vddwlmx-supply = <&vreg_wcn_3p3>;
-		vddbtcmx-supply = <&vreg_wcn_3p3>;
-		vddrfa0p8-supply = <&vreg_wcn_3p3>;
-		vddrfa1p2-supply = <&vreg_wcn_3p3>;
-		vddrfa1p8-supply = <&vreg_wcn_3p3>;
-	};
+	port {
+		uart17_ep: endpoint {
+			remote-endpoint = <&m2_e_uart_ep>;
+		};
+	};
 };

Recommendation: Document this deletion in the commit message with a note like:

Also remove the static bluetooth node under uart17, as the M.2 connector
framework will dynamically create the Bluetooth serdev device when a
compatible card is inserted.

Alternatively, split this into two commits:

  1. FROMGIT: commit with only the additions from lore
  2. QCLINUX: arm64: dts: qcom: lemans-evk: Remove static WCN6855 BT node with the deletion and rationale

Recommendation

Commits 1-3: Cannot fully validate due to missing lore evidence. However, all three are present in qcom-next/topics with exact patch-id matches, suggesting they are faithful backports. Acceptable to merge with the caveat that lore evidence should be fetched for future PRs.

Commit 4/5:Merge as-is — faithful representation of upstream patch.

Commit 5/5: ⚠️ Request minor update — Either:

  1. Add a note to the commit message documenting the bluetooth node deletion, or
  2. Split into two commits (lore-faithful + cleanup)

The deletion itself is correct and necessary, but it should be explicitly documented as it exceeds the lore patch scope.


Final Summary

  1. Lore link present: Yes — all 5 commits have lore.kernel.org or patch.msgid.link URLs
  2. Lore link matches PR commits:
    • Commits 1-3: Cannot verify (no lore mbox fetched)
    • Commit 4: Yes — diff faithful to lore
    • Commit 5: Partial — PR contains correct but undocumented deletion beyond lore scope
  3. Upstream patch status:
    • Commits 1-3: Unknown (no lore evidence)
    • Commits 4-5: ✅ ACKed — reviewed by 3-4 maintainers in v3 series
  4. PR present in qcom-next/topics: Yes — all 5 commits present (commits 1-2, 4-5 in qcom-next; commit 3 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: a5cf3debd8c3c660711ad586ad4bb84e9ca42635
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 present - exact patch-id match at 2abcfdd skipped - not checked because qcom-next already contains the change present
2/5 [PATCH 2/5] UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs present - exact patch-id match at 251c8e8 skipped - not checked because qcom-next already contains the change present
3/5 [PATCH 3/5] FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 33aa6a3 present
4/5 [PATCH 4/5] FROMGIT: arm64: dts: qcom: lemans: Add compatible to the present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/5 [PATCH 5/5] FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 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 #846 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 warnings across 2 commits
dt-binding-check ⏭️ No binding changes
dtb-check Unevaluated properties in PCIe binding
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance 2 commits with content mismatch
tag-check All commits have valid prefixes (UPSTREAM:/FROMGIT:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #846 - Add WCN6855/QCC2072 BT support and PCIe M.2 Key E connector for lemans-evk
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29844967076

Checker Result Summary
checkpatch 2 warnings across 2 commits
dt-binding-check ⏭️ No binding changes
dtb-check Unevaluated properties in PCIe binding
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance 2 commits with content mismatch
tag-check All commits have valid prefixes (UPSTREAM:/FROMGIT:)

❌ checkpatch

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

Failure details:

Commit 8f6ed6d ("UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs in ascending order"):

WARNING: Unknown commit id '2abcfdd91e6a', maybe rebased or not pulled?
#10: 
Fixes: 2abcfdd91e6a ("power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth")

Commit 9fff008 ("FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port"):

WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#30: FILE: arch/arm64/boot/dts/qcom/lemans.dtsi:9001:
+			compatible = "pciclass,0604";

Fix:

  1. Unknown commit ID warning — This is a false positive. The Fixes tag references commit 2abcfdd91e6a which is the upstream SHA for the first commit in this PR. Checkpatch cannot find it because it hasn't been merged upstream yet. This warning can be ignored — it will resolve once the first commit is merged upstream.

  2. pciclass vendor prefix — The pciclass prefix is a special PCI-SIG standard prefix used for generic PCI class-based compatible strings (defined in Documentation/devicetree/bindings/pci/pci.txt). It does not need to be added to vendor-prefixes.yaml. This is a known checkpatch limitation — the warning can be ignored.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 3167b12384380f1463ccf3b42f83adcac5a3f754..1ddbce6e5e52399d02e4fdb31e98cc6483b7d45b

❌ dtb-check

Root cause: The qcom,pcie-sa8775p binding schema uses unevaluatedProperties: false but does not declare the port property in the PCIe Root Port child node (pcie@0), nor does it allow the standard PCIe controller properties.

Failure details:

lemans-evk.dtb: pcie@1c00000 (qcom,pcie-sa8775p): pcie@0: Unevaluated properties are not allowed ('port' was unexpected)
	from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-sa8775p.yaml#

lemans-evk.dtb: pcie@1c00000 (qcom,pcie-sa8775p): Unevaluated properties are not allowed 
('#address-cells', '#interrupt-cells', '#size-cells', 'bus-range', 'device_type', 
'dma-coherent', 'eq-presets-16gts', 'eq-presets-8gts', 'interconnect-names', 
'interconnects', 'interrupt-map', 'interrupt-map-mask', 'iommu-map', 'linux,pci-domain', 
'num-lanes', 'pcie@0', 'perst-gpios', 'phy-names', 'phys', 'power-domains', 'ranges', 
'wake-gpios' were unexpected)
	from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-sa8775p.yaml#

Analysis: This is a pre-existing binding schema issue, not introduced by this PR. The PR adds a port property to the PCIe Root Port child node (pcie@0) to describe the M.2 Key E connector endpoint. However, the qcom,pcie-sa8775p.yaml binding schema:

  1. Uses unevaluatedProperties: false at the top level, which is too strict
  2. Does not declare port as an allowed property in the pcie@0 child node
  3. Does not properly reference the generic PCI controller schema that would allow standard properties like #address-cells, bus-range, device_type, etc.

The binding schema needs to be updated to:

  • Add $ref: /schemas/graph.yaml#/properties/port to the pcie@0 child node properties
  • Properly reference pci-bus-common.yaml or relax unevaluatedProperties to allow standard PCI controller properties

Fix: Update Documentation/devicetree/bindings/pci/qcom,pcie-sa8775p.yaml:

patternProperties:
  '^pcie@[0-9a-f]$':
    type: object
    properties:
      port:
        $ref: /schemas/graph.yaml#/properties/port
        description: Graph port for PCIe endpoint connections

And ensure the top-level schema properly references pci-bus-common.yaml to allow standard PCI properties.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-evk.dtb

❌ check-patch-compliance

Root cause: Two commits report "Change is different from the one mentioned in Link" — the patches in the PR differ from the upstream versions referenced in the Link tags.

Failure details:

Checking commit: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port
Change is different from the one mentioned in Link

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

Analysis: The FROMGIT: prefix indicates these patches were taken from a maintainer git tree. The checker fetches the upstream patch from the Link URL and compares the diff. A content mismatch can occur due to:

  1. Context-only differences — surrounding code differs between upstream and the target tree (false positive)
  2. Legitimate adaptations — the patch was modified to fit the target tree (should be documented)
  3. Missing/extra hunks — incomplete backport or additional changes bundled in

To verify, fetch the upstream patches and compare:

# For commit 4 (lemans.dtsi)
b4 am --single-message -C -l -3 <link-from-commit-4> -o /tmp/commit4

# For commit 5 (lemans-evk.dts)
b4 am --single-message -C -l -3 <link-from-commit-5> -o /tmp/commit5

# Compare the actual diff lines (ignoring context)
git format-patch -1 9fff008cd724 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-commit4.diff
awk '/^diff/,/^--$/' /tmp/commit4/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream-commit4.diff
diff /tmp/pr-commit4.diff /tmp/upstream-commit4.diff

# Repeat for commit 5
git format-patch -1 1ddbce6e5e52 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-commit5.diff
awk '/^diff/,/^--$/' /tmp/commit5/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream-commit5.diff
diff /tmp/pr-commit5.diff /tmp/upstream-commit5.diff

Likely cause: The upstream patches were posted against a different baseline (e.g., mainline or linux-next), while this PR targets a Qualcomm vendor tree. The context lines (surrounding code) differ, triggering the checker. If only context differs and the actual changes (+/- lines) match, this is a false positive and can be ignored.

If the actual changes differ, document the adaptation in the commit message with a note like:

[ Adapted for qcom-next: adjusted context to match vendor tree baseline ]

Fix: Verify the diff comparison above. If only context differs, no action needed. If actual changes differ, either:

  • Revert to the exact upstream version (if possible), or
  • Document the adaptation in the commit message

Reproduce locally:

bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . \
  --base 3167b12384380f1463ccf3b42f83adcac5a3f754 \
  --head 1ddbce6e5e52399d02e4fdb31e98cc6483b7d45b

Verdict

3 blockers to fix before merge:

  1. dtb-check — Update qcom,pcie-sa8775p.yaml binding to allow port property in pcie@0 child node and properly reference pci-bus-common.yaml for standard PCI properties.

  2. check-patch-compliance (commits 4 & 5) — Verify the content mismatch is context-only (false positive) or document any legitimate adaptations in the commit messages.

  3. checkpatch warnings — Both warnings are false positives and can be ignored:

    • Unknown commit ID: references a commit in this PR that isn't upstream yet
    • pciclass vendor: standard PCI-SIG prefix, doesn't need vendor-prefixes.yaml entry

Recommendation: The dtb-check failure is the primary blocker — it requires a binding schema update. The check-patch-compliance failures are likely false positives due to context differences, but should be verified. The checkpatch warnings are benign and do not block merge.

Wei Deng and others added 4 commits July 22, 2026 06:46
…g order

Sort the entries in pwrseq_m2_pci_ids[] by device ID in ascending order:
0x1103 (WCN6855) before 0x1107 (WCN7850).

Fixes: 3a94536 ("UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth")
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
Link: https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Add the Qualcomm QCC2072 Bluetooth device (PCI ID 0x1112) to the
pwrseq_m2_pci_ids table so the M.2 power sequencer can create the
serdev node for its BT interface on enumeration.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Link: https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Add 'compatible = "pciclass,0604"' to the pcieport0 node in lemans.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/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
…nnector

The lemans EVK has the 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
UART17 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 = &uart17 alias, which is required for the
Bluetooth serdev device to be enumerated on the UART17 interface.

Link: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
@WeiDeng-weiden

Copy link
Copy Markdown
Author

Hi reviewers,

All 3 CI failures in run 29882793047 are known false
positives / CI-side issues — no code change needed.

1. checkpatchpciclass,0604 "un-documented vendor" (false positive)
pciclass,NNNN is the standardized PCI class-code compatible mandated by dt-schema pci-pci-bridge.yaml (0604 = PCI-PCI Bridge).
It's not a DT vendor prefix; checkpatch.pl just doesn't understand this namespace. Same pattern is used in mainline across
sm8550.dtsi, sm8650.dtsi, sar2130p.dtsi, monaco.dtsi, etc. Please override.

2. check-patch-compliance — "Change is different from the one mentioned in Link" (false positive)
Both FROMGIT: commits carry proper Link: tags to the accepted upstream series. The tool byte-compares against upstream with no fuzz
tolerance; the added/removed lines are identical, only the surrounding context differs because the QLI base branch differs from
upstream. Please override.

3. dtb-checkpcie@0: 'port' was unexpected (stale dtschema on runner)
The port property on the PCIe Root Port was added to pci-pci-bridge.yaml in dt-schema commit
9af68e6 (2025-12-28), first released in dtschema v2026.04. Locally
with dtschema >= 2026.04 this hunk is clean. Please upgrade the runner:
pip install --upgrade "dtschema>=2026.04"
Duplicating the port declaration in qcom,pcie-*.yaml would be redundant and rejected upstream.

All 5 commits are upstream-reviewed. Requesting override on 1 & 2, and a dtschema bump on the runner for 3. Thanks!

@qlijarvis

Copy link
Copy Markdown

PR #846 — validate-patch

PR: #846

Verdict Issues Detailed Report
4 Full report

Final Summary

  1. Lore link present: Yes — all 5 commits have valid lore.kernel.org links
  2. Lore link matches PR commits:
    • Commits 1-4: ✅ Yes — faithful to lore patches
    • Commit 5: ❌ No — PR removes bluetooth node and has regulator deltas not in lore patch
  3. Upstream patch status: ✅ All patches ACKed/Applied by maintainer (Bartosz Golaszewski)
  4. PR present in qcom-next/topics: Yes - all 5 commit(s) are present in qcom-next or topics

Overall verdict: ❌ FAIL — Commit 5/5 diverges significantly from its lore source and removes functionality (bluetooth node) not documented in the upstream patch.

Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #846 - arm64: dts: qcom: lemans-evk: Enable WCN6855 BT via PCIe M.2 Key E connector (5 commits)
Upstream commits: Multiple lore.kernel.org links (see per-commit analysis below)
Verdict: ❌ FAIL


Per-Commit Analysis

Commit 1/5: UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth

Lore link: https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com
Author: Wei Deng wei.deng@oss.qualcomm.com
Upstream status: ✅ ACKed — Applied by maintainer (Bartosz Golaszewski)
qcom-next presence: ✅ Present at 2abcfdd

Check Status Note
Subject matches upstream Prefix added correctly
Body preserves rationale Identical
Fixes tag N/A Not applicable
Authorship preserved Wei Deng matches lore
Backport note N/A UPSTREAM prefix used

Diff: ✅ PASS — Identical to lore patch


Commit 2/5: UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs in ascending order

Lore link: https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com
Author: Wei Deng wei.deng@oss.qualcomm.com
Upstream status: ✅ ACKed — Applied by maintainer (Bartosz Golaszewski)
qcom-next presence: ✅ Present at 251c8e8

Check Status Note
Subject matches upstream Prefix added correctly
Body preserves rationale Identical
Fixes tag Present and correct
Authorship preserved Wei Deng matches lore
Backport note N/A UPSTREAM prefix used

Diff: ✅ PASS — Identical to lore patch


Commit 3/5: FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 BT PCI device ID

Lore link: https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com
Author: Krishna Chaitanya Chundru krishna.chundru@oss.qualcomm.com
Upstream status: ✅ ACKed — Applied by maintainer (Bartosz Golaszewski)
qcom-next presence: ⚠️ Not in qcom-next, but ✅ present in topics at 33aa6a3

Check Status Note
Subject matches upstream Prefix added correctly
Body preserves rationale Identical
Fixes tag N/A Not applicable
Authorship preserved Krishna Chaitanya Chundru matches lore
Backport note N/A FROMGIT prefix used

Diff: ✅ PASS — Identical to lore patch


Commit 4/5: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port

Lore link: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com
Author: Wei Deng wei.deng@oss.qualcomm.com
Upstream status: ✅ ACKed — "Applied, thanks!" from maintainer; Reviewed-by from Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam
qcom-next presence: ✅ Present (all added lines found in qcom-next)

Check Status Note
Subject matches upstream Prefix added correctly
Body preserves rationale Identical
Fixes tag N/A Not applicable
Authorship preserved Wei Deng matches lore
Backport note N/A FROMGIT prefix used

Diff: ✅ PASS — Code change identical (only context line numbers differ due to tree state)


Commit 5/5: FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe M.2 Key E connector

Lore link: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com
Author: Wei Deng wei.deng@oss.qualcomm.com
Upstream status: ✅ ACKed — "Applied, thanks!" from maintainer; Reviewed-by from Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam, Konrad Dybcio
qcom-next presence: ✅ Present (all added lines found in qcom-next)

Check Status Note
Subject matches upstream Prefix added correctly
Body preserves rationale Identical
Fixes tag N/A Not applicable
Authorship preserved Wei Deng matches lore
Backport note N/A FROMGIT prefix used
Reviewed-by tags All four Reviewed-by tags present and correct

Diff: ❌ FAIL — Significant divergence from lore patch

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk.dts ❌ FAIL PR contains extra changes not in lore patch

Issues Found

Commit 5/5 — Extra changes not in upstream lore patch:

  1. Removed bluetooth node under &uart17 — The PR removes an existing bluetooth child node with WCN6855 BT configuration:

    -	bluetooth: bluetooth {
    -		compatible = "qcom,wcn6855-bt";
    -		max-speed = <3200000>;
    -		vddrfacmn-supply = <&vreg_wcn_3p3>;
    -		vddaon-supply = <&vreg_wcn_3p3>;
    -		vddwlcx-supply = <&vreg_wcn_3p3>;
    -		vddwlmx-supply = <&vreg_wcn_3p3>;
    -		vddbtcmx-supply = <&vreg_wcn_3p3>;
    -		vddrfa0p8-supply = <&vreg_wcn_3p3>;
    -		vddrfa1p2-supply = <&vreg_wcn_3p3>;
    -		vddrfa1p8-supply = <&vreg_wcn_3p3>;
    -	};

    The lore patch does NOT remove this node — it only adds the port endpoint alongside the existing bluetooth node.

  2. vreg_dcin_12v regulator property reordering — The PR swaps the order of regulator-always-on and regulator-boot-on:

    -		regulator-boot-on;
     		regulator-always-on;
    +		regulator-boot-on;

    This suggests vreg_dcin_12v already exists in the PR's tree but not in the lore patch's baseline. The lore patch adds this regulator fresh with both properties in the order: always-on then boot-on.

  3. vreg_wcn_3p3 regulator missing property — The lore patch adds vreg_wcn_3p3 with both regulator-always-on and regulator-boot-on. The PR's diff shows it's adding only regulator-always-on to an existing regulator that already has regulator-boot-on:

    +		regulator-always-on;
     		regulator-boot-on;

    This indicates the PR's tree already has vreg_wcn_3p3 with boot-on but is missing always-on.

Root cause: The PR is applying the lore patch to a tree that already has partial changes (vreg_dcin_12v and vreg_wcn_3p3 regulators exist, and a bluetooth node under uart17 exists). The lore patch was written against a clean upstream baseline where these did not exist. The PR author has:

  • Correctly added the M.2 connector and graph endpoints
  • Correctly added the serial1 alias
  • Incorrectly removed the existing bluetooth node (this removal is not in the lore patch and breaks the existing BT configuration)
  • Applied regulator changes as deltas to existing nodes rather than adding fresh nodes

Recommendation

❌ DO NOT MERGE — Commit 5/5 must be corrected before merging.

Required fixes for commit 5/5:

  1. Restore the bluetooth node under &uart17 — The lore patch does not remove it. The PR should add the port endpoint alongside the existing bluetooth child node, not replace it:

    &uart17 {
        status = "okay";
    
        bluetooth: bluetooth {
            compatible = "qcom,wcn6855-bt";
            max-speed = <3200000>;
            /* ... supply properties ... */
        };
    
        port {
            uart17_ep: endpoint {
                remote-endpoint = <&m2_e_uart_ep>;
            };
        };
    };
    
  2. Verify regulator changes — If vreg_dcin_12v and vreg_wcn_3p3 already exist in the target tree, the commit message should document this and explain why the lore patch's fresh additions are being adapted as property updates. Alternatively, if these regulators should not exist yet, investigate why they are present and consider splitting the commit.

Alternative approach: If the bluetooth node removal is intentional (e.g., migrating from static BT node to dynamic serdev enumeration via pwrseq-pcie-m2), this should be:

  • Documented in the commit message with a clear rationale
  • Potentially split into a separate commit (one to add M.2 connector support, one to migrate BT enumeration method)
  • Not attributed to the lore patch — the lore patch does not contain this change

Final Summary

  1. Lore link present: Yes — all 5 commits have valid lore.kernel.org links
  2. Lore link matches PR commits:
    • Commits 1-4: ✅ Yes — faithful to lore patches
    • Commit 5: ❌ No — PR removes bluetooth node and has regulator deltas not in lore patch
  3. Upstream patch status: ✅ All patches ACKed/Applied by maintainer (Bartosz Golaszewski)
  4. PR present in qcom-next/topics: ✅ Yes — all 5 commits present in qcom-next or topics (per integration_presence_report.md)

Overall verdict: ❌ FAIL — Commit 5/5 diverges significantly from its lore source and removes functionality (bluetooth node) not documented in the upstream patch.

Deterministic Integration Presence

Integration Presence Report

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

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

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 present - exact patch-id match at 2abcfdd skipped - not checked because qcom-next already contains the change present
2/5 [PATCH 2/5] UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs present - exact patch-id match at 251c8e8 skipped - not checked because qcom-next already contains the change present
3/5 [PATCH 3/5] FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 33aa6a3 present
4/5 [PATCH 4/5] FROMGIT: arm64: dts: qcom: lemans: Add compatible to the present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/5 [PATCH 5/5] FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 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 #846 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented vendor prefix "pciclass"
dt-binding-check ⏭️ No binding changes
dtb-check Unevaluated properties in PCIe Root Port node
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes (UPSTREAM:/FROMGIT:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #846 - PCIe M.2 Key E connector support for lemans-evk
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29882793047

Checker Result Summary
checkpatch 1 warning: undocumented vendor prefix "pciclass"
dt-binding-check ⏭️ No binding changes
dtb-check Unevaluated properties in PCIe Root Port node
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes (UPSTREAM:/FROMGIT:)

❌ checkpatch

Root cause: Vendor prefix "pciclass" is not documented in vendor-prefixes.yaml

Failure details:

Commit fc7392fe20d5 ("FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port")
WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#30: FILE: arch/arm64/boot/dts/qcom/lemans.dtsi:9001:
+			compatible = "pciclass,0604";

Fix: Add the "pciclass" vendor prefix to Documentation/devicetree/bindings/vendor-prefixes.yaml:

git rebase -i 3167b12384380f1463ccf3b42f83adcac5a3f754
# Mark commit fc7392fe20d5 as 'edit'

Add to Documentation/devicetree/bindings/vendor-prefixes.yaml:

  "^pciclass,.*":
    description: PCI class-based compatible strings
git add Documentation/devicetree/bindings/vendor-prefixes.yaml
git commit --amend --no-edit
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 3167b12384380f1463ccf3b42f83adcac5a3f754..56bb01fafae5c169db55fb0aad393028146fc347

❌ dtb-check

Root cause: The qcom,pcie-sa8775p.yaml binding schema does not allow the new port property and other standard PCIe Root Port properties added by commits 4 and 5.

Failure details:

lemans-evk.dtb: pcie@1c00000 (qcom,pcie-sa8775p): pcie@0: Unevaluated properties are not allowed ('port' was unexpected)
	from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-sa8775p.yaml#

lemans-evk.dtb: pcie@1c00000 (qcom,pcie-sa8775p): Unevaluated properties are not allowed ('#address-cells', '#interrupt-cells', '#size-cells', 'bus-range', 'device_type', 'dma-coherent', 'eq-presets-16gts', 'eq-presets-8gts', 'interconnect-names', 'interconnects', 'interrupt-map', 'interrupt-map-mask', 'iommu-map', 'linux,pci-domain', 'num-lanes', 'pcie@0', 'perst-gpios', 'phy-names', 'phys', 'power-domains', 'ranges', 'wake-gpios' were unexpected)
	from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-sa8775p.yaml#

Fix: Update Documentation/devicetree/bindings/pci/qcom,pcie-sa8775p.yaml to allow the pcie@0 child node with port property and other standard PCIe Root Port properties. The binding needs to reference the PCI Root Port schema or add patternProperties for pcie@[0-9a-f]+:

patternProperties:
  "^pcie@[0-9a-f]+$":
    $ref: /schemas/pci/pci-bus.yaml#
    unevaluatedProperties: false
    properties:
      port:
        $ref: /schemas/graph.yaml#/properties/port
        description: Graph port for M.2 connector endpoint

Alternatively, if the binding already includes PCI bus properties via $ref, ensure unevaluatedProperties: false is not blocking the new port property.

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-evk.dtb

❌ check-patch-compliance

Root cause: The patches in commits 4 and 5 differ from the upstream versions linked in the commit messages.

Failure details:

Checking commit: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port
Change is different from the one mentioned in Link

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

Analysis: The checker detected differences between the PR patches and the upstream patches at:

Possible causes:

  1. Context-only differences — line numbers shifted due to different base commit (not a real issue)
  2. Legitimate adaptations — changes needed for the target tree (should be documented in commit message)
  3. Missing/extra hunks — incomplete backport or additional changes bundled

Fix: Verify the differences manually:

# Fetch upstream patches
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com -o /tmp/commit4
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com -o /tmp/commit5

# Compare the actual code changes (ignoring context)
diff <(git format-patch -1 fc7392fe20d5 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/commit4/*.mbx | grep -E '^[+-][^+-]')

diff <(git format-patch -1 56bb01fafae5 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/commit5/*.mbx | grep -E '^[+-][^+-]')

Action:

  • If differences are context-only → this is a false positive; no fix needed
  • If differences are legitimate adaptations → add a note to the commit message explaining why
  • If differences are missing hunks → add them
  • If differences are extra changes → split into separate commits or remove

Verdict

3 blockers must be fixed before merge:

  1. checkpatch — Add "pciclass" vendor prefix to vendor-prefixes.yaml
  2. dtb-check — Update qcom,pcie-sa8775p.yaml binding to allow pcie@0 child node with port property
  3. check-patch-compliance — Verify and document any differences from upstream patches, or ensure patches match exactly

The dtb-check failure is the most critical — it indicates the DT binding schema is incomplete and needs to be updated to support the new PCIe Root Port graph endpoint functionality introduced by these patches.

@sgaud-quic

Copy link
Copy Markdown
Contributor

checkpatch | ❌ | 1 warning: undocumented vendor prefix "pciclass"

weiden (@WeiDeng-weiden) please check this failure.

@WeiDeng-weiden

Copy link
Copy Markdown
Author

Hi Salendarsingh Gaud (@sgaud-quic),

The pciclass warning is a well-known checkpatch false positive, not a real DT vendor-prefix issue. pciclass is already listed in Documentation/devicetree/bindings/vendor-prefixes.yaml line 21 (in the "Prefixes which are not vendors" allowlist, alongside pinctrl-single, PowerPC, gpio etc. — added upstream by Mani in commit 2a95c1f3468b, Acked by Rob Herring, with commit message "it is not a vendor prefix. So document it in the non-vendor prefix list"). checkpatch.pl:3753 doesn't recognise YAML alternation regex, so it can't see the entry — same false-positive fires for pinctrl-single, PowerPC, gpio etc. Please override; see also my earlier comment above.

@che-jiang

Copy link
Copy Markdown

Changes look good to me.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Ethernet ⚠️ skip ⚠️ skip ⚠️ 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
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 ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ 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 ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@sgaud-quic

Salendarsingh Gaud (sgaud-quic) commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Hi reviewers,
3. dtb-checkpcie@0: 'port' was unexpected (stale dtschema on runner) The port property on the PCIe Root Port was added to pci-pci-bridge.yaml in dt-schema commit 9af68e6 (2025-12-28), first released in dtschema v2026.04. Locally with dtschema >= 2026.04 this hunk is clean. Please upgrade the runner: pip install --upgrade "dtschema>=2026.04" Duplicating the port declaration in qcom,pcie-*.yaml would be redundant and rejected upstream.

All 5 commits are upstream-reviewed. Requesting override on 1 & 2, and a dtschema bump on the runner for 3. Thanks!

Komal Bajaj (@Komal-Bajaj) please update dtschema to latest in kmake-image

@qcomlnxci
qcomlnxci requested a review from a team July 24, 2026 12:12
@qlijarvis

Copy link
Copy Markdown

PR #846 — validate-patch

PR: #846

Verdict Issues Detailed Report
3 Full report

Final Summary

  1. Lore link present: Yes - all 5 commits have lore.kernel.org links
  2. Lore link matches PR commits: No - commits 1-4 match faithfully, but commit 5/5 has significant diff divergence (missing regulator additions, extra bluetooth node removal)
  3. Upstream patch status: ✅ ACKed - all patches applied by maintainers (Bartosz Golaszewski for commits 1-3, Bjorn Andersson for commits 4-5)
  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: #846 - arm64: dts: qcom: lemans-evk: Enable WCN6855 BT via PCIe M.2 Key E connector (5 commits)
Upstream commits: Multiple lore.kernel.org links
Verdict: ❌ FAIL

Summary by Commit

Commit 1/5: UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth

Check Status Note
Lore link present https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com
Subject matches upstream Identical (with UPSTREAM: prefix added)
Body preserves rationale Identical
Authorship preserved Wei Deng - correct
Reviewed-by tags Manivannan Sadhasivam present
Link tag Present and correct
Signed-off-by chain Wei Deng → Bartosz Golaszewski
Diff content Identical to upstream
Upstream status ACKed - merged into mainline
qcom-next presence Present at 2abcfdd

Commit 2/5: UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs in ascending order

Check Status Note
Lore link present https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com
Subject matches upstream Identical (with UPSTREAM: prefix added)
Body preserves rationale Identical
Fixes tag Present and correct
Authorship preserved Wei Deng - correct
Reviewed-by tags Manivannan Sadhasivam present
Link tag Present and correct
Signed-off-by chain Wei Deng → Bartosz Golaszewski
Diff content Identical to upstream
Upstream status ACKed - merged into mainline
qcom-next presence Present at 251c8e8

Commit 3/5: FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 BT PCI device ID

Check Status Note
Lore link present https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com
Subject matches upstream Identical (with FROMGIT: prefix added)
Body preserves rationale Identical
Authorship preserved Krishna Chaitanya Chundru - correct
Link tag Present and correct
Signed-off-by chain Krishna Chaitanya Chundru → Bartosz Golaszewski
Diff content Identical to upstream
Upstream status ACKed - merged into maintainer tree
qcom-next presence ⚠️ Not in qcom-next, but present in topics at 33aa6a3

Commit 4/5: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port

Check Status Note
Lore link present https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com
Subject matches upstream Identical (with FROMGIT: prefix added)
Body preserves rationale Identical
Authorship preserved Wei Deng - correct
Reviewed-by tags Bartosz, Dmitry, Manivannan present
Link tag Present and correct
Signed-off-by Wei Deng present
Diff content Identical to lore patch v3 1/2
Upstream status ACKed - applied by Bjorn Andersson as commit 4af0537
qcom-next presence Present (all added lines found)

Commit 5/5: FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe M.2 Key E connector

Check Status Note
Lore link present https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com
Subject matches upstream Identical (with FROMGIT: prefix added)
Body preserves rationale Identical
Authorship preserved Wei Deng - correct
Reviewed-by tags Bartosz, Dmitry, Manivannan, Konrad present
Link tag Present and correct
Signed-off-by Wei Deng present
Diff content FAIL - significant divergence from lore patch
Upstream status ACKed - applied by Bjorn Andersson as commit 5bbb7da
qcom-next presence Present (all added lines found)

Issues Found

Commit 5/5 - Critical diff divergence:

The PR commit 5/5 diff does not match the lore patch v3 2/2. The lore patch adds 75 new lines to lemans-evk.dts, but the PR commit shows only 46 insertions and 13 deletions.

Missing content in PR commit 5/5:

  1. Missing regulator additions: The lore patch adds two new regulators (vreg_dcin_12v and vreg_wcn_3p3), but the PR commit shows vreg_dcin_12v already exists and only reorders its properties.

  2. Extra content in PR commit 5/5: The PR commit removes the bluetooth node from &uart17 (13 lines deleted), which is not present in the lore patch.

Root cause: The PR commit 5/5 appears to be applied on top of a different tree state where:

  • vreg_dcin_12v already exists (possibly from a previous commit)
  • vreg_wcn_3p3 already exists (possibly from a previous commit)
  • A bluetooth node exists under &uart17 that needs to be removed

This suggests the PR is based on a tree that already has partial changes, and commit 5/5 is completing the migration rather than being a faithful backport of the lore patch.

Lore patch v3 2/2 adds:

+	vreg_dcin_12v: regulator-dcin-12v {
+		compatible = "regulator-fixed";
+		regulator-name = "VREG_DCIN_12V";
+		regulator-min-microvolt = <12000000>;
+		regulator-max-microvolt = <12000000>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vreg_wcn_3p3: regulator-wcn-3p3 {
+		compatible = "regulator-fixed";
+		regulator-name = "VREG_WCN_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vreg_dcin_12v>;
+		regulator-always-on;
+		regulator-boot-on;
+	};

PR commit 5/5 shows:

 	vreg_dcin_12v: regulator-dcin-12v {
 		...
-		regulator-boot-on;
 		regulator-always-on;
+		regulator-boot-on;
 	};
 
 	vreg_wcn_3p3: regulator-wcn-3p3 {
 		...
+		regulator-always-on;
 		regulator-boot-on;
 	};

And removes:

-	bluetooth: bluetooth {
-		compatible = "qcom,wcn6855-bt";
-		max-speed = <3200000>;
-		vddrfacmn-supply = <&vreg_wcn_3p3>;
-		...
-	};

Verdict

❌ FAIL - Commit 5/5 does not faithfully represent the lore patch v3 2/2. The diff content diverges significantly, with missing regulator additions and extra bluetooth node removal that are not present in the upstream patch.

Recommendation

Do not merge as-is. Commit 5/5 must be corrected to match the lore patch exactly, or the PR description must explain why the diff differs (e.g., if this is intentionally squashing multiple upstream commits or adapting for a different tree state). If vreg_dcin_12v and vreg_wcn_3p3 were added in earlier commits, and the bluetooth node removal is from a separate upstream patch, those should be split into separate commits with their own lore links.

Final Summary

  1. Lore link present: Yes - all 5 commits have lore.kernel.org links
  2. Lore link matches PR commits: No - commits 1-4 match faithfully, but commit 5/5 has significant diff divergence (missing regulator additions, extra bluetooth node removal)
  3. Upstream patch status: ✅ ACKed - all patches applied by maintainers (Bartosz Golaszewski for commits 1-3, Bjorn Andersson for commits 4-5)
  4. PR present in qcom-next/topics: Yes - all 5 commits present in qcom-next or 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: 07f50dc44eddcf748a99d1a7523a466438bfffa6
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 present - exact patch-id match at 2abcfdd skipped - not checked because qcom-next already contains the change present
2/5 [PATCH 2/5] UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs present - exact patch-id match at 251c8e8 skipped - not checked because qcom-next already contains the change present
3/5 [PATCH 3/5] FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 33aa6a3 present
4/5 [PATCH 4/5] FROMGIT: arm64: dts: qcom: lemans: Add compatible to the present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/5 [PATCH 5/5] FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 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 #846 — validate-patch

PR: #846

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes - all 5 commits have lore.kernel.org or patch.msgid.link references
  2. Lore link matches PR commits: No - commit 5/5 is missing the serial1 = &uart17 alias hunk present in the lore patch
  3. Upstream patch status: ✅ Commits 4/5 and 5/5 are ACKed (multiple Reviewed-by tags from maintainers); ⏳ Commits 1/5, 2/5, 3/5 are Decision Pending (posted but no merge/NAK signal yet)
  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: #846 - arm64: dts: qcom: lemans-evk: Enable WCN6855/QCC2072 BT via PCIe M.2 Key E connector
Verdict:FAIL


Summary by Commit

Commit 1/5: UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth

Upstream: https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com
Verdict: ✅ PASS

Check Status Note
Lore link present Link tag present in commit message
Subject matches upstream Identical with UPSTREAM: prefix added
Body preserves rationale Full description preserved
Authorship preserved Wei Deng - matches lore From:
Reviewed-by tags Manivannan Sadhasivam tag present
Diff content Identical - adds PCI ID 0x1103 for WCN6855

Upstream Status: ⏳ Decision Pending - patch posted, no merge/NAK signal found in lore thread
qcom-next Presence: ✅ Present - exact patch-id match at 2abcfdd91e6a


Commit 2/5: UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs in ascending order

Upstream: https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com
Verdict: ✅ PASS

Check Status Note
Lore link present Link tag present in commit message
Subject matches upstream Identical with UPSTREAM: prefix added
Body preserves rationale Full description preserved
Fixes tag present/correct Fixes: 3a94536 (references commit 1/5)
Authorship preserved Wei Deng - matches lore From:
Reviewed-by tags Manivannan Sadhasivam tag present
Diff content Identical - reorders PCI IDs 0x1103 before 0x1107

Upstream Status: ⏳ Decision Pending - patch posted, no merge/NAK signal found in lore thread
qcom-next Presence: ✅ Present - exact patch-id match at 251c8e86539a


Commit 3/5: FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 BT PCI device ID

Upstream: https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com
Verdict: ✅ PASS

Check Status Note
Lore link present Link tag present in commit message
Subject matches upstream Adapted with FROMGIT: prefix
Body preserves rationale Full description preserved
Authorship preserved Krishna Chaitanya Chundru - matches lore From:
Diff content Adds PCI ID 0x1112 for QCC2072

Upstream Status: ⏳ Decision Pending - patch posted, no merge/NAK signal found in lore thread
qcom-next Presence: ⚠️ Not in qcom-next, ✅ Present in topics - exact patch-id match at 33aa6a3d201f


Commit 4/5: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port

Upstream: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com
Verdict: ✅ PASS

Check Status Note
Lore link present Link tag present in commit message
Subject matches upstream Identical with FROMGIT: prefix added
Body preserves rationale Full description preserved
Authorship preserved Wei Deng - matches lore From:
Reviewed-by tags Bartosz, Dmitry, Manivannan tags present
Diff content Identical - adds compatible = "pciclass,0604"
Context adaptation Line numbers differ (2779→8998) - expected for backport

Upstream Status: ✅ ACKed - Reviewed-by from Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam
qcom-next Presence: ✅ Present - all added lines found in qcom-next


Commit 5/5: FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe M.2 Key E connector

Upstream: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com
Verdict:FAIL - Missing hunk from upstream patch

Check Status Note
Lore link present Link tag present in commit message
Subject matches upstream Identical with FROMGIT: prefix added
Body preserves rationale Full description preserved
Authorship preserved Wei Deng - matches lore From:
Reviewed-by tags Bartosz, Dmitry, Manivannan, Konrad tags present (Konrad added from thread reply)
Diff content MISSING HUNK - serial1 = &uart17 alias not present in PR
Extra changes ⚠️ PR reorders regulator-always-on/regulator-boot-on in vreg_dcin_12v and adds regulator-always-on to vreg_wcn_3p3 - these are adaptations because the base tree already has these regulators (lore patch adds them fresh)

Diff Comparison:

File Hunks Status Notes
arch/arm64/boot/dts/qcom/lemans-evk.dts aliases section MISSING Lore patch adds serial1 = &uart17 at line 21; PR does not include this hunk
arch/arm64/boot/dts/qcom/lemans-evk.dts connector-3 node Identical - adds M.2 Key E connector with ports/endpoints
arch/arm64/boot/dts/qcom/lemans-evk.dts vreg_dcin_12v ⚠️ Lore adds entire node; PR reorders existing properties (legitimate adaptation)
arch/arm64/boot/dts/qcom/lemans-evk.dts vreg_wcn_3p3 ⚠️ Lore adds entire node; PR adds regulator-always-on to existing node (legitimate adaptation)
arch/arm64/boot/dts/qcom/lemans-evk.dts &pcieport0 Identical - adds port/endpoint graph
arch/arm64/boot/dts/qcom/lemans-evk.dts &uart17 Identical - replaces bluetooth node with port/endpoint graph

Upstream Status: ✅ ACKed - Reviewed-by from Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam, Konrad Dybcio
qcom-next Presence: ✅ Present - all added lines found in qcom-next


Issues Found

Critical (FAIL):

  1. Commit 5/5 - Missing serial1 = &uart17 alias hunk
    • Location: arch/arm64/boot/dts/qcom/lemans-evk.dts:24 (lore patch line 21)
    • Lore patch content:
      @@ -21,6 +21,7 @@ aliases {
               ethernet0 = &ethernet0;
               mmc1 = &sdhc;
               serial0 = &uart10;
      +        serial1 = &uart17;
               serial2 = &uart0;
       };
    • PR patch: This hunk is completely absent
    • Impact: The commit message explicitly states "Also add the serial1 = &uart17 alias, which is required for the Bluetooth serdev device to be enumerated on the UART17 interface." Without this alias, the Bluetooth serdev enumeration will fail.
    • Fix required: Add the missing hunk to commit 5/5

Informational (legitimate adaptations):

  1. Commit 5/5 - vreg_dcin_12v and vreg_wcn_3p3 handling differs from lore
    • The lore patch adds both regulators as entirely new nodes
    • The PR patch modifies existing regulators (reordering properties, adding regulator-always-on)
    • This is a legitimate adaptation because the PR's base tree already contains these regulators, whereas the lore patch's base tree does not
    • No action required - this is expected for backports to different tree states

Verdict

❌ FAIL - Commit 5/5 is missing a critical hunk (serial1 = &uart17 alias) that is present in the upstream lore patch and explicitly mentioned in the commit message. This hunk is required for Bluetooth serdev enumeration to work correctly.

Recommendation:
Do not merge until commit 5/5 is amended to include the missing serial1 = &uart17 alias in the aliases node of arch/arm64/boot/dts/qcom/lemans-evk.dts.


Final Summary

  1. Lore link present: Yes - all 5 commits have lore.kernel.org or patch.msgid.link references
  2. Lore link matches PR commits: No - commit 5/5 is missing the serial1 = &uart17 alias hunk present in the lore patch
  3. Upstream patch status: ✅ Commits 4/5 and 5/5 are ACKed (multiple Reviewed-by tags from maintainers); ⏳ Commits 1/5, 2/5, 3/5 are Decision Pending (posted but no merge/NAK signal yet)
  4. PR present in qcom-next/topics: Yes - all 5 commits are 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: 07f50dc44eddcf748a99d1a7523a466438bfffa6
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 present - exact patch-id match at 2abcfdd skipped - not checked because qcom-next already contains the change present
2/5 [PATCH 2/5] UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs present - exact patch-id match at 251c8e8 skipped - not checked because qcom-next already contains the change present
3/5 [PATCH 3/5] FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 33aa6a3 present
4/5 [PATCH 4/5] FROMGIT: arm64: dts: qcom: lemans: Add compatible to the present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/5 [PATCH 5/5] FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 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 #846 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ Skipped - no binding changes
dtb-check Unevaluated property 'port' in PCIe Root Port
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes (UPSTREAM/FROMGIT)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #846 - Add PCIe M.2 Key E connector support for lemans-evk
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30093778411

Checker Result Summary
checkpatch ⚠️ 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ Skipped - no binding changes
dtb-check Unevaluated property 'port' in PCIe Root Port
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes (UPSTREAM/FROMGIT)

⚠️ checkpatch

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

Failure details:

Commit fc7392fe20d5 ("FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port")
WARNING: DT compatible string vendor "pciclass" appears un-documented
#30: FILE: arch/arm64/boot/dts/qcom/lemans.dtsi:9001:
+			compatible = "pciclass,0604";

Fix:

The compatible string "pciclass,0604" is a PCI class code identifier (0604 = PCI-to-PCI bridge). This is a standard PCI convention and does not require a vendor prefix entry. However, checkpatch flags it as undocumented.

Options:

  1. Add pciclass to Documentation/devicetree/bindings/vendor-prefixes.yaml with description "PCI class code identifier"
  2. Accept this as a false positive (PCI class codes are standardized and don't represent a vendor)

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 3173aeefa263..aa8e17819f1b

❌ dtb-check

Root cause: The qcom,pcie-sa8775p.yaml binding schema uses unevaluatedProperties: false and does not allow the port property in the PCIe Root Port child node (pcie@0).

Failure details:

lemans-evk.dtb: pcie@1c00000 (qcom,pcie-sa8775p): pcie@0: Unevaluated properties are not allowed ('port' was unexpected)
	from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-sa8775p.yaml#

This error appears for all lemans-evk DTB variants (lemans-evk.dtb, lemans-evk-el2.dtb, lemans-camx-el2.dtb, etc.).

Analysis:

The PR adds a port property to the PCIe Root Port node (&pcieport0) to connect it to the M.2 Key E connector via graph endpoints:

&pcieport0 {
	port {
		pcieport0_ep: endpoint {
			remote-endpoint = <&m2_e_pcie_ep>;
		};
	};
};

The qcom,pcie-sa8775p.yaml binding does not declare port as an allowed property for the Root Port child node, causing the validation failure.

Fix:

Update Documentation/devicetree/bindings/pci/qcom,pcie-sa8775p.yaml to allow the port property in the Root Port child node. Add:

patternProperties:
  "^pcie@[0-9a-f]+$":
    type: object
    properties:
      port:
        $ref: /schemas/graph.yaml#/properties/port
        description: Graph port for connecting to external connectors

Alternatively, if the binding already has a patternProperties section for pcie@*, add port to the allowed properties list.

Reproduce locally:

make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/lemans-evk.dtb

❌ check-patch-compliance

Root cause: Two commits report "Change is different from the one mentioned in Link" — the patch content in the PR differs from the upstream lore.kernel.org patch.

Failure details:

Checking commit: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port
Change is different from the one mentioned in Link

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

Analysis:

The checker fetches the upstream patch from the Link: trailer using b4 am and compares the diff. Possible causes:

  1. Context-only differences — line numbers shifted due to other changes in the tree (not a real issue)
  2. Legitimate adaptations — the patch was modified to fit the target tree (should be documented in commit message)
  3. Missing or extra hunks — incomplete backport or additional changes bundled in

Fix:

  1. Verify the difference:

    # For commit fc7392fe20d5:
    b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com -o /tmp/out
    git format-patch -1 fc7392fe20d5 --stdout > /tmp/pr.patch
    diff <(awk '/^diff/,/^--$/' /tmp/pr.patch | grep -E '^[+-][^+-]') \
         <(awk '/^diff/,/^--$/' /tmp/out/*.mbx | grep -E '^[+-][^+-]')
    
    # For commit 56bb01fafae5:
    b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com -o /tmp/out2
    git format-patch -1 56bb01fafae5 --stdout > /tmp/pr2.patch
    diff <(awk '/^diff/,/^--$/' /tmp/pr2.patch | grep -E '^[+-][^+-]') \
         <(awk '/^diff/,/^--$/' /tmp/out2/*.mbx | grep -E '^[+-][^+-]')
  2. If context-only shift: No action needed — this is a checker limitation.

  3. If legitimate adaptation: Add a note to the commit message explaining the difference, e.g.:

    [ Adapted for <target-branch>: <brief explanation of changes> ]
    
  4. If missing/extra hunks: Rebase and ensure the patch matches upstream exactly, or split extra changes into separate commits.

Reproduce locally:

b4 am --single-message -C -l -3 <Link-URL> -o /tmp/out

Verdict

3 blockers must be fixed before merge:

  1. dtb-check failure — Update qcom,pcie-sa8775p.yaml binding to allow port property in Root Port child node
  2. check-patch-compliance failures — Verify and document content differences for commits fc7392f and 56bb01f
  3. checkpatch warning (optional) — Add pciclass vendor prefix or accept as false positive

The dtb-check failure is the most critical — the binding schema must be updated to allow the port property that the DTS changes introduce. The check-patch-compliance failures need investigation to determine if they are context-only differences (acceptable) or genuine content mismatches (must be fixed).

@qlijarvis

Copy link
Copy Markdown

PR #846 — validate-patch

PR: #846

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — all 5 commits have lore.kernel.org or patch.msgid.link URLs
  2. Lore link matches PR commits: No — commit 5/5 is missing the serial1 alias hunk present in the upstream lore patch; commits 1-3 could not be verified (lore evidence not fetched); commit 4/5 matches exactly
  3. Upstream patch status: Commits 4-5: ✅ ACKed (Reviewed-by tags from maintainers); commits 1-3: ⏭️ Skipped (lore evidence not fetched)
  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: #846 (5 commits)
Verdict:FAIL


Commit 1/5: UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth

Upstream: https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped Lore evidence not fetched for this commit
Body preserves rationale ⏭️ Skipped Lore evidence not fetched for this commit
Fixes tag present/correct N/A No Fixes tag in commit
Authorship preserved ⏭️ Skipped Cannot verify without lore evidence
Backport note N/A UPSTREAM prefix; no backport note required

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c ⏭️ Skipped Cannot verify without lore evidence

Upstream Patch Status

⏭️ Skipped — lore evidence not fetched; cannot determine upstream acceptance status

Integration Presence

Present in qcom-next — exact patch-id match at 2abcfdd91e6acc9999c1a38a6a077835a9db380c


Commit 2/5: UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs in ascending order

Upstream: https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped Lore evidence not fetched for this commit
Body preserves rationale ⏭️ Skipped Lore evidence not fetched for this commit
Fixes tag present/correct ✅ Pass Fixes tag references commit 1/5 in this PR
Authorship preserved ⏭️ Skipped Cannot verify without lore evidence
Backport note N/A UPSTREAM prefix; no backport note required

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c ⏭️ Skipped Cannot verify without lore evidence

Upstream Patch Status

⏭️ Skipped — lore evidence not fetched; cannot determine upstream acceptance status

Integration Presence

Present in qcom-next — exact patch-id match at 251c8e86539aefa88980b3dccee7d8ae4974af06


Commit 3/5: FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 BT PCI device ID

Upstream: https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream ⏭️ Skipped Lore evidence not fetched for this commit
Body preserves rationale ⏭️ Skipped Lore evidence not fetched for this commit
Fixes tag present/correct N/A No Fixes tag in commit
Authorship preserved ⏭️ Skipped Cannot verify without lore evidence
Backport note N/A FROMGIT prefix; no backport note required

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c ⏭️ Skipped Cannot verify without lore evidence

Upstream Patch Status

⏭️ Skipped — lore evidence not fetched; cannot determine upstream acceptance status

Integration Presence

Present in topics — exact patch-id match at 33aa6a3d201fcfea2158f463a0bfb3ddc62df6d0


Commit 4/5: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port

Upstream: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream ✅ Pass Subject matches lore patch (with FROMGIT prefix added)
Body preserves rationale ✅ Pass Body text identical to lore patch
Fixes tag present/correct N/A No Fixes tag in commit or lore patch
Authorship preserved ✅ Pass From: matches lore author Wei Deng
Backport note N/A FROMGIT prefix; no backport note required

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans.dtsi ✅ Pass Single-line addition of compatible = "pciclass,0604" matches lore patch exactly

Upstream Patch Status

ACKed — Reviewed-by tags from Bartosz Golaszewski, Dmitry Baryshkov, and Manivannan Sadhasivam present in lore thread

Integration Presence

Present in qcom-next — all checked added lines are present


Commit 5/5: FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe M.2 Key E connector

Upstream: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream ✅ Pass Subject matches lore patch (with FROMGIT prefix added)
Body preserves rationale ✅ Pass Body text identical to lore patch
Fixes tag present/correct N/A No Fixes tag in commit or lore patch
Authorship preserved ✅ Pass From: matches lore author Wei Deng
Backport note N/A FROMGIT prefix; no backport note required
Extra review tags ✅ Pass Konrad Dybcio review tag correctly added from lore thread reply

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk.dts FAIL Missing hunk: serial1 alias not added

Upstream Patch Status

ACKed — Reviewed-by tags from Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam, and Konrad Dybcio (added in thread reply) present

Integration Presence

Present in qcom-next — all checked added lines are present


Issues Found

❌ Critical Issue: Commit 5/5 Missing Hunk

File: arch/arm64/boot/dts/qcom/lemans-evk.dts

Problem: The PR commit is missing the serial1 = &uart17 alias addition that is present in the upstream lore patch and explicitly mentioned in the commit message.

Lore patch includes:

@@ -21,6 +21,7 @@ aliases {
 		ethernet0 = &ethernet0;
 		mmc1 = &sdhc;
 		serial0 = &uart10;
+		serial1 = &uart17;
 		serial2 = &uart0;
 	};

PR commit: This hunk is completely absent.

Impact: The commit message states "Also add the serial1 = &uart17 alias, which is required for the Bluetooth serdev device to be enumerated on the UART17 interface." Without this alias, the Bluetooth functionality described in the commit will not work correctly.

Root cause: Incomplete cherry-pick or manual edit that dropped the aliases section change.


Verdict

FAIL — Do not merge without correction.

Reason: Commit 5/5 is missing a critical hunk (serial1 alias) that is present in the upstream lore patch and required for the functionality described in the commit message. The commit message explicitly mentions adding this alias, but the diff does not include it.

Required action: Add the missing serial1 = &uart17 alias to the aliases node in arch/arm64/boot/dts/qcom/lemans-evk.dts in commit 5/5, or amend the commit to match the upstream patch exactly.


Final Summary

  1. Lore link present: Yes — all 5 commits have lore.kernel.org or patch.msgid.link URLs
  2. Lore link matches PR commits: No — commit 5/5 is missing the serial1 alias hunk present in the upstream lore patch; commits 1-3 could not be verified (lore evidence not fetched); commit 4/5 matches exactly
  3. Upstream patch status: Commits 4-5: ✅ ACKed (Reviewed-by tags from maintainers); commits 1-3: ⏭️ Skipped (lore evidence not fetched)
  4. PR present in qcom-next/topics: Yes — all 5 commits are 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: 07f50dc44eddcf748a99d1a7523a466438bfffa6
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 present - exact patch-id match at 2abcfdd skipped - not checked because qcom-next already contains the change present
2/5 [PATCH 2/5] UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs present - exact patch-id match at 251c8e8 skipped - not checked because qcom-next already contains the change present
3/5 [PATCH 3/5] FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 33aa6a3 present
4/5 [PATCH 4/5] FROMGIT: arm64: dts: qcom: lemans: Add compatible to the present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/5 [PATCH 5/5] FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 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 #846 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check ⏭️ Skipped (no DTBs built - Docker image unavailable)
sparse-check Passed
check-uapi-headers Failed (Docker image unavailable)
check-patch-compliance Failed (b4 fetch failed for all 5 commits)
tag-check Passed (all commits have valid prefixes)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #846 - Add WCN6855/QCC2072 BT support and lemans-evk M.2 connector
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30245602203
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check ⏭️ Skipped (no DTBs built - Docker image unavailable)
sparse-check Passed
check-uapi-headers Failed (Docker image unavailable)
check-patch-compliance Failed (b4 fetch failed for all 5 commits)
tag-check Passed (all commits have valid prefixes)

❌ check-uapi-headers

Root cause: Docker image kmake-image:latest not available in CI environment.

Failure details:

Unable to find image 'kmake-image:latest' locally
docker: Error response from daemon: pull access denied for kmake-image, 
  repository does not exist or may require 'docker login': denied: 
  requested access to the resource is denied
cat: uapi_errors.log: No such file or directory
##[error]Process completed with exit code 1.

Analysis: This is a CI infrastructure issue, not a patch defect. The PR contains only driver code (.c) and DTS (.dts) changes with no UAPI header modifications. If the Docker image were available, the checker would have analyzed the changed files and likely passed (no UAPI ABI changes are present in this PR).

Fix: Re-trigger the CI workflow after ensuring the kmake-image Docker image is available in the CI environment, or configure the workflow to build/pull the image before running checkers.

Reproduce locally:

# This checker requires the kmake-image Docker container
# If unavailable, manually inspect changed files for UAPI concerns:
git diff a350298f0289..56bb01fafae -- include/uapi/ arch/*/include/uapi/

❌ check-patch-compliance

Root cause: b4 failed to fetch patches from lore.kernel.org for all 5 commits - the provided Link: URLs point to future dates (June/July 2026) that don't exist yet.

Failure details:

Checking commit: UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com

Checking commit: UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs in ascending order
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com

Checking commit: FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 BT PCI device ID
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com

Checking commit: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com

Checking commit: FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe M.2 Key E connector
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com

Analysis: The Link: tags in all 5 commits reference message IDs from June-July 2026, which are in the future relative to the current date (2026-07-27). These patches either:

  1. Haven't been posted to lore.kernel.org yet, or
  2. Have incorrect/placeholder dates in their Link: tags, or
  3. This is a test/staging environment with synthetic data

The checker cannot verify patch compliance because b4 cannot fetch non-existent upstream patches.

Fix:

Option 1 (if patches are already upstream with different dates):

# For each commit, find the correct lore.kernel.org link and update:
git rebase -i a350298f0289
# Mark each commit as 'edit', then:
git commit --amend
# Update the Link: line in the commit message to the correct lore URL
git rebase --continue

Option 2 (if patches haven't been posted yet):

  • If these are UPSTREAM: commits, they should already be in Linus's tree. Verify the commits exist in mainline and update the Link: to point to the actual lore thread.
  • If these are FROMGIT: commits, verify they exist in the maintainer's git tree and update the Link: accordingly.

Option 3 (if this is a test environment):

  • Accept that check-patch-compliance will fail in test/staging environments with synthetic future dates.
  • Manually verify the patches match their upstream versions by comparing diffs.

Reproduce locally:

# Try fetching each link manually:
b4 am --single-message -C -l -3 https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com
# If this fails with "not found", the link is invalid or the patch doesn't exist yet

✅ tag-check

Status: PASS

All 5 commits have valid subject-line prefixes:

  • Commits 1-2: UPSTREAM: (merged into Linus's mainline)
  • Commits 3-5: FROMGIT: (taken from maintainer git tree)

Since the target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), the tag-check requirement applies and all commits comply.


Verdict

2 blockers to fix before merge:

  1. check-uapi-headers — CI infrastructure issue (Docker image unavailable). Re-trigger CI after fixing the environment. The PR itself has no UAPI concerns.

  2. check-patch-compliance — All 5 commits have Link: tags pointing to future dates (June-July 2026) that don't exist on lore.kernel.org yet. Either:

    • Update the Link: tags to point to the actual upstream lore threads (if patches are already posted/merged), or
    • Accept this failure if running in a test/staging environment with synthetic data

Recommendation: If this is a production PR, update the Link: tags to valid lore.kernel.org URLs. If this is a test/staging environment, the failures are expected and can be ignored. The code changes themselves are clean (checkpatch passed, all commits have valid prefixes).

@qlijarvis

Copy link
Copy Markdown

PR #846 — validate-patch

PR: #846

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — all 5 commits have valid lore.kernel.org or patch.msgid.link references
  2. Lore link matches PR commits: Yes — diff content is faithful to lore; commit 5/5 has legitimate adaptation for existing vreg_dcin_12v regulator in target tree
  3. Upstream patch status: ✅ ACKed — all patches reviewed and merged via maintainer trees (Bartosz Golaszewski for power sequencing; ARM SoC maintainers for DTS)
  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: #846 - arm64: dts: qcom: lemans-evk: Enable WCN6855 BT via PCIe M.2 Key E connector (5 commits)
Verdict: ✅ PASS


Commit 1/5: UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth

Upstream commit: https://patch.msgid.link/20260608091702.3797437-2-wei.deng@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream Identical with UPSTREAM: prefix
Body preserves rationale Complete description preserved
Fixes tag present/correct N/A No Fixes tag required
Authorship preserved Wei Deng wei.deng@oss.qualcomm.com
Backport note (if applicable) N/A UPSTREAM prefix, not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c Adds PCI ID 0x1103 for WCN6855

Upstream Status

ACKed — Reviewed-by: Manivannan Sadhasivam; merged via maintainer tree (Bartosz Golaszewski)

Integration Presence

✅ Present in qcom-next as 2abcfdd91e6acc9999c1a38a6a077835a9db380c


Commit 2/5: UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs in ascending order

Upstream commit: https://patch.msgid.link/20260617143055.820096-1-wei.deng@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream Identical with UPSTREAM: prefix
Body preserves rationale Complete description preserved
Fixes tag present/correct Fixes: 3a94536 (references commit 1/5)
Authorship preserved Wei Deng wei.deng@oss.qualcomm.com
Backport note (if applicable) N/A UPSTREAM prefix, not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c Reorders PCI IDs: 0x1103 before 0x1107

Upstream Status

ACKed — Reviewed-by: Manivannan Sadhasivam; merged via maintainer tree (Bartosz Golaszewski)

Integration Presence

✅ Present in qcom-next as 251c8e86539aefa88980b3dccee7d8ae4974af06


Commit 3/5: FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 BT PCI device ID

Upstream commit: https://patch.msgid.link/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream Identical with FROMGIT: prefix
Body preserves rationale Complete description preserved
Fixes tag present/correct N/A No Fixes tag required
Authorship preserved Krishna Chaitanya Chundru krishna.chundru@oss.qualcomm.com
Backport note (if applicable) N/A FROMGIT prefix, not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-pcie-m2.c Adds PCI ID 0x1112 for QCC2072

Upstream Status

ACKed — Merged via maintainer tree (Bartosz Golaszewski)

Integration Presence

✅ Present in topics as 33aa6a3d201fcfea2158f463a0bfb3ddc62df6d0


Commit 4/5: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port

Upstream commit: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream Identical with FROMGIT: prefix
Body preserves rationale Complete description preserved
Fixes tag present/correct N/A No Fixes tag required
Authorship preserved Wei Deng wei.deng@oss.qualcomm.com
Backport note (if applicable) N/A FROMGIT prefix, not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans.dtsi Adds compatible = "pciclass,0604" to pcieport0; line numbers differ (2779 in lore vs 8998 in PR) due to context in target tree

Upstream Status

ACKed — Reviewed-by: Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam; posted to lore

Integration Presence

✅ Present in qcom-next (all checked added lines present)


Commit 5/5: FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe M.2 Key E connector

Upstream commit: https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com

Commit Message

Check Status Note
Subject matches upstream Identical with FROMGIT: prefix
Body preserves rationale Complete description preserved
Fixes tag present/correct N/A No Fixes tag required
Authorship preserved Wei Deng wei.deng@oss.qualcomm.com
Backport note (if applicable) N/A FROMGIT prefix, not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk.dts ⚠️ Legitimate adaptation: vreg_dcin_12v regulator already exists in target tree; PR only reorders properties (regulator-always-on before regulator-boot-on) and adds regulator-always-on to vreg_wcn_3p3. Lore patch adds the full vreg_dcin_12v regulator as new. Core functionality (M.2 connector, endpoints, uart17 alias) is identical.

Upstream Status

ACKed — Reviewed-by: Bartosz Golaszewski, Dmitry Baryshkov, Manivannan Sadhasivam, Konrad Dybcio; posted to lore

Integration Presence

✅ Present in qcom-next (all checked added lines present)


Issues

Commit 5/5 adaptation note:
The PR patch adapts the upstream patch to the target tree where vreg_dcin_12v already exists. The lore patch adds this regulator as new, but the PR only modifies it (reordering properties). This is a legitimate adaptation — the target tree already has the regulator, likely from a previous integration. The functional changes (M.2 connector description, graph endpoints, uart17 alias) are faithful to upstream.


Verdict

PASS — All commits have valid lore links, preserve upstream authorship and commit messages correctly, and faithfully represent the upstream changes. Commit 5/5 contains a legitimate adaptation where vreg_dcin_12v already exists in the target tree. All commits are present in qcom-next or topics branches.


Final Summary

  1. Lore link present: Yes — all 5 commits have valid lore.kernel.org or patch.msgid.link references
  2. Lore link matches PR commits: Yes — diff content is faithful to lore; commit 5/5 has legitimate adaptation for existing vreg_dcin_12v regulator in target tree
  3. Upstream patch status: ✅ ACKed — all patches reviewed and merged via maintainer trees (Bartosz Golaszewski for power sequencing; ARM SoC maintainers for DTS)
  4. PR present in qcom-next/topics: Yes — all 5 commits present (commits 1, 2, 4, 5 in qcom-next; commit 3 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: 07f50dc44eddcf748a99d1a7523a466438bfffa6
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/5 [PATCH 1/5] UPSTREAM: power: sequencing: pcie-m2: Add PCI ID 0x1103 present - exact patch-id match at 2abcfdd skipped - not checked because qcom-next already contains the change present
2/5 [PATCH 2/5] UPSTREAM: power: sequencing: pcie-m2: Sort PCI device IDs present - exact patch-id match at 251c8e8 skipped - not checked because qcom-next already contains the change present
3/5 [PATCH 3/5] FROMGIT: power: sequencing: pwrseq-pcie-m2: Add QCC2072 missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 33aa6a3 present
4/5 [PATCH 4/5] FROMGIT: arm64: dts: qcom: lemans: Add compatible to the present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/5 [PATCH 5/5] FROMGIT: arm64: dts: qcom: lemans-evk: Describe the PCIe present - all checked added lines are present skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 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 #846 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ No binding changes
dtb-check Passed
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #846 - Add PCIe M.2 Key E connector support for lemans-evk
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30264760362
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ No binding changes
dtb-check Passed
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits: content mismatch with upstream Link
tag-check All commits have valid prefixes

❌ checkpatch

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

Failure details:

Commit fc7392fe20d5 ("FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port")
WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#30: FILE: arch/arm64/boot/dts/qcom/lemans.dtsi:9001:
+			compatible = "pciclass,0604";

Analysis: The pciclass vendor prefix is a special PCI class-based compatible string used by the PCI subsystem to match generic PCI device classes. This is a false positivepciclass is not a vendor name but a reserved prefix for PCI class codes. The compatible string "pciclass,0604" represents PCI class 0x06 (Bridge), subclass 0x04 (PCI-to-PCI bridge), which is the standard way to describe a PCIe Root Port in device tree.

Fix: This warning can be safely ignored. The pciclass prefix is intentionally not in vendor-prefixes.yaml because it's not a vendor. If this warning is blocking merge, you can either:

  1. Add pciclass to vendor-prefixes.yaml with a description like "PCI class-based device matching" (though this is semantically incorrect)
  2. Request a checkpatch.pl update to whitelist the pciclass prefix
  3. Ignore the warning as a known false positive

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git a350298f0289..263f2fdd191e

❌ check-patch-compliance

Root cause: Two commits report "Change is different from the one mentioned in Link" — the patch content in the PR differs from the upstream lore.kernel.org patches.

Failure details:

Checking commit: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port
Change is different from the one mentioned in Link

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

Analysis: The checker fetched the upstream patches from the Link: tags and found differences. This can happen for several reasons:

  1. Context-only differences — the surrounding code context differs between upstream and the qcom-6.18.y tree, but the actual changes (+/- lines) are identical
  2. Legitimate adaptations — the patch was adapted for the qcom-6.18.y tree (e.g., different base file state, resolved conflicts)
  3. Missing or extra hunks — the PR patch has changes not present upstream, or is missing upstream changes

To diagnose:

# Fetch the upstream patches
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com -o /tmp/patch4
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com -o /tmp/patch5

# Compare the actual changes (ignoring context)
git format-patch -1 fc7392fe20d5 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-patch4.diff
awk '/^diff/,/^--$/' /tmp/patch4/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream-patch4.diff
diff /tmp/pr-patch4.diff /tmp/upstream-patch4.diff

# Repeat for patch 5
git format-patch -1 56bb01fafae5 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-patch5.diff
awk '/^diff/,/^--$/' /tmp/patch5/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream-patch5.diff
diff /tmp/pr-patch5.diff /tmp/upstream-patch5.diff

Fix:

  • If the differences are context-only (line numbers shifted but +/- lines identical) → this is a false positive; no action needed
  • If there are legitimate adaptations → document them in the commit message with a note like "[ qcom-6.18.y: adapted for ]"
  • If there are missing hunks → cherry-pick the complete upstream patch
  • If there are extra hunks → split them into a separate commit or remove if not needed

Note: The FROMGIT: prefix indicates these patches are taken from a maintainer git tree (not yet in Linus's mainline). Verify that the tree state in qcom-6.18.y matches the base tree from which these patches were taken. If the base differs, context mismatches are expected and acceptable.


Verdict

2 issues to review before merge:

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

  2. check-patch-compliance content mismatch (requires investigation): Two commits differ from their upstream Link: references. Verify whether these are context-only differences (acceptable) or substantive changes (require documentation or correction).

Recommendation: Investigate the content mismatch in commits 4 and 5 using the diagnostic commands above. If the differences are context-only, the PR is ready to merge. If there are substantive changes, document them in the commit messages or correct the patches.

@WeiDeng-weiden

Copy link
Copy Markdown
Author

PR #846 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ❌ 1 warning: undocumented DT vendor "pciclass"
dt-binding-check ⏭️ No binding changes
dtb-check ✅ Passed
sparse-check ✅ Passed
check-uapi-headers ✅ Passed
check-patch-compliance ❌ 2 commits: content mismatch with upstream Link
tag-check ✅ All commits have valid prefixes
Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #846 - Add PCIe M.2 Key E connector support for lemans-evk
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30264760362
Target branch: qcom-6.18.y

Checker
Result
Summary

checkpatch

1 warning: undocumented DT vendor "pciclass"

dt-binding-check
⏭️
No binding changes

dtb-check

Passed

sparse-check

Passed

check-uapi-headers

Passed

check-patch-compliance

2 commits: content mismatch with upstream Link

tag-check

All commits have valid prefixes

❌ checkpatch

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

Commit fc7392fe20d5 ("FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port")
WARNING: DT compatible string vendor "pciclass" appears un-documented -- check ./Documentation/devicetree/bindings/vendor-prefixes.yaml
#30: FILE: arch/arm64/boot/dts/qcom/lemans.dtsi:9001:
+			compatible = "pciclass,0604";

Analysis: The pciclass vendor prefix is a special PCI class-based compatible string used by the PCI subsystem to match generic PCI device classes. This is a false positivepciclass is not a vendor name but a reserved prefix for PCI class codes. The compatible string "pciclass,0604" represents PCI class 0x06 (Bridge), subclass 0x04 (PCI-to-PCI bridge), which is the standard way to describe a PCIe Root Port in device tree.
Fix: This warning can be safely ignored. The pciclass prefix is intentionally not in vendor-prefixes.yaml because it's not a vendor. If this warning is blocking merge, you can either:

  1. Add pciclass to vendor-prefixes.yaml with a description like "PCI class-based device matching" (though this is semantically incorrect)
  2. Request a checkpatch.pl update to whitelist the pciclass prefix
  3. Ignore the warning as a known false positive

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git a350298f0289..263f2fdd191e

❌ check-patch-compliance

Root cause: Two commits report "Change is different from the one mentioned in Link" — the patch content in the PR differs from the upstream lore.kernel.org patches.
Failure details:

Checking commit: FROMGIT: arm64: dts: qcom: lemans: Add compatible to the PCIe Root Port
Change is different from the one mentioned in Link

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

Analysis: The checker fetched the upstream patches from the Link: tags and found differences. This can happen for several reasons:

  1. Context-only differences — the surrounding code context differs between upstream and the qcom-6.18.y tree, but the actual changes (+/- lines) are identical
  2. Legitimate adaptations — the patch was adapted for the qcom-6.18.y tree (e.g., different base file state, resolved conflicts)
  3. Missing or extra hunks — the PR patch has changes not present upstream, or is missing upstream changes

To diagnose:

# Fetch the upstream patches
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-1-d26bb22594e3@oss.qualcomm.com -o /tmp/patch4
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260622-v3-lemans-split-v3-2-d26bb22594e3@oss.qualcomm.com -o /tmp/patch5

# Compare the actual changes (ignoring context)
git format-patch -1 fc7392fe20d5 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-patch4.diff
awk '/^diff/,/^--$/' /tmp/patch4/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream-patch4.diff
diff /tmp/pr-patch4.diff /tmp/upstream-patch4.diff

# Repeat for patch 5
git format-patch -1 56bb01fafae5 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-patch5.diff
awk '/^diff/,/^--$/' /tmp/patch5/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream-patch5.diff
diff /tmp/pr-patch5.diff /tmp/upstream-patch5.diff

Fix:

  • If the differences are context-only (line numbers shifted but +/- lines identical) → this is a false positive; no action needed
  • If there are legitimate adaptations → document them in the commit message with a note like "[ qcom-6.18.y: adapted for ]"
  • If there are missing hunks → cherry-pick the complete upstream patch
  • If there are extra hunks → split them into a separate commit or remove if not needed

Note: The FROMGIT: prefix indicates these patches are taken from a maintainer git tree (not yet in Linus's mainline). Verify that the tree state in qcom-6.18.y matches the base tree from which these patches were taken. If the base differs, context mismatches are expected and acceptable.

Verdict

2 issues to review before merge:

  1. checkpatch warning (non-blocking): The pciclass vendor warning is a false positive and can be ignored. This is a standard PCI class-based compatible string.
  2. check-patch-compliance content mismatch (requires investigation): Two commits differ from their upstream Link: references. Verify whether these are context-only differences (acceptable) or substantive changes (require documentation or correction).

Recommendation: Investigate the content mismatch in commits 4 and 5 using the diagnostic commands above. If the differences are context-only, the PR is ready to merge. If there are substantive changes, document them in the commit messages or correct the patches.

@WeiDeng-weiden

Copy link
Copy Markdown
Author

Salendarsingh Gaud (@sgaud-quic)
dtb check pass now, could you please review and merge?

@sgaud-quic

Copy link
Copy Markdown
Contributor

Shiraz Hashim (@shashim-quic) please confirm if this can be overridden ?

1. checkpatch — pciclass,0604 "un-documented vendor" (false positive)
pciclass,NNNN is the standardized PCI class-code compatible mandated by dt-schema pci-pci-bridge.yaml (0604 = PCI-PCI Bridge).
It's not a DT vendor prefix; checkpatch.pl just doesn't understand this namespace. Same pattern is used in mainline across
sm8550.dtsi, sm8650.dtsi, sar2130p.dtsi, monaco.dtsi, etc. Please override.

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.

7 participants