Skip to content

WORKAROUND: arch: arm64: qcom: glymur-crd: Disable PCIe6 instance#1390

Open
krishnachaitanya-linux wants to merge 1 commit into
qualcomm-linux:tech/all/workaroundfrom
krishnachaitanya-linux:tech/all/workaround
Open

WORKAROUND: arch: arm64: qcom: glymur-crd: Disable PCIe6 instance#1390
krishnachaitanya-linux wants to merge 1 commit into
qualcomm-linux:tech/all/workaroundfrom
krishnachaitanya-linux:tech/all/workaround

Conversation

@krishnachaitanya-linux

Copy link
Copy Markdown
Contributor

On compute targets, PCIe is dependent on the UEFI. In UEFI, when a PCIe link-up fails on a given root port, the default behavior is to power down that root port. The power-down sequence disables the PHY, removes all clock votes, and drops the Interconnect Bandwidth (ICB) votes that were applied in UEFI for that PCIe controller.

The HLOS PCIe driver when probes the PCIe6 root port, but probe fails because the PHY is already powered down and there is no PHY bring-up sequence in HLOS for any controller.

Since PCIe probe fails, the Interconnect driver's sync_state callback never gets invoked. As a result, the max boot votes applied to other peripherals are never released or reduced, keeping the system stuck at max bandwidth votes and causing the sync state errors observed, this also blocks XO shutdown.

Fix this temporarly, by disabling pcie6 now as modem is not functional in this release. we will revert this after finding proper fix.

On compute targets, PCIe is dependent on the UEFI. In UEFI, when a
PCIe link-up fails on a given root port, the default behavior is to
power down that root port. The power-down sequence disables the PHY,
removes all clock votes, and drops the Interconnect Bandwidth (ICB)
votes that were applied in UEFI for that PCIe controller.

The HLOS PCIe driver when probes the PCIe6 root port, but probe fails
because the PHY is already powered down and there is no PHY bring-up
sequence in HLOS for any controller.

Since PCIe probe fails, the Interconnect driver's sync_state callback
never gets invoked. As a result, the max boot votes applied to other
peripherals are never released or reduced, keeping the system stuck
at max bandwidth votes and causing the sync state errors observed, this
also blocks XO shutdown.

Fix this temporarly, by disabling pcie6 now as modem is not functional
in this release. we will revert this after finding proper fix.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
@qcomlnxci qcomlnxci requested review from a team, jingyiwang42, mukeshojha-linux and ndechesne and removed request for a team June 22, 2026 07:55
@qlijarvis

Copy link
Copy Markdown

PR #1390 — validate-patch

PR: #1390

Verdict Issues Detailed Report
⚠️ 5 Full report

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; vendor-only temporary fix, 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-only workaround, explicitly temporary, not intended for upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit

Recommendation: Fix commit message typos ("temporarly" → "temporarily", grammar corrections) and consider adding a bug/ticket reference for tracking the proper fix and revert plan.

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1390 - WORKAROUND: arch: arm64: qcom: glymur-crd: Disable PCIe6 instance
Upstream commit: N/A (vendor-only workaround)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A WORKAROUND prefix indicates vendor-only change
Body preserves rationale Clear explanation of PCIe/UEFI dependency issue
Fixes tag present/correct N/A No Fixes tag; workaround for integration issue
Authorship preserved Author: Krishna Chaitanya Chundru krishna.chundru@oss.qualcomm.com
Backport note (if applicable) N/A Not a backport; vendor workaround

Diff

File Status Notes
arch/arm64/boot/dts/qcom/glymur-crd.dtsi Clean change: status "okay" → "disabled" for pcie6 & pcie6_phy

Issues

  • Typo in commit message: "temporarly" should be "temporarily"
  • Grammar issue: "The HLOS PCIe driver when probes" should be "When the HLOS PCIe driver probes"
  • Capitalization: "we will revert" should be "We will revert" (start of sentence)
  • Missing context: No reference to related bug/ticket tracking the proper fix
  • No revert plan: States "we will revert this after finding proper fix" but no tracking mechanism

Verdict

Acceptable as vendor workaround with minor commit message quality issues; typos and grammar should be fixed before merge.

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; vendor-only temporary fix, 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-only workaround, explicitly temporary, not intended for upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit

Recommendation: Fix commit message typos ("temporarly" → "temporarily", grammar corrections) and consider adding a bug/ticket reference for tracking the proper fix and revert plan.

@qlijarvis

Copy link
Copy Markdown

PR #1390 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check Test passed
sparse-check ⏭️ Skipped - no relevant C code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance Subject prefix missing
tag-check N/A Not applicable for topic branches
qcom-next-check N/A Not applicable for workaround commits

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1390 - WORKAROUND: arch: arm64: qcom: glymur-crd: Disable PCIe6 instance
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27937955410

Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check Test passed
sparse-check ⏭️ Skipped - no relevant C code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance Subject prefix missing
tag-check N/A Not applicable for topic branches
qcom-next-check N/A Not applicable for workaround commits

❌ check-patch-compliance

Root cause: The commit subject line starts with WORKAROUND: which is not a recognized prefix for the kernel-topics repository.

Failure details:

Checking commit: WORKAROUND: arch: arm64: qcom: glymur-crd: Disable PCIe6 instance
Commit summary does not start with a required prefix

Fix: The commit subject must start with one of the following prefixes:

  • UPSTREAM: - for commits already merged in mainline Linux
  • FROMLIST: - for commits posted to upstream mailing lists but not yet merged
  • BACKPORT: - for commits backported from a newer kernel version
  • FROMGIT: - for commits pulled from a maintainer's git tree

Since this is a temporary workaround specific to Qualcomm's tree and not intended for upstream submission, the appropriate prefix would be none of the above. However, the checker enforces these prefixes.

Recommended action:

  1. If this commit will eventually be upstreamed, change the subject to:

    FROMLIST: arm64: dts: qcom: glymur-crd: Disable PCIe6 instance temporarily
    

    And add a note in the commit message that this is a temporary workaround.

  2. If this is purely internal and will never go upstream, consider:

    • Moving this to a different branch that doesn't enforce prefix requirements (e.g., qcom-next or qcom-next-staging)
    • Or requesting an exemption for WORKAROUND: prefix in the checker configuration

Reproduce locally:

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

1 blocker to fix: The commit subject must use a compliant prefix (UPSTREAM:, FROMLIST:, BACKPORT:, or FROMGIT:) or the PR must target a branch that doesn't enforce this requirement. All other checkers passed or were correctly skipped.

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