Skip to content

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

Open
ziyuezhang-123 wants to merge 4 commits into
qualcomm-linux:tech/bus/pci/allfrom
ziyuezhang-123:for-bus-pci-all-20260810112735-1326807-1-ziyue-zhang
Open

FROMLIST: Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs#1711
ziyuezhang-123 wants to merge 4 commits into
qualcomm-linux:tech/bus/pci/allfrom
ziyuezhang-123:for-bus-pci-all-20260810112735-1326807-1-ziyue-zhang

Conversation

@ziyuezhang-123

@ziyuezhang-123 ziyuezhang-123 commented Aug 19, 2026

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.

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

Ziyue Zhang added 4 commits August 19, 2026 15:37
…en and refgen 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.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260810112735.1326807-2-ziyue.zhang@oss.qualcomm.com
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
… QCS8300 and 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")
Link: https://lore.kernel.org/r/20260810112735.1326807-3-ziyue.zhang@oss.qualcomm.com
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.

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>
…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>
@qcomlnxci
qcomlnxci requested review from a team, krishnachaitanya-linux and Matthew Leung (meleung) and removed request for a team August 19, 2026 07:42
@ziyuezhang-123 ziyuezhang-123 changed the title dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add FROMLIST: Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs Aug 19, 2026
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1711

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml No The PR modifies the dt-bindings YAML file, but the integration branch has conflicting changes in the same file
2 Merge conflict arch/arm64/boot/dts/qcom/monaco-evk.dts No The PR adds supply properties to PCIe PHY nodes, but the integration branch has conflicting changes in the same sections
3 Merge conflict arch/arm64/boot/dts/qcom/qcs8300-ride.dts No The PR adds supply properties to PCIe PHY nodes, but the integration branch has conflicting changes in the same sections
4 Merge conflict drivers/phy/qualcomm/phy-qcom-qmp-pcie.c No The PR modifies PHY configuration structures, but the integration branch has conflicting changes in the same code regions

Verdict

This is not a compilation failure. All 4 errors are merge conflicts that occurred when attempting to integrate PR #1711 with the baseline branch (topic/tech/bus/pci/all). The PR changes are valid but conflict with recent changes already merged into the integration branch. The PR needs to be rebased on the current integration branch to resolve these conflicts.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #1711

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml No Integration branch has diverged; same file modified in both PR and base branch
2 Merge conflict arch/arm64/boot/dts/qcom/monaco-evk.dts No Integration branch has diverged; same file modified in both PR and base branch
3 Merge conflict arch/arm64/boot/dts/qcom/qcs8300-ride.dts No Integration branch has diverged; same file modified in both PR and base branch
4 Merge conflict drivers/phy/qualcomm/phy-qcom-qmp-pcie.c No Integration branch has diverged; same file modified in both PR and base branch

Verdict

This is NOT a compilation failure. All 4 failures are merge conflicts caused by the integration branch diverging from the PR's base. The PR code itself does not introduce compilation errors; it requires rebasing onto the current integration branch to resolve conflicts.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #1711 — validate-patch

PR: #1711

Verdict Issues Detailed Report
2 Full report

Final Summary

  1. Lore link present: Yes — all 4 commits have correct Link: tags pointing to lore.kernel.org message-IDs
  2. Lore link matches PR commits: No — Commit 2/4 modifies sm8450 config instead of qcs8300 config as in the lore patch; commits 1, 3, 4 match correctly
  3. Upstream patch status: ✅ ACKed — all 4 patches have Reviewed-by: Krzysztof Kozlowski; series posted 2026-08-10, pending merge to maintainer tree
  4. PR present in qcom-next/topics: Partial - 4/4 commit(s) only have partial integration evidence
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: qualcomm-linux/kernel-topics#1711 - Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs
Upstream commits: 4 patches from lore.kernel.org series
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream All 4 commits have correct FROMLIST: prefix and match lore subjects
Body preserves rationale All commit bodies faithfully preserve the lore patch rationale
Fixes tag present/correct Fixes tags present where appropriate (commits 2, 3, 4)
Authorship preserved All commits correctly preserve From: Ziyue Zhang
Backport note (if applicable) N/A FROMLIST: commits - not backports
Reviewed-by tags added All commits correctly add Reviewed-by: Krzysztof Kozlowski from thread
Link tags present All commits have correct Link: tags pointing to lore message-IDs

