Skip to content

FROMLIST: Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs - #948

Open
ziyuezhang-123 wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
ziyuezhang-123:for-6.18/phy-qcom-qmp-pcie-qref-refgen-qcs8300-sa8775p
Open

FROMLIST: Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs#948
ziyuezhang-123 wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
ziyuezhang-123:for-6.18/phy-qcom-qmp-pcie-qref-refgen-qcs8300-sa8775p

Conversation

@ziyuezhang-123

Copy link
Copy Markdown

This series adds qref and refgen regulator support for the PCIe QMP PHYs on QCS8300 and SA8775p platforms.

The PCIe PHYs on these SoCs require dedicated qref and refgen voltage supplies for stable operation. Without enabling these supplies, PCIe may be unstable and the system can occasionally crash under certain scenarios.

The refgen supply in particular works around a hardware issue where both QREF and the PCIe PHY are expected to depend on refgen2, but QREF actually depends on refgen3. This series therefore votes for refgen3 manually via the refgen supply.

Change 1: dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties
Change 2: phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY
Change 3: arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs
Change 4: arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs

Link: https://lore.kernel.org/r/20260810112735.1326807-1-ziyue.zhang@oss.qualcomm.com

Ziyue Zhang added 4 commits August 13, 2026 13:47
…gen supply properties

QCS8300 and SA8775p PCIe PHYs require dedicated vdda-refgen and refgen
LDO supplies for QREF to provide a stable reference clock. Without these
supplies, the PCIe PHYs cannot work properly. Mark them as required for
the affected compatibles even though it breaks ABI.

vdda-refgen-supply is required for all three QCS8300 and SA8775p PHY
compatibles. refgen-supply is required for QCS8300 only, as a workaround
for a hardware issue where QREF actually depends on refgen3 rather than
refgen2 as documented, so the PHY driver votes for refgen3 directly via
this supply.

Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
…nd SA8775p PHY

Add a new sa8775p_qmp_phy_vreg_l that includes vdda-phy, vdda-pll,
vdda-qref, vdda-refgen and refgen supplies, and use it for QCS8300
and SA8775p PCIe PHY configurations. This avoids modifying
sm8550_qmp_phy_vreg_l and breaking SM8550 and SM8650.

Note that due to a hardware issue, QREF actually depends on refgen3
rather than refgen2 as documented; refgen3 is therefore voted manually
via the refgen supply as a workaround.

Fixes: a05b6d5 ("phy: qcom-qmp-pcie: add support for sa8775p")
Fixes: ebf198f ("phy: qcom-qmp-pcie: add dual lane PHY support for QCS8300")
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
…CIe PHYs

The QMP PCIe PHYs on QCS8300 require dedicated qref and refgen voltage
supplies for stable operation. Without these supplies, the system may
occasionally crash.

Add vdda-qref-supply and vdda-refgen-supply in the board files
(QCS8300-RIDE, Monaco-EVK and Monaco-Monza-SoM), and add refgen-supply
in the SoC DTSI (monaco.dtsi) since refgen is an on-chip regulator
shared across boards. The PHY driver votes for refgen3 directly as a
workaround for a hardware issue where QREF actually depends on refgen3
rather than refgen2 as documented.

[adaptation: monaco-evk.dts PCIe PHY nodes are in monaco-evk-common.dtsi
in this branch; monaco-monza-som.dtsi absent, skipped]

Fixes: 33967ea ("arm64: dts: qcom: qcs8300-ride: enable pcie0 interface")
Fixes: cdb613a ("arm64: dts: qcom: qcs8300-ride: enable pcie1 interface")
Fixes: 41e2424 ("arm64: dts: qcom: monaco-evk: Enable PCIe0 and PCIe1.")
Fixes: 5238f4e ("arm64: dts: qcom: Add Monaco Monza SoM")
Link: https://lore.kernel.org/r/20260810112735.1326807-4-ziyue.zhang@oss.qualcomm.com
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
…CIe PHYs

The QMP PCIe PHYs on SA8775p require dedicated qref and refgen voltage
supplies for stable operation. Without these supplies, the system may
occasionally crash.

Add vdda-qref-supply and vdda-refgen-supply in the board files
(Lemans-EVK, Lemans-RIDE, QCS9100-RIDE and QCS9100-RIDE-R3).

Fixes: 94d7d37 ("arm64: dts: qcom: lemans-evk: Enable PCIe support")
Fixes: 76326da ("arm64: dts: qcom: lemans: Refactor ride/ride-r3 boards based on daughter cards")
Link: https://lore.kernel.org/r/20260810112735.1326807-5-ziyue.zhang@oss.qualcomm.com
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

