Skip to content

WORKAROUND: PCIe PHY vdda-qref/vdda-refgen supply fixes for Monaco/QCS8300#700

Open
ziyuezhang-123 wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
ziyuezhang-123:for-6.18/workaround-phy-qcom-qmp-pcie-add-vdda-refgen-and
Open

WORKAROUND: PCIe PHY vdda-qref/vdda-refgen supply fixes for Monaco/QCS8300#700
ziyuezhang-123 wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
ziyuezhang-123:for-6.18/workaround-phy-qcom-qmp-pcie-add-vdda-refgen-and

Conversation

@ziyuezhang-123

@ziyuezhang-123 ziyuezhang-123 commented Jun 11, 2026

Copy link
Copy Markdown

This PR contains two workaround changes for PCIe PHY power supplies on Monaco (QCS8300):

  1. phy: qcom: qmp-pcie: Add vdda-refgen and vdda-qref supplies for Monaco

    • Add sa8775p_qmp_phy_vreg_l with vdda-qref and vdda-refgen supplies
    • Use it for qcs8300_qmp_gen4x2, sa8775p_qmp_gen4x2 and sa8775p_qmp_gen4x4
  2. arm64: dts: qcom: Fix vdda-qref and vdda-refgen supplies for PCIe PHYs on qcs8300-ride and monaco-evk

    • Fix vdda-qref -> vreg_l4a, vdda-refgen -> vreg_l7a on both boards

Both workarounds will be reverted once upstream support is available.

CRs-Fixed: 4537722

Ziyue Zhang added 2 commits June 11, 2026 17:13
…es for Monaco

The PCIe QMP PHYs on Monaco (QCS8300) require stable reference voltage
provided by refgen and reference clock provided by qref. The refgen and
qref require power supplies.

Add a new sa8775p_qmp_phy_vreg_l list with vdda-qref and vdda-refgen
supplies, and use it for qcs8300_qmp_gen4x2, sa8775p_qmp_gen4x2 and
sa8775p_qmp_gen4x4 PCIe PHY configurations.

Workaround will be reverted once the vote qref regulator for PCIe
available in upstream.

Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
…for PCIe PHYs on qcs8300-ride and monaco-evk

The vdda-qref-supply and vdda-refgen-supply for pcie0_phy and pcie1_phy
were incorrectly mapped. vdda-qref should be supplied by vreg_l4a and
vdda-refgen should be supplied by vreg_l7a. Fix the supply assignments
on both qcs8300-ride and monaco-evk boards.

Workaround will be reverted once the correct regulator mappings are
confirmed and upstreamed.

Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
@ziyuezhang-123 ziyuezhang-123 requested review from a team, aiquny, ndechesne and shashim-quic June 11, 2026 09:19
@qlijarvis

Copy link
Copy Markdown

PR #700 — validate-patch

PR: #700

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; vendor-only temporary changes, no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor workaround explicitly marked for future revert once upstream solution available
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commits
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #700 - WORKAROUND: PCIe PHY regulator supplies for Monaco/QCS8300
Upstream commit: N/A (vendor workaround)
Verdict: ✅ PASS (vendor-only workaround)


Patch 1/2: phy: qcom: qmp-pcie: Add vdda-refgen and vdda-qref supplies for Monaco

Commit Message

Check Status Note
Subject matches upstream N/A Vendor workaround, not upstream
Body preserves rationale Clear explanation of why supplies are needed
Fixes tag present/correct N/A New feature, not a fix
Authorship preserved Ziyue Zhang ziyue.zhang@oss.qualcomm.com
Backport note (if applicable) N/A Not a backport; forward-looking workaround

Diff

File Status Notes
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c Adds sa8775p_qmp_phy_vreg_l array with vdda-qref and vdda-refgen; updates 3 PHY configs

Analysis

  • Creates new sa8775p_qmp_phy_vreg_l[] array with 4 supplies: vdda-phy, vdda-pll, vdda-qref, vdda-refgen
  • Updates qcs8300_qmp_gen4x2, sa8775p_qmp_gen4x2, and sa8775p_qmp_gen4x4 to use the new array
  • Consistent with existing driver patterns (similar to sm8550_qmp_phy_vreg_l)
  • Commit message clearly states this is temporary until upstream solution available

Patch 2/2: arm64: dts: qcom: Fix vdda-qref and vdda-refgen supplies for PCIe PHYs

Commit Message

Check Status Note
Subject matches upstream N/A Vendor workaround, not upstream
Body preserves rationale Explains regulator mappings (vreg_l4a, vreg_l7a)
Fixes tag present/correct N/A Depends on patch 1/2; not fixing existing commit
Authorship preserved Ziyue Zhang ziyue.zhang@oss.qualcomm.com
Backport note (if applicable) N/A Not a backport; forward-looking workaround

Diff

File Status Notes
arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi Adds vdda-refgen-supply to pcie0_phy and pcie1_phy
arch/arm64/boot/dts/qcom/qcs8300-ride.dts Adds vdda-refgen-supply to pcie0_phy and pcie1_phy

Analysis

  • Adds vdda-refgen-supply = <&vreg_l7a>; to 4 PHY nodes (2 per board)
  • Consistent with existing supply properties already present
  • Depends on driver changes in patch 1/2
  • Commit message states this will be reverted once correct mappings are confirmed upstream

Issues

None. Both patches are well-formed vendor workarounds with clear intent and revert plans.


