Skip to content

scsi: ufs: qcom: Add regulator timing constraints for UFS#1542

Open
mchunara007 wants to merge 1 commit into
qualcomm-linux:tech/all/dt/qcs8300from
mchunara007:tech/all/dt/qcs8300
Open

scsi: ufs: qcom: Add regulator timing constraints for UFS#1542
mchunara007 wants to merge 1 commit into
qualcomm-linux:tech/all/dt/qcs8300from
mchunara007:tech/all/dt/qcs8300

Conversation

@mchunara007

Copy link
Copy Markdown

UFS on the Monaco EVK can fail to initialize after probe deferral when the VDD regulator is re-enabled before the supply has fully stabilized. This is caused by the increased discharge and recharge time introduced by additional board-level capacitance in the shared power supply design.

Add the hardware-required off-on-delay and enable-ramp-delay for the VDD regulator to ensure proper power sequencing and reliable UFS initialization across re-probe scenarios.

CRs-Fixed: 4616981

UFS on the Monaco EVK can fail to initialize after probe deferral when
the VDD regulator is re-enabled before the supply has fully stabilized.
This is caused by the increased discharge and recharge time introduced by
additional board-level capacitance in the shared power supply design.

Add the hardware-required off-on-delay and enable-ramp-delay for the VDD
regulator to ensure proper power sequencing and reliable UFS
initialization across re-probe scenarios.

Signed-off-by: Monish Chunara <monish.chunara@oss.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

PR #1542 — validate-patch

PR: #1542

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — no lore.kernel.org link found in commit message; no vendor prefix present to indicate this is vendor-only
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Unknown — cannot determine without lore link; commit lacks vendor prefix to indicate intent
  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: #1542 - scsi: ufs: qcom: Add regulator timing constraints for UFS
Upstream commit: (none found)
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream N/A No upstream link to compare
Body preserves rationale N/A No upstream link to compare
Fixes tag present/correct No Fixes tag; describes a hardware issue that may need one
Authorship preserved N/A No upstream to verify against
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/monaco-evk-common.dtsi ⚠️ Adds regulator timing constraints; no upstream reference

Issues

  1. Missing lore link and vendor prefix: The commit has no Link: tag pointing to lore.kernel.org and no vendor prefix (UPSTREAM:, FROMLIST:, BACKPORT:, QCLINUX:, PENDING:, WORKAROUND:). According to kernel-topics policy, all commits must have either:

    • A lore.kernel.org link (for upstream/fromlist patches), OR
    • An appropriate vendor prefix (for vendor-only changes)
  2. Missing Fixes tag: The commit message describes a bug ("UFS on the Monaco EVK can fail to initialize after probe deferral") but does not include a Fixes: tag to identify which commit introduced the incomplete regulator configuration.

  3. Not present in qcom-next or topics: According to integration_presence_report.md, this commit is missing from both qcom-next and all topic branches. This is expected for a new PR but confirms it's not yet integrated.

Verdict

Do not merge without correction. The commit must be updated to include either:

  • A Link: tag pointing to the lore.kernel.org posting if this patch has been or will be submitted upstream, OR
  • A QCLINUX: prefix if this is a vendor-only board enablement change not intended for upstream

Additionally, consider adding a Fixes: tag to identify the commit that introduced the Monaco EVK device tree without proper regulator timing constraints.

Final Summary

  1. Lore link present: No — no lore.kernel.org link found in commit message; no vendor prefix present to indicate this is vendor-only
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Unknown — cannot determine without lore link; commit lacks vendor prefix to indicate intent
  4. PR present in qcom-next/topics: No — 1/1 commit missing from both qcom-next and topics (per integration_presence_report.md)

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

Commit Subject qcom-next topics Final
1/1 [PATCH] scsi: ufs: qcom: Add regulator timing constraints for UFS 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 #1542 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Unevaluated property regulator-off-on-delay-us
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Missing required subject prefix
tag-check Missing required subject prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1542 - scsi: ufs: qcom: Add regulator timing constraints for UFS
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29826830380
Target branch: tech/all/dt/qcs8300