PR #948 — validate-patch

PR: #948

Verdict Issues Detailed Report
2 Full report

Final Summary

  1. Lore link present: Not provided in agent output
  2. Lore link matches PR commits: Not provided in agent output
  3. Upstream patch status: Not provided in agent output
  4. PR present in qcom-next/topics: Partial - 4/4 commit(s) only have partial integration evidence
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #948 - Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs
Verdict: ❌ FAIL


Commit 1/4: dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties

Upstream commit: N/A
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream N/A No lore link to compare
Body preserves rationale N/A No lore link to compare
Fixes tag present/correct Missing - should have Fixes tag for ABI break
Authorship preserved N/A No lore link to compare
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml ⚠️ Cannot verify against upstream - no lore link

Issues

  • Missing lore link: This commit has no Link: tag pointing to lore.kernel.org, but the lore mbox evidence shows this corresponds to [PATCH v1 1/4] in the upstream series. The commit message states it "breaks ABI" by marking supplies as required, which is a significant change that should reference the upstream discussion.
  • Missing Fixes tag: The commit message mentions breaking ABI for affected compatibles but doesn't include a Fixes tag.

Verdict

FAIL - No lore link found. This appears to correspond to upstream patch [PATCH v1 1/4] but lacks the required Link: tag.

Final Summary

  1. Lore link present: No — missing Link: tag
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: ⏳ Decision Pending — posted to mailing list on 2026-08-10; no acceptance/rejection signals found in thread
  4. PR present in qcom-next/topics: Partial — subject or partial tree evidence found, but full change not verified

Commit 2/4: phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY

Upstream commit: N/A
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream N/A No lore link to compare
Body preserves rationale N/A No lore link to compare
Fixes tag present/correct Two Fixes tags present
Authorship preserved N/A No lore link to compare
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c ⚠️ Cannot verify against upstream - no lore link

Issues

  • Missing lore link: This commit has no Link: tag pointing to lore.kernel.org, but the lore mbox evidence shows this corresponds to [PATCH v1 2/4] in the upstream series. This is a functional fix with Fixes tags that should reference the upstream discussion.

Verdict

FAIL - No lore link found. This appears to correspond to upstream patch [PATCH v1 2/4] but lacks the required Link: tag.

Final Summary

  1. Lore link present: No — missing Link: tag
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: ⏳ Decision Pending — posted to mailing list on 2026-08-10; no acceptance/rejection signals found in thread
  4. PR present in qcom-next/topics: Partial — subject or partial tree evidence found, but full change not verified

Commit 3/4: FROMLIST: arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs

Upstream commit: https://lore.kernel.org/r/20260810112735.1326807-4-ziyue.zhang@oss.qualcomm.com
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream Matches with FROMLIST: prefix added
Body preserves rationale Key rationale preserved
Fixes tag present/correct Four Fixes tags present
Authorship preserved Author matches lore patch
Backport note (if applicable) N/A FROMLIST, not backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/monaco-evk.dts ⚠️ File present in PR but not in lore patch
arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi ⚠️ File present in PR but not in lore patch
arch/arm64/boot/dts/qcom/qcs8300-ride.dts ⚠️ File present in PR but not in lore patch

Issues

  • Extra content not in lore patch: The PR commit modifies monaco-evk.dts and monaco-monza-som.dtsi which are not present in the upstream lore patch [PATCH v1 3/4]. The lore patch only modifies qcs8300-ride.dts. This is additional vendor-specific content that should be split into a separate commit with appropriate prefix (QCLINUX: or separate FROMLIST: if posted separately).
  • Duplicate Signed-off-by: The commit has two identical Signed-off-by: Ziyue Zhang lines.

Verdict

PARTIAL - Lore link present and matches for qcs8300-ride.dts, but PR contains extra files not in the upstream patch.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260810112735.1326807-4-ziyue.zhang@oss.qualcomm.com
  2. Lore link matches PR commits: Partial — qcs8300-ride.dts changes match lore, but PR adds monaco-evk.dts and monaco-monza-som.dtsi not present in upstream
  3. Upstream patch status: ⏳ Decision Pending — posted to mailing list on 2026-08-10; no acceptance/rejection signals found in thread
  4. PR present in qcom-next/topics: Partial — subject or partial tree evidence found, but full change not verified

Commit 4/4: FROMLIST: arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs

Upstream commit: https://lore.kernel.org/r/20260810112735.1326807-5-ziyue.zhang@oss.qualcomm.com
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream Matches with FROMLIST: prefix added
Body preserves rationale Key rationale preserved
Fixes tag present/correct Two Fixes tags present
Authorship preserved Author matches lore patch
Backport note (if applicable) N/A FROMLIST, not backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-evk.dts Matches lore patch
arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi Matches lore patch
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts Matches lore patch
arch/arm64/boot/dts/qcom/qcs9100-ride.dts Matches lore patch

Issues

  • Duplicate Signed-off-by: The commit has two identical Signed-off-by: Ziyue Zhang lines.

Verdict

PASS - Lore link present and diff content matches upstream patch faithfully.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260810112735.1326807-5-ziyue.zhang@oss.qualcomm.com
  2. Lore link matches PR commits: Yes — diff content faithful to lore patch
  3. Upstream patch status: ⏳ Decision Pending — posted to mailing list on 2026-08-10; no acceptance/rejection signals found in thread
  4. PR present in qcom-next/topics: Partial — subject or partial tree evidence found, but full change not verified

Overall PR Verdict: ❌ FAIL

Critical Issues

  1. Commits 1/4 and 2/4 missing lore links: These commits correspond to upstream patches [PATCH v1 1/4] and [PATCH v1 2/4] in the lore series but lack Link: tags. All commits in a PR that have upstream equivalents must include lore links.

  2. Commit 3/4 contains extra content: The FROMLIST commit includes changes to monaco-evk.dts and monaco-monza-som.dtsi that are not present in the linked upstream patch. This violates the FROMLIST contract — the commit should match the upstream posting exactly.

  3. Duplicate Signed-off-by lines: Commits 3/4 and 4/4 each have duplicate Signed-off-by: Ziyue Zhang lines.

  4. Integration status: All 4 commits show only "partial" presence in qcom-next/topics, meaning the full changes have not been verified in the integration branches.

Recommendations

  1. Add lore links to commits 1/4 and 2/4:

    Link: https://lore.kernel.org/r/20260810112735.1326807-2-ziyue.zhang@oss.qualcomm.com
    Link: https://lore.kernel.org/r/20260810112735.1326807-3-ziyue.zhang@oss.qualcomm.com
    
  2. Split commit 3/4: Separate the monaco board changes into a distinct commit:

    • Keep qcs8300-ride.dts changes in the FROMLIST commit (matches upstream)
    • Move monaco-evk.dts and monaco-monza-som.dtsi changes to a new commit with appropriate prefix (likely QCLINUX: if vendor-only, or separate FROMLIST: if posted separately upstream)
  3. Remove duplicate Signed-off-by lines in commits 3/4 and 4/4.

  4. Verify integration: Investigate why all commits show only "partial" presence in qcom-next/topics. The changes may need to be fully integrated before merging.

Deterministic Integration Presence

