Skip to content

QCLINUX: clk: qcom: gcc-shikra: Use PWRSTS_RET_ON for USB GDSCs - #1255

Open
akakum-qualcomm wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
akakum-qualcomm:fix/shikra-usb-gdsc-retention
Open

akakum-qualcomm wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
akakum-qualcomm:fix/shikra-usb-gdsc-retention

Conversation

@akakum-qualcomm

Copy link
Copy Markdown

QCLINUX: clk: qcom: gcc-shikra: Use PWRSTS_RET_ON for USB GDSCs

The USB GDSCs on IQ2390 are currently configured with PWRSTS_OFF_ON,
which allows the GDSC framework to fully collapse these power domains
during gdsc_disable(). When these GDSCs collapse, the corresponding USB
PHY configurations are not retained in USB host mode use-cases and this
breaks the resume of USB controller from suspend.

To avoid this, configure the USB GDSC power states to PWRSTS_RET_ON. This
prevents the GDSC from powering off during gdsc_disable(), and allows
hardware to retain the PHY configurations across USB host mode use-cases.

Signed-off-by: Akash Kumar akakum@qti.qualcomm.com

CRs-Fixed: 4701374

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4701374 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4701374

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@qlijarvis

Copy link
Copy Markdown

PR #1255 — validate-patch

PR: #1255

Verdict Issues Detailed Report
✅ 0 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; 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 change, not posted upstream
  4. PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #1255 - QCLINUX: clk: qcom: gcc-shikra: Use PWRSTS_RET_ON for USB GDSCs
Upstream commit: N/A (vendor-only)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only commit (QCLINUX: prefix)
Body preserves rationale ✅ Clear problem statement and solution
Fixes tag present/correct N/A Not required for vendor-only changes
Authorship preserved ✅ Akash Kumar akakum@qti.qualcomm.com
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/clk/qcom/gcc-shikra.c ✅ Clean change: PWRSTS_OFF_ON → PWRSTS_RET_ON for 2 USB GDSCs

Issues

None. The commit message is well-structured with clear problem description and solution rationale. The diff is minimal and focused.

Verdict

Merge as-is. This is a properly formatted vendor-only change with clear justification for modifying USB GDSC power states to retain PHY configurations across suspend/resume cycles.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; 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 change, not posted upstream
  4. PR present in qcom-next/topics: No — commit is missing from both qcom-next and topics (expected for new vendor-only changes awaiting merge)

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: ba86f67908354f41f269ca1d64b22e4624766dcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: clk: qcom: gcc-shikra: Use PWRSTS_RET_ON for USB missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/1
partial_commits: 0/1
missing_commits: 1/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #1255 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ✅ No style issues
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ No static analysis issues
check-uapi-headers ✅ No UAPI changes
check-patch-compliance ❌ QCLINUX: prefix not in allowed list
tag-check ❌ QCLINUX: prefix fails compliance for non-qcom-next branches

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1255 - QCLINUX: clk: qcom: gcc-shikra: Use PWRSTS_RET_ON for USB GDSCs
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/37751837930
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch ✅ No style issues
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ No static analysis issues
check-uapi-headers ✅ No UAPI changes
check-patch-compliance ❌ QCLINUX: prefix not in allowed list
tag-check ❌ QCLINUX: prefix fails compliance for non-qcom-next branches

❌ check-patch-compliance

Root cause: The commit uses the QCLINUX: prefix, which is not in the checker's allowed prefix list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: QCLINUX: clk: qcom: gcc-shikra: Use PWRSTS_RET_ON for USB GDSCs
Commit summary does not start with a required prefix

Analysis:

The check-patch-compliance checker enforces a strict subset of prefixes and does not accept QCLINUX:, PENDING:, or WORKAROUND: prefixes. This is a known limitation of the checker for vendor-only commits.

According to the skill reference documentation (Section 7):

QCLINUX: and PENDING: prefixes always fail check-patch-compliance — this is a known checker limitation for vendor-only commits.

Fix options:

  1. If this change has been posted upstream (to lore.kernel.org):

    • Change prefix to FROMLIST:
    • Add Link: <lore-url> to the commit body
  2. If this is truly vendor-only (no upstream equivalent):

    • The checker will always fail — this is expected behavior
    • The commit can still be merged with maintainer approval
    • Document that this is a vendor-specific workaround

Reproduce locally:

cd kernel
bash ../kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base 37734126ee574665bdb74dc5bbcba78517ebf193 \
  --head d84096c91813ad57e5c646e5669b535887576c1d

❌ tag-check

Root cause: The target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), which requires all commits to have a valid subject prefix. The QCLINUX: prefix is valid for tag-check purposes, but the commit still fails check-patch-compliance.

Analysis:

The commit subject starts with QCLINUX:, which is a valid prefix for the tag-check requirement. However, there's a conflict between two checker requirements:

  • tag-check (Step 2.7): Accepts QCLINUX: as a valid prefix ✅
  • check-patch-compliance (Step 2.6): Rejects QCLINUX: as not in allowed list ❌

Verdict on tag-check: ✅ PASS — The commit has a valid subject prefix (QCLINUX:).

The failure is solely in check-patch-compliance, not in the tag-check requirement.


Verdict

1 blocker to address:

The check-patch-compliance failure is a known limitation for vendor-only commits using the QCLINUX: prefix. This is documented behavior and not a patch defect.

Recommended actions:

  1. If the change is vendor-specific with no upstream equivalent:

    • Merge as-is with maintainer approval
    • The checker failure is expected and acceptable for QCLINUX: prefixed commits
  2. If the change should/could be upstreamed:

Technical assessment: The code change itself is clean:

  • ✅ No checkpatch style issues
  • ✅ No sparse warnings
  • ✅ No UAPI/ABI concerns
  • ✅ Proper commit message format with Signed-off-by:

The only issue is the prefix policy conflict, which is a process/tooling limitation rather than a code quality issue.

The USB GDSCs on IQ2390 are currently configured with PWRSTS_OFF_ON,
which allows the GDSC framework to fully collapse these power domains
during gdsc_disable(). When these GDSCs collapse, the corresponding USB
PHY configurations are not retained in USB host mode use-cases and this
breaks the resume of USB controller from suspend.

To avoid this, configure the USB GDSC power states to PWRSTS_RET_ON. This
prevents the GDSC from powering off during gdsc_disable(), and allows
hardware to retain the PHY configurations across USB host mode use-cases.

Resolve minor fix in cypd usb firmware update path.

Signed-off-by: Akash Kumar <akakum@qti.qualcomm.com>
@akakum-qualcomm
akakum-qualcomm force-pushed the fix/shikra-usb-gdsc-retention branch from d84096c to aaf53bd Compare October 13, 2026 05:55
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4701374 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4701374
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

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