Checker Result Summary
checkpatch Passed
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Unevaluated property regulator-off-on-delay-us
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Missing required subject prefix
tag-check Missing required subject prefix

❌ dtb-check

Root cause: The property regulator-off-on-delay-us is not declared in the qcom,rpmh-regulator.yaml binding schema.

Failure details:

monaco-evk.dtb: regulators-0 (qcom,pmm8654au-rpmh-regulators): ldo8: 
  Unevaluated properties are not allowed ('regulator-off-on-delay-us' was unexpected)
  from schema $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#

This error appears in:

  • monaco-evk.dtb
  • monaco-evk-el2.dtb
  • monaco-camx-el2.dtb

Fix: The property regulator-off-on-delay-us is a standard regulator property defined in Documentation/devicetree/bindings/regulator/regulator.yaml, but the RPMH regulator binding uses unevaluatedProperties: false, which blocks it.

Two options:

Option 1 (Recommended): Update the RPMH regulator binding to allow this property:

# Edit Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
# In the per-regulator schema section, ensure it includes:
allOf:
  - $ref: regulator.yaml#

This will automatically allow all standard regulator properties including regulator-off-on-delay-us.

Option 2: Explicitly add the property to the binding:

# In qcom,rpmh-regulator.yaml, under the per-regulator properties:
properties:
  regulator-off-on-delay-us:
    description: Delay in microseconds between turning off and re-enabling

Reproduce locally:

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

❌ check-patch-compliance

Root cause: Commit subject does not start with a required prefix (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: scsi: ufs: qcom: Add regulator timing constraints for UFS
Commit summary does not start with a required prefix

Fix: Add an appropriate prefix to the commit subject. Since this is a devicetree change for a Qualcomm board:

git commit --amend -m "QCLINUX: scsi: ufs: qcom: Add regulator timing constraints for UFS

[keep the rest of the commit message unchanged]"

Note: The QCLINUX: prefix is appropriate for vendor-specific board changes. However, check-patch-compliance only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). This is a known checker limitation for vendor-only commits. If this change is posted upstream, use FROMLIST: and add a Link: tag.

Reproduce locally:

# The checker expects one of: FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:
git log --oneline -1

❌ tag-check

Root cause: The target branch tech/all/dt/qcs8300 is not qcom-next or qcom-next-staging, so every commit must have a subject prefix.

Failure details:

Commit 799210ccfcdbc28e6ac2e921167b378f44013f2b 
("scsi: ufs: qcom: Add regulator timing constraints for UFS"): 
subject line does not start with a required prefix.

Fix: Same as check-patch-compliance — add a prefix to the commit subject:

git commit --amend -m "QCLINUX: scsi: ufs: qcom: Add regulator timing constraints for UFS

[keep the rest of the commit message]"

All branches except qcom-next and qcom-next-staging require one of:

  • FROMLIST: — Posted to lore, not yet merged
  • FROMGIT: — In a maintainer tree
  • UPSTREAM: — Merged into Linus's tree
  • BACKPORT: — Backported with modifications
  • QCLINUX: — Vendor-only, no upstream
  • PENDING: — Work-in-progress
  • WORKAROUND: — Temporary fix

Verdict

3 blockers to fix before merge:

  1. dtb-check: Update qcom,rpmh-regulator.yaml binding to allow regulator-off-on-delay-us (or verify it already includes $ref: regulator.yaml#)
  2. check-patch-compliance: Add subject prefix (e.g., QCLINUX:)
  3. tag-check: Add subject prefix (same fix as dummy change #2)

Note: Issues #2 and #3 are the same root cause (missing prefix) and can be fixed with a single git commit --amend. The dtb-check failure requires a binding update, which should be submitted as a separate patch before or alongside this change.

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