Verdict

Merge as-is. Both patches are properly formatted vendor workarounds that add temporary regulator support for Monaco/QCS8300 PCIe PHYs. The WORKAROUND: prefix correctly signals temporary nature, and commit messages clearly state revert conditions. No upstream comparison needed.


Final Summary

  1. Lore link present: No — WORKAROUND: prefix; vendor-only temporary changes, no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor workaround explicitly marked for future revert once upstream solution available
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commits

@qlijarvis

Copy link
Copy Markdown

PR #700 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check vdda-refgen-supply not in schema
sparse-check No sparse warnings
check-uapi-headers No UAPI changes
check-patch-compliance Missing required prefix
tag-check N/A Not applicable for this branch
qcom-next-check N/A WORKAROUND prefix used

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #700 - WORKAROUND: PCIe PHY supply fixes for Monaco/QCS8300
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27337411597

Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check vdda-refgen-supply not in schema
sparse-check No sparse warnings
check-uapi-headers No UAPI changes
check-patch-compliance Missing required prefix
tag-check N/A Not applicable for this branch
qcom-next-check N/A WORKAROUND prefix used

❌ dtb-check

Root cause: The vdda-refgen-supply property is not defined in the DT binding schema qcom,sc8280xp-qmp-pcie-phy.yaml

Failure details:

/opt/actions-runner/_work/kernel-config/kernel-config/kernel/temp-out/arch/arm64/boot/dts/qcom/monaco-evk.dtb: 
  phy@1c04000 (qcom,qcs8300-qmp-gen4x2-pcie-phy): 'vdda-refgen-supply' does not match any of the regexes: '^pinctrl-[0-9]+$'
	from schema $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-pcie-phy.yaml#

/opt/actions-runner/_work/kernel-config/kernel-config/kernel/temp-out/arch/arm64/boot/dts/qcom/monaco-evk.dtb: 
  phy@1c14000 (qcom,sa8775p-qmp-gen4x4-pcie-phy): 'vdda-refgen-supply' does not match any of the regexes: '^pinctrl-[0-9]+$'
	from schema $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-pcie-phy.yaml#

This error repeats for all Monaco and QCS8300 DTB files (monaco-evk, monaco-ac-evk, qcs8300-ride, and their variants).

Fix: Update the DT binding schema to allow vdda-refgen-supply property

The binding file Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml needs to be updated to include vdda-refgen-supply in the list of allowed supply properties for the affected compatible strings:

  • qcom,qcs8300-qmp-gen4x2-pcie-phy
  • qcom,sa8775p-qmp-gen4x2-pcie-phy
  • qcom,sa8775p-qmp-gen4x4-pcie-phy

Add to the schema's properties section:

  vdda-refgen-supply:
    description: Supply regulator for reference generator

Reproduce locally:

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml

❌ check-patch-compliance

Root cause: Commit subjects use WORKAROUND: prefix instead of required upstream-tracking prefixes

Failure details:

Checking commit: WORKAROUND: phy: qcom: qmp-pcie: Add vdda-refgen and vdda-qref supplies for Monaco
Commit summary does not start with a required prefix

Checking commit: WORKAROUND: arm64: dts: qcom: Fix vdda-qref and vdda-refgen supplies for PCIe PHYs on qcs8300-ride and monaco-evk
Commit summary does not start with a required prefix

Fix: This is expected behavior for WORKAROUND commits

The check-patch-compliance checker enforces that commits must use one of these prefixes:

  • UPSTREAM: - for commits already merged upstream
  • FROMLIST: - for commits posted to upstream mailing lists
  • BACKPORT: - for backported commits
  • FROMGIT: - for commits cherry-picked from another git tree

However, these commits intentionally use WORKAROUND: because they are temporary downstream-only changes that will be reverted once proper upstream solutions are available (as stated in both commit messages: "Workaround will be reverted once...").

Options:

  1. Accept the failure - This is a policy violation that should be acknowledged. WORKAROUND commits are not intended for upstream submission.
  2. Use a different branch - If this is targeting qcom-next or qcom-next-staging, the check-patch-compliance checker should be skipped or configured differently.
  3. Reformat commits - If these changes are actually based on upstream work, use the appropriate prefix (FROMLIST:/UPSTREAM:) instead of WORKAROUND:.

Reproduce locally:

# Clone kernel-checkers repo
git clone https://github.com/qualcomm-linux/kernel-checkers.git
cd kernel-checkers
./check-patch-compliance.sh --kernel-src /path/to/kernel --base <base-sha> --head <head-sha>

Verdict

2 blockers must be addressed:

  1. dtb-check failure (BLOCKER): The DT binding schema must be updated to include vdda-refgen-supply before the DTS changes can be merged. This requires adding a binding patch as commit 1/3, moving the driver change to 2/3, and the DTS changes to 3/3.

  2. check-patch-compliance failure (POLICY DECISION): The WORKAROUND prefix violates the commit prefix policy. This is acceptable if:

    • The target branch allows WORKAROUND commits (e.g., vendor integration branches)
    • The team acknowledges these are temporary downstream-only changes
    • There is a plan to revert these once upstream solutions are available

    If targeting qcom-next or branches intended for upstream submission, these commits must be reformatted with proper prefixes or the changes must be submitted upstream first.

Recommended action: Add a binding update patch first, then rebase the series as a 3-patch set with proper ordering (binding → driver → dts).

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