Diff

File Status Notes
Commit 1/4 - dt-bindings Diff matches lore patch exactly
Commit 2/4 - phy driver CRITICAL: Modifies wrong config struct - PR modifies sm8450_qmp_gen4x2_pciephy_cfg but lore patch modifies qcs8300_qmp_gen4x2_pciephy_cfg
Commit 3/4 - qcs8300 dts Diff matches lore patch (context line number differences only)
Commit 4/4 - sa8775p dts Diff matches lore patch (context line number differences only)

Issues

Commit 2/4 - Critical Divergence:

The PR patch modifies the wrong PHY configuration struct:

  • Lore patch modifies: qcs8300_qmp_gen4x2_pciephy_cfg (line 4508), sa8775p_qmp_gen4x2_pciephy_cfg (line 5218), sa8775p_qmp_gen4x4_pciephy_cfg (line 5259)
  • PR patch modifies: sm8450_qmp_gen4x2_pciephy_cfg (line 4394), sa8775p_qmp_gen4x2_pciephy_cfg (line 4563), sa8775p_qmp_gen4x4_pciephy_cfg (line 4604)

The commit message states "use it for QCS8300 and SA8775p PCIe PHY configurations" but the actual diff applies the regulator list to SM8450 instead of QCS8300. This will:

  1. Break SM8450 PHY initialization (adds unexpected regulators)
  2. Leave QCS8300 PHY broken (missing required regulators)
  3. Contradict the commit message and Fixes tags

This appears to be a rebase/merge conflict resolution error where the wrong hunk was kept.

Upstream Patch Status

Commit Community Verdict
1/4 dt-bindings ✅ ACKed — Reviewed-by: Krzysztof Kozlowski on 2026-08-10
2/4 phy driver ✅ ACKed — Reviewed-by: Krzysztof Kozlowski on 2026-08-10
3/4 qcs8300 dts ✅ ACKed — Reviewed-by: Krzysztof Kozlowski on 2026-08-10
4/4 sa8775p dts ✅ ACKed — Reviewed-by: Krzysztof Kozlowski on 2026-08-10

All four patches received formal Reviewed-by: from subsystem maintainer Krzysztof Kozlowski. No merge/NAK signals found in thread yet (series posted 2026-08-10, still pending merge).

Verdict

DO NOT MERGE - Commit 2/4 contains a critical error that diverges from the upstream lore patch. The wrong PHY configuration struct is modified, which will break SM8450 and leave QCS8300 unfixed.

Required fix: Rebase commit 2/4 to match the lore patch exactly - modify qcs8300_qmp_gen4x2_pciephy_cfg instead of sm8450_qmp_gen4x2_pciephy_cfg.

Final Summary

  1. Lore link present: Yes — all 4 commits have correct Link: tags pointing to lore.kernel.org message-IDs
  2. Lore link matches PR commits: No — Commit 2/4 modifies sm8450 config instead of qcs8300 config as in the lore patch; commits 1, 3, 4 match correctly
  3. Upstream patch status: ✅ ACKed — all 4 patches have Reviewed-by: Krzysztof Kozlowski; series posted 2026-08-10, pending merge to maintainer tree
  4. PR present in qcom-next/topics: Partial — per integration_presence_report.md, all 4 commits show "partial" integration evidence (subject or partial tree match found, but full change not verified in qcom-next or topics branches)

Deterministic Integration Presence

Integration Presence Report

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

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

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] FROMLIST: dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: 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] FROMLIST: phy: qcom: qmp-pcie: Add qref and refgen 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 partial - subject or partial tree evidence found, but full change was not verified 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 #1711 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ Blocked by merge conflicts
dt-binding-check ⚠️ Blocked by merge conflicts
dtb-check ⚠️ Blocked by merge conflicts
sparse-check ⚠️ Blocked by merge conflicts
check-uapi-headers ⚠️ Blocked by merge conflicts
check-patch-compliance ⚠️ Blocked by merge conflicts
tag-check All commits have valid FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1711 - Add qref and refgen supplies for QCS8300 and SA8775p PCIe PHYs
Target branch: tech/bus/pci/all (kernel-topics)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/32229053679

Checker Result Summary
checkpatch ⚠️ Blocked by merge conflicts
dt-binding-check ⚠️ Blocked by merge conflicts
dtb-check ⚠️ Blocked by merge conflicts
sparse-check ⚠️ Blocked by merge conflicts
check-uapi-headers ⚠️ Blocked by merge conflicts
check-patch-compliance ⚠️ Blocked by merge conflicts
tag-check All commits have valid FROMLIST: prefix

⚠️ Merge Conflicts (All Checkers)

Root cause: The PR cannot be merged into the automerge integration baseline (qcom-next + tech/bus/pci/all) due to conflicting changes in 4 files.

Failure details:

CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/monaco-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/qcs8300-ride.dts
CONFLICT (content): Merge conflict in drivers/phy/qualcomm/phy-qcom-qmp-pcie.c

All six checker jobs (checkpatch, dt-binding-check, dtb-check, sparse-check, check-uapi-headers, check-patch-compliance) failed at the merge stage with exit code 3 before any checker logic could execute.

Analysis:

The CI workflow for topic branches follows this sequence:

  1. Checkout qcom-next baseline
  2. Run automerge to integrate the target topic branch (tech/bus/pci/all)
  3. Merge the PR commits on top of the integrated baseline
  4. Run checkers on the merged result

The merge failed at step 3, indicating that changes in the tech/bus/pci/all topic branch conflict with this PR's changes to:

  • DT binding schema (qcom,sc8280xp-qmp-pcie-phy.yaml) — likely overlapping supply property additions
  • DTS files (monaco-evk.dts, qcs8300-ride.dts) — likely overlapping PCIe PHY node modifications
  • PHY driver (phy-qcom-qmp-pcie.c) — likely overlapping regulator handling code

Fix:

The PR author needs to rebase this series on top of the current tech/bus/pci/all branch to resolve conflicts:

# In the kernel-topics repo
git fetch origin tech/bus/pci/all
git checkout <PR-branch>
git rebase origin/tech/bus/pci/all

# Resolve conflicts in each of the 4 files:
# 1. Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
# 2. arch/arm64/boot/dts/qcom/monaco-evk.dts
# 3. arch/arm64/boot/dts/qcom/qcs8300-ride.dts
# 4. drivers/phy/qualcomm/phy-qcom-qmp-pcie.c

# For each conflict:
git add <file>
git rebase --continue

# Force-push the rebased branch
git push --force-with-lease

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel.git
cd kernel
git fetch origin qcom-next
git checkout qcom-next

# Run automerge to integrate tech/bus/pci/all
git clone https://github.com/qualcomm-linux/automerge.git ../automerge
cat > ../merge.conf <<EOF
baseline https://github.com/qualcomm-linux/kernel.git qcom-next
topic https://github.com/qualcomm-linux/kernel-topics.git tech/bus/pci/all
EOF
../automerge/ci-merge -f ../merge.conf -t head -n

# Attempt to merge PR #1711
git fetch https://github.com/qualcomm-linux/kernel-topics.git pull/1711/head
git merge FETCH_HEAD
# Conflicts will appear here

✅ tag-check

Status: PASS

All 4 commits in the PR have valid subject-line prefixes:

  • 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 supplies for QCS8300 and SA8775p
  • FROMLIST: arm64: dts: qcom: qcs8300: Add qref and refgen supplies to PCIe PHYs
  • FROMLIST: arm64: dts: qcom: sa8775p: Add qref and refgen supplies to PCIe PHYs

All commits include proper Link: trailers pointing to lore.kernel.org.

Note: The target branch tech/bus/pci/all is not qcom-next or qcom-next-staging, so the subject-prefix check is mandatory and was performed. All commits comply.


Verdict

Cannot merge — PR must be rebased to resolve 4 merge conflicts with the tech/bus/pci/all topic branch before checkers can run.

Next steps:

  1. Rebase PR on origin/tech/bus/pci/all
  2. Resolve conflicts in binding YAML, DTS files, and PHY driver
  3. Force-push rebased branch
  4. CI will re-run checkers on the conflict-free merge

Note: Once conflicts are resolved, the checkers may still report issues. The current CI run provides no checker feedback because the merge failed before any checker logic executed.

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