Integration Presence Report

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

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

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
2/4 [PATCH 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
3/4 [PATCH 3/4] FROMLIST: arm64: dts: qcom: qcs8300: Add qref and refgen partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
4/4 [PATCH 4/4] FROMLIST: arm64: dts: qcom: sa8775p: Add qref and refgen missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #948 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 commits: duplicate signature; 4 commits: unknown Fixes tags
dt-binding-check Passed
dtb-check BLOCKER: Reference to non-existent label refgen
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits missing prefix; 1 commit content mismatch
tag-check ⚠️ Requires target branch confirmation

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #948 - Add qref and refgen supply for PCIe PHYs (QCS8300/SA8775p)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31671947901

Checker Result Summary
checkpatch 2 commits: duplicate signature; 4 commits: unknown Fixes tags
dt-binding-check Passed
dtb-check BLOCKER: Reference to non-existent label refgen
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 2 commits missing prefix; 1 commit content mismatch
tag-check ⚠️ Requires target branch confirmation

❌ dtb-check — CRITICAL BLOCKER

Root cause: The patch adds refgen-supply = <&refgen>; references in monaco.dtsi but the refgen label is never defined in the device tree.

Failure details:

../arch/arm64/boot/dts/qcom/monaco.dtsi:2465.26-2496.5: ERROR (phandle_references): 
  /soc@0/phy@1c04000: Reference to non-existent node or label "refgen"

../arch/arm64/boot/dts/qcom/monaco.dtsi:2596.26-2627.5: ERROR (phandle_references): 
  /soc@0/phy@1c14000: Reference to non-existent node or label "refgen"

The patch adds these lines in monaco.dtsi:

+			refgen-supply = <&refgen>;

But nowhere in the patch (or apparently in the tree) is there a node with label refgen:.

Fix:

The commit message states: "add refgen-supply in the SoC DTSI (monaco.dtsi) since refgen is an on-chip regulator shared across boards."

You must define the refgen regulator node before referencing it. Add something like:

refgen: refgen-regulator {
	compatible = "qcom,refgen-regulator";
	/* ... required properties ... */
};

Or if refgen is a PMIC regulator, add the label to the existing regulator node in the appropriate PMIC DTSI file.

Reproduce locally:

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

❌ checkpatch

Root cause: Duplicate Signed-off-by: tags and unknown commit IDs in Fixes: tags.

Failure details:

Commit 1539e3e ("FROMLIST: arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs"):

WARNING: Unknown commit id '33967eadb215', maybe rebased or not pulled?
WARNING: Unknown commit id 'cdb613a84527', maybe rebased or not pulled?
WARNING: Unknown commit id '41e2424651f7', maybe rebased or not pulled?
WARNING: Unknown commit id '5238f4e7169f', maybe rebased or not pulled?
WARNING: Duplicate signature
  Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>

Commit f46960c ("FROMLIST: arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs"):

WARNING: Duplicate signature
  Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>

Fix:

  1. Duplicate signature: Remove one of the duplicate Signed-off-by: lines in commits 3 and 4.

  2. Unknown commit IDs: The Fixes: tags reference commits that don't exist in the base branch. Either:

    • Remove the Fixes: tags if the referenced commits are not in the target branch
    • Update the commit IDs to match the actual commits in the target branch
    • If these are vendor-only commits not yet in the tree, this warning can be ignored

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git bfeb0e5567c0..f46960cbb7da

❌ check-patch-compliance

Root cause: First two commits missing required prefix tags; third commit has content mismatch with upstream link.

Failure details:

Commits 1 & 2 — Missing prefix:

Checking commit: dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties
Commit summary does not start with a required prefix

Checking commit: phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY
Commit summary does not start with a required prefix

Commit 3 — Content mismatch:

Checking commit: FROMLIST: arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs
Change is different from the one mentioned in Link

Fix:

  1. Commits 1 & 2: Add a prefix tag to the subject line. Based on the lore links in commits 3 & 4, these appear to be part of the same upstream series. Add FROMLIST: prefix:

    FROMLIST: dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties
    FROMLIST: phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY
    
  2. Commit 3 content mismatch: The checker detected that the patch content differs from the upstream version at the provided lore link. The commit message notes:

    [adaptation: monaco-evk.dts PCIe PHY nodes are in monaco-evk-common.dtsi
    in this branch; monaco-monza-som.dtsi absent, skipped]
    

    This is a legitimate adaptation for the vendor tree structure. The content mismatch is expected and documented. However, check-patch-compliance has no way to distinguish legitimate adaptations from errors.

    No action needed — this is a known limitation of the checker for adapted patches. The adaptation note in the commit message is sufficient documentation.

Reproduce locally:

# For commits 1 & 2, just add the prefix
git rebase -i <base_sha>  # mark as 'edit'
git commit --amend -m "FROMLIST: <original subject>"
git rebase --continue

# For commit 3, verify the content difference:
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260810112735.1326807-4-ziyue.zhang@oss.qualcomm.com -o /tmp/out
diff <(git format-patch -1 1539e3e73bc0 --stdout) /tmp/out/*.mbx

⚠️ tag-check — Target Branch Required

Status: Cannot determine without target branch information.

Analysis: The tag-check applies to all branches except qcom-next and qcom-next-staging.

  • If the target branch is qcom-next or qcom-next-staging → ✅ SKIP (no prefix required)
  • If the target branch is any other branch → ❌ FAIL for commits 1 & 2 (same issue as check-patch-compliance)

Commits 1 & 2 are missing the required prefix tag. Commits 3 & 4 already have FROMLIST: prefix and would pass.

Fix: Same as check-patch-compliance — add FROMLIST: prefix to commits 1 & 2.


Verdict

❌ BLOCKER — Cannot merge

Critical issue:

  • dtb-check failure: The refgen label is referenced but never defined. This causes DTB compilation to fail completely. Must fix before merge.

Non-blocking issues (should fix):

  • checkpatch: Duplicate Signed-off-by: tags (trivial fix)
  • checkpatch: Unknown Fixes: commit IDs (may be acceptable if commits are vendor-only)
  • check-patch-compliance: Missing FROMLIST: prefix on commits 1 & 2
  • check-patch-compliance: Content mismatch on commit 3 (documented adaptation, acceptable)

Recommended action:

  1. Fix the dtb-check blocker first — define the refgen regulator node or add the label to an existing node
  2. Remove duplicate Signed-off-by: tags
  3. Add FROMLIST: prefix to commits 1 & 2
  4. Re-run CI to verify all checkers pass

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

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

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.

2 participants