Skip to content

phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirm… - #1358

Open
tapas-rana2811 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
tapas-rana2811:tapar/phy-autonomous-mode-detection
Open

tapas-rana2811 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
tapas-rana2811:tapar/phy-autonomous-mode-detection

Conversation

@tapas-rana2811

@tapas-rana2811 tapas-rana2811 commented Oct 28, 2026 •

Copy link
Copy Markdown

…ed present

qmp_combo_enable_autonomous_mode() picks the autonomous-mode wake
interrupt mask by comparing qmp->phy_mode against
PHY_MODE_USB_HOST_SS/PHY_MODE_USB_DEVICE_SS. This combo phy's
set_mode() only ever stores PHY_MODE_USB_HOST or PHY_MODE_USB_DEVICE
(dwc3 core and dwc3-qcom never pass the _SS/_HS/_FS/_LS variants to
this driver), so the comparison is always false and the phy is stuck
selecting ARCVR_DTCT_EN | ARCVR_DTCT_EVENT_SEL regardless of whether a
SuperSpeed device is actually attached, instead of using LFPS
detection (ALFPS_DTCT_EN) when appropriate.

Rather than growing the already overloaded enum phy_mode USB_*_SS/HS/
FS/LS split further, carry live SS-link presence through the existing
generic submode argument of phy_set_mode_ext(), as a new
enum qcom_usb_ss_state (UNKNOWN/PRESENT/ABSENT) shared via
include/linux/phy/phy-qcom-qmp-usb-ss.h. dwc3-qcom determines the
state from the USB3 root hub's attached child speed at suspend entry
and passes it down via phy_set_mode_ext(phy, PHY_MODE_USB_HOST,
ss_state); qmp_combo_usb_set_mode() validates and stores it, and
qmp_combo_enable_autonomous_mode() switches on it to pick the
interrupt mask.

CRs-Fixed: 4730864

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4673342 is not eligible for merge.

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

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

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

@qlijarvis

Copy link
Copy Markdown

PR #1358 — validate-patch

PR: #1358

Verdict Issues Detailed Report
❌ 1 Full report

Final Summary

  1. Lore link present: No — no lore.kernel.org link found in commit message; validation cannot proceed per skill Step 1
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Not upstream — no evidence of upstream posting or acceptance
  4. PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1358 - phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
Upstream commit: N/A
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream N/A No upstream lore link present
Body preserves rationale N/A No upstream lore link present
Fixes tag present/correct ❌ Missing - patch fixes a bug but has no Fixes tag
Authorship preserved N/A No upstream source to compare
Backport note (if applicable) N/A Not a backport
Vendor prefix ❌ Missing required prefix (QCLINUX:/PENDING:/FROMLIST:/UPSTREAM:)

Diff

File Status Notes
drivers/phy/qualcomm/phy-qcom-qmp-combo.c ⚠️ New ss_state field and logic; no upstream reference
drivers/usb/dwc3/dwc3-qcom.c ⚠️ New dwc3_qcom_read_ss_state() function; no upstream reference
include/linux/phy/phy-qcom-qmp-usb-ss.h ⚠️ New header file; no upstream reference

Issues

Critical:

  1. No lore.kernel.org link — The commit message lacks a Link: tag pointing to an upstream lore.kernel.org posting. Per the validate-patch skill Step 1, this is a FAIL condition.

  2. Missing vendor prefix — The subject line lacks a required prefix:

    • UPSTREAM: if merged into Linus's tree
    • FROMLIST: if posted to a mailing list but not yet merged
    • BACKPORT: if backporting an upstream commit with modifications
    • QCLINUX: if vendor-only with no upstream equivalent
    • PENDING: if work-in-progress not yet posted
    • WORKAROUND: if temporary fix not suitable for upstream
  3. Missing Fixes tag — The commit message describes a bug ("the comparison is always false and the phy is stuck selecting ARCVR_DTCT_EN | ARCVR_DTCT_EVENT_SEL regardless of whether a SuperSpeed device is actually attached") but does not include a Fixes: tag identifying the commit that introduced the issue.

Integration presence:

  • Per integration_presence_report.md: PARTIAL — subject or partial tree evidence found in qcom-next, but full change was not verified. This suggests the commit may be partially present or similar work exists, but the exact patch is not confirmed in qcom-next or kernel-topics.

Verdict

Do not merge without correction. This patch requires:

  1. Add a vendor prefix to the subject line:

    • If this is vendor-only work with no plans to upstream: use QCLINUX:
    • If this will be posted upstream: use PENDING: or FROMLIST: (after posting) with a Link: tag
    • If this is already upstream: use UPSTREAM: or BACKPORT: with a Link: tag
  2. Add a Fixes: tag identifying the commit that introduced the bug where qmp->phy_mode comparison always fails.

  3. If this patch is intended for upstream submission, post it to the appropriate mailing list (linux-phy, linux-usb) and add the Link: tag to the commit message.

Final Summary

  1. Lore link present: No — no lore.kernel.org link found in commit message; validation cannot proceed per skill Step 1
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Not upstream — no evidence of upstream posting or acceptance
  4. PR present in qcom-next/topics: Partial — per integration_presence_report.md: "partial - subject or partial tree evidence found, but full change was not verified" (1/1 commits partial)

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

Commit Subject qcom-next topics Final
1/1 [PATCH] phy: qcom: qmp-combo: Select LFPS detect only when SS link is partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

overall_status: PARTIAL
present_commits: 0/1
partial_commits: 1/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #1358 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ❌ 7 errors, 19 warnings, 2 checks — whitespace/indentation issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed (no UAPI changes)
check-patch-compliance ❌ Missing required subject prefix
tag-check ❌ Missing required subject prefix (mandatory for qcom-6.18.y)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1358 - phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/40718595720
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch ❌ 7 errors, 19 warnings, 2 checks — whitespace/indentation issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed (no UAPI changes)
check-patch-compliance ❌ Missing required subject prefix
tag-check ❌ Missing required subject prefix (mandatory for qcom-6.18.y)

❌ checkpatch

Root cause: The patch contains widespread whitespace and indentation errors — spaces used instead of tabs for code indentation throughout drivers/usb/dwc3/dwc3-qcom.c.

Failure details:

ERROR: code indent should use tabs where possible
#132: FILE: drivers/usb/dwc3/dwc3-qcom.c:266:
+                return QCOM_USB_SS_ABSENT;

ERROR: code indent should use tabs where possible
#137: FILE: drivers/usb/dwc3/dwc3-qcom.c:271:
+                return QCOM_USB_SS_ABSENT;

ERROR: code indent should use tabs where possible
#144: FILE: drivers/usb/dwc3/dwc3-qcom.c:278:
+               return QCOM_USB_SS_ABSENT;

ERROR: space required before the open brace '{'
#157: FILE: drivers/usb/dwc3/dwc3-qcom.c:391:
+		for (i = 0; i < qcom->num_ports; i++){

ERROR: code indent should use tabs where possible
#161: FILE: drivers/usb/dwc3/dwc3-qcom.c:395:
+                                       qcom->ports[i].ss_state);

WARNING: please, no spaces at the start of a line (×19 instances)
WARNING: suspect code indent for conditional statements (×3 instances)
CHECK: Alignment should match open parenthesis
CHECK: Blank lines aren't necessary before a close brace '}'

Total: 7 errors, 19 warnings, 2 checks

Fix: Replace all leading spaces with tabs in drivers/usb/dwc3/dwc3-qcom.c:260-397. The kernel coding style requires tabs for indentation, not spaces.

# Fix whitespace issues
git rebase -i beba1a54e9c240a8c1e42466b8d87256c801d7fa
# mark commit as 'edit'
# Fix indentation in drivers/usb/dwc3/dwc3-qcom.c:
#   - Replace spaces with tabs for all code lines
#   - Add space before '{' on line 391: i++){  →  i++) {
#   - Fix alignment on line 395 to match open parenthesis
#   - Remove blank line before '}' on line 397
git add drivers/usb/dwc3/dwc3-qcom.c
git commit --amend --no-edit
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git beba1a54e9c240a8c1e42466b8d87256c801d7fa..e5a65fdb7b1b92e03a966a077ee53dd83befad83

❌ check-patch-compliance

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

Failure details:

Checking commit: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
Commit summary does not start with a required prefix

Fix: Add an appropriate prefix to the commit subject based on the patch origin:

git rebase -i beba1a54e9c240a8c1e42466b8d87256c801d7fa
# mark commit as 'edit'
git commit --amend -m "FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present"
# (keep the rest of the commit message unchanged)
git rebase --continue

Choose the correct prefix:

  • FROMLIST: — if posted to lore.kernel.org but not yet merged
  • FROMGIT: — if taken from a maintainer git tree
  • UPSTREAM: — if merged into Linus's mainline tree
  • BACKPORT: — if backported with modifications

Note: If this is a vendor-only patch with no upstream equivalent, use QCLINUX: — however, check-patch-compliance will still fail for QCLINUX: (known checker limitation). If the patch has been posted upstream, add a Link: trailer pointing to the lore.kernel.org URL.

Reproduce locally:

# Check if subject has valid prefix
git log --format="%s" beba1a54e9c240a8c1e42466b8d87256c801d7fa..e5a65fdb7b1b92e03a966a077ee53dd83befad83 | \
  grep -qE '^(FROMLIST|FROMGIT|UPSTREAM|BACKPORT):' || echo "MISSING PREFIX"

❌ tag-check

Root cause: The target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), which requires every commit subject to start with a valid prefix tag. The commit subject lacks this required prefix.

Failure details:

Commit e5a65fdb7b1b ("phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present")
Subject line does not start with a required prefix.

All branches except qcom-next and qcom-next-staging require one of:
FROMLIST: / FROMGIT: / UPSTREAM: / BACKPORT: / QCLINUX: / PENDING: / WORKAROUND:

Fix: Same as check-patch-compliance above — add the appropriate prefix to the commit subject.

Reproduce locally:

git log --format="%H %s" beba1a54e9c240a8c1e42466b8d87256c801d7fa..e5a65fdb7b1b92e03a966a077ee53dd83befad83 | \
  while read sha subject; do
    if ! echo "$subject" | grep -qE '^(FROMLIST|FROMGIT|UPSTREAM|BACKPORT|QCLINUX|PENDING|WORKAROUND):'; then
      echo "MISSING prefix: $sha $subject"
    fi
  done

Verdict

3 blockers must be fixed before merge:

  1. checkpatch — Fix all whitespace/indentation errors (replace spaces with tabs in drivers/usb/dwc3/dwc3-qcom.c)
  2. check-patch-compliance — Add required subject prefix (FROMLIST:, FROMGIT:, UPSTREAM:, or BACKPORT:)
  3. tag-check — Same as Adding Email Checker  #2 (subject prefix is mandatory for qcom-6.18.y branch)

The code changes appear sound (sparse passed, no DT/UAPI issues), but the patch formatting and commit metadata must be corrected before this PR can be merged.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4730864

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

@tapas-rana2811
tapas-rana2811 force-pushed the tapar/phy-autonomous-mode-detection branch from e5a65fd to 0d1f322 Compare November 2, 2026 10:46
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4730864 is not eligible for merge.

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

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

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

1 similar comment
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4730864 is not eligible for merge.

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

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

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

@qlijarvis

Copy link
Copy Markdown

PR #1358 — validate-patch

PR: #1358

Verdict Issues Detailed Report
❌ 0 Full report

Final Summary

  1. Lore link present: No — FROMLIST: prefix requires a lore.kernel.org link, but none was found in the commit message
  2. Lore link matches PR commits: N/A — cannot compare without a lore link
  3. Upstream patch status: Unknown — cannot determine acceptance status without a lore link to check the mailing list thread
  4. PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1358 - FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
Upstream commit: N/A (no lore.kernel.org link found)
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream ❌ Cannot verify - no lore link provided
Body preserves rationale ❌ Cannot verify - no lore link provided
Fixes tag present/correct ⚠️ No Fixes tag present (may not be required if not fixing a regression)
Authorship preserved ❌ Cannot verify - no lore link provided
Backport note (if applicable) N/A Not a backport (FROMLIST prefix)

Diff

File Status Notes
drivers/phy/qualcomm/phy-qcom-qmp-combo.c ❌ Cannot verify against upstream - no lore link
drivers/usb/dwc3/dwc3-qcom.c ❌ Cannot verify against upstream - no lore link
include/linux/phy/phy-qcom-qmp-usb-ss.h ❌ Cannot verify against upstream - no lore link

Issues

Critical: Missing lore.kernel.org Link

The commit uses the FROMLIST: prefix, which according to the validate-patch skill requires a lore.kernel.org link in the commit message. The skill explicitly states:

FROMLIST: → Posted to mailing list, not yet merged → Yes — lore.kernel.org link required

However, no Link: tag pointing to lore.kernel.org was found in the commit message. This violates the mandatory requirement for FROMLIST: commits.

Expected format:

Link: https://lore.kernel.org/r/<message-id>

Additional observations:

  1. Coding style issues in the patch:

    • Inconsistent indentation in the switch statement (uses spaces instead of tabs in some places)
    • Trailing whitespace visible in dwc3-qcom.c changes
    • Missing space after for keyword: for (i = 0; i < qcom->num_ports; i++){ should be i++) {
  2. Integration presence: According to integration_presence_report.md, this commit shows only "partial" presence in qcom-next/topics, meaning the full change was not verified in the integration branches.

Verdict

Do not merge. This commit must be corrected before acceptance:

  1. Add the mandatory lore.kernel.org Link tag to the commit message pointing to the upstream mailing list posting
  2. Fix coding style issues (indentation, spacing, trailing whitespace)
  3. Verify the commit is properly integrated into qcom-next or the appropriate topic branch

Final Summary

  1. Lore link present: No — FROMLIST: prefix requires a lore.kernel.org link, but none was found in the commit message
  2. Lore link matches PR commits: N/A — cannot compare without a lore link
  3. Upstream patch status: Unknown — cannot determine acceptance status without a lore link to check the mailing list thread
  4. PR present in qcom-next/topics: Partial — only partial integration evidence found; full change not verified in qcom-next or 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: 17bbb4b37bbc4fc5827b4667445a0c43967c0f48
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

overall_status: PARTIAL
present_commits: 0/1
partial_commits: 1/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #1358 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ❌ 7 errors, 19 warnings, 2 checks
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed
check-patch-compliance ❌ Missing Link: tag
tag-check ✅ Subject has valid FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1358 - FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/41431653281
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch ❌ 7 errors, 19 warnings, 2 checks
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed
check-patch-compliance ❌ Missing Link: tag
tag-check ✅ Subject has valid FROMLIST: prefix

❌ checkpatch

Root cause: Multiple coding style violations including incorrect indentation (spaces instead of tabs), switch/case alignment issues, and block comment formatting.

Failure details:

Commit 0d1f3228b889 ("FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present")
total: 7 errors, 19 warnings, 2 checks, 132 lines checked

ERROR: switch and case should be at the same indent
#60: FILE: drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3934:
+	switch (submode) {
+		case QCOM_USB_SS_PRESENT:
+		case QCOM_USB_SS_ABSENT:
+		default:

ERROR: switch and case should be at the same indent
#86: FILE: drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3976:
+	switch (qmp->ss_state) {
+		case QCOM_USB_SS_PRESENT:
+		case QCOM_USB_SS_ABSENT:
+		case QCOM_USB_SS_UNKNOWN:
+		default:

WARNING: Block comments should align the * on each line
#83: FILE: drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3973:
+	/*
+	* Use LFPS detection only when a SuperSpeed device is known to be

WARNING: please, no spaces at the start of a line (×18 instances)
#125-161: FILE: drivers/usb/dwc3/dwc3-qcom.c:259-395:
+       struct usb_device *udev;
+       struct usb_hcd __maybe_unused *hcd, *usb3_hcd;
[... multiple lines with leading spaces instead of tabs ...]

ERROR: code indent should use tabs where possible (×5 instances)
#132, #137, #144, #161: FILE: drivers/usb/dwc3/dwc3-qcom.c

ERROR: space required before the open brace '{'
#157: FILE: drivers/usb/dwc3/dwc3-qcom.c:391:
+		for (i = 0; i < qcom->num_ports; i++){

CHECK: Alignment should match open parenthesis
#161: FILE: drivers/usb/dwc3/dwc3-qcom.c:395:
+			phy_set_mode_ext(qcom->dwc.usb3_generic_phy[i], PHY_MODE_USB_HOST,
+                                       qcom->ports[i].ss_state);

CHECK: Blank lines aren't necessary before a close brace '}'
#163: FILE: drivers/usb/dwc3/dwc3-qcom.c:397:

Fix:

  1. Switch/case indentation — Remove extra tab from case labels:

    switch (submode) {
    case QCOM_USB_SS_PRESENT:
    case QCOM_USB_SS_ABSENT:
    default:
  2. Block comment alignment — Add space before *:

    /*
     * Use LFPS detection only when a SuperSpeed device is known to be
  3. Replace all leading spaces with tabs in drivers/usb/dwc3/dwc3-qcom.c:259-395:

    # Use expand/unexpand or editor's retab function
    sed -i 's/^       /\t/' drivers/usb/dwc3/dwc3-qcom.c
  4. Add space before opening brace:

    for (i = 0; i < qcom->num_ports; i++) {
  5. Fix function call alignment — align continuation line with opening parenthesis:

    phy_set_mode_ext(qcom->dwc.usb3_generic_phy[i], PHY_MODE_USB_HOST,
                     qcom->ports[i].ss_state);
  6. Remove blank line before closing brace at line 397.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git fc941f0f030b..85bf591eb201

Fix command:

git rebase -i fc941f0f030b   # mark commit 0d1f3228 as 'edit'
# Apply all fixes above to the affected files
git add drivers/phy/qualcomm/phy-qcom-qmp-combo.c drivers/usb/dwc3/dwc3-qcom.c
git commit --amend --no-edit
git rebase --continue

❌ check-patch-compliance

Root cause: Commit message is missing the required Link: tag pointing to the upstream lore.kernel.org patch.

Failure details:

Checking commit: FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
No 'Link' found in commit message

Fix:

Add a Link: tag to the commit message body pointing to the lore.kernel.org URL where this patch was posted upstream. The tag should be placed after the commit description and before the Signed-off-by: line.

Example format:

<commit description>

Link: https://lore.kernel.org/linux-usb/<message-id>/
Signed-off-by: Tapas Rana <taparana@qti.qualcomm.com>

Fix command:

git rebase -i fc941f0f030b   # mark commit 0d1f3228 as 'edit'
git commit --amend   # Add Link: tag in the commit message editor
git rebase --continue

Verdict

2 blockers must be fixed before merge:

  1. checkpatch — 7 errors (switch/case indentation, spaces vs tabs, missing space before brace) and 19 warnings (block comment alignment, indentation) must be resolved. These are straightforward formatting issues.

  2. check-patch-compliance — Missing Link: tag. Since the commit uses the FROMLIST: prefix, it must include a Link: pointing to the upstream lore.kernel.org posting.

Recommended action: Fix the indentation/formatting issues and add the upstream Link: tag, then force-push the updated commit to the PR branch.

…is confirmed present

  qmp_combo_enable_autonomous_mode() picks the autonomous-mode wake
  interrupt mask by comparing qmp->phy_mode against
  PHY_MODE_USB_HOST_SS/PHY_MODE_USB_DEVICE_SS. This combo phy's
  set_mode() only ever stores PHY_MODE_USB_HOST or PHY_MODE_USB_DEVICE
  (dwc3 core and dwc3-qcom never pass the _SS/_HS/_FS/_LS variants to
  this driver), so the comparison is always false and the phy is stuck
  selecting ARCVR_DTCT_EN | ARCVR_DTCT_EVENT_SEL regardless of whether a
  SuperSpeed device is actually attached, instead of using LFPS
  detection (ALFPS_DTCT_EN) when appropriate.

  Rather than growing the already overloaded enum phy_mode USB_*_SS/HS/
  FS/LS split further, carry live SS-link presence through the existing
  generic submode argument of phy_set_mode_ext(), as a new
  enum qcom_usb_ss_state (UNKNOWN/PRESENT/ABSENT) shared via
  include/linux/phy/phy-qcom-qmp-usb-ss.h. dwc3-qcom determines the
  state from the USB3 root hub's attached child speed at suspend entry
  and passes it down via phy_set_mode_ext(phy, PHY_MODE_USB_HOST,
  ss_state); qmp_combo_usb_set_mode() validates and stores it, and
  qmp_combo_enable_autonomous_mode() switches on it to pick the
  interrupt mask.

Signed-off-by: Tapas Rana <taparana@qti.qualcomm.com>
@tapas-rana2811
tapas-rana2811 force-pushed the tapar/phy-autonomous-mode-detection branch from 0d1f322 to 987c945 Compare November 2, 2026 13:22
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4730864 is not eligible for merge.

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

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

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

@qlijarvis

Copy link
Copy Markdown

PR #1358 — validate-patch

PR: #1358

Verdict Issues Detailed Report
❌ 2 Full report

Final Summary

  1. Lore link present: No — FROMLIST: prefix requires a Link: https://lore.kernel.org/r/<message-id> tag, but none was found in the commit message
  2. Lore link matches PR commits: N/A — cannot compare without a lore link
  3. Upstream patch status: Unknown — cannot determine acceptance/rejection status without the lore link to check mailing list thread
  4. PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1358 - FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
Upstream commit: N/A (no lore.kernel.org link found)
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream ❌ Cannot verify - no lore link provided
Body preserves rationale ❌ Cannot verify - no lore link provided
Fixes tag present/correct ⚠️ No Fixes tag present (may not be required if not fixing a regression)
Authorship preserved ❌ Cannot verify - no lore link provided
Backport note (if applicable) N/A Not a backport (FROMLIST prefix)

Diff

File Status Notes
drivers/phy/qualcomm/phy-qcom-qmp-combo.c ❌ Cannot verify against upstream - no lore link
drivers/usb/dwc3/dwc3-qcom.c ❌ Cannot verify against upstream - no lore link
include/linux/phy/phy-qcom-qmp-usb-ss.h ❌ Cannot verify against upstream - no lore link

Issues

Critical: Missing lore.kernel.org Link

The commit uses the FROMLIST: prefix, which explicitly indicates the patch was posted to a mailing list but not yet merged upstream. According to the validate-patch skill requirements and kernel contribution guidelines:

  • FROMLIST: commits must include a Link: https://lore.kernel.org/r/<message-id> tag in the commit message
  • This link is required to:
    1. Verify the patch content matches what was posted upstream
    2. Track the upstream review status and community feedback
    3. Ensure proper attribution and traceability
    4. Allow reviewers to check for newer revisions or maintainer decisions

Expected format:

Signed-off-by: Tapas Rana <taparana@qti.qualcomm.com>
Link: https://lore.kernel.org/r/<message-id>

Additional observations:

  1. Integration presence: According to integration_presence_report.md, this commit shows "partial" evidence in qcom-next (subject or partial tree match found, but full change not verified). This suggests related work may exist but this exact patch is not fully integrated.

  2. Code quality concerns (style only, not blocking):

    • dwc3_qcom_suspend(): Line 391 has inconsistent spacing in the for-loop closing brace: for (i = 0; i < qcom->num_ports; i++){ should be i++) {
    • Switch statement indentation in qmp_combo_usb_set_mode() uses non-standard style (case labels should align with switch)

Verdict

Do not merge until the lore.kernel.org link is added to the commit message.

The FROMLIST: prefix creates a binding contract that this patch was posted to the mailing list. Without the lore link, reviewers cannot:

  • Verify the patch content is faithful to what was posted
  • Check if the patch has been accepted, rejected, or superseded by a newer revision
  • Review upstream maintainer feedback
  • Confirm the original author's identity and sign-off chain

Final Summary

  1. Lore link present: No — FROMLIST: prefix requires a Link: https://lore.kernel.org/r/<message-id> tag, but none was found in the commit message
  2. Lore link matches PR commits: N/A — cannot compare without a lore link
  3. Upstream patch status: Unknown — cannot determine acceptance/rejection status without the lore link to check mailing list thread
  4. PR present in qcom-next/topics: Partial — integration_presence_report.md shows "partial" evidence (subject or partial tree match found, but full change not verified in qcom-next or topics)

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

Commit Subject qcom-next topics Final
1/1 [PATCH] FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial

Final Status

overall_status: PARTIAL
present_commits: 0/1
partial_commits: 1/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Partial - 1/1 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #1358 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ❌ 3 errors, 1 warning, 1 check
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed (no UAPI changes)
check-patch-compliance ❌ Missing Link: tag
tag-check ✅ Subject has valid FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1358 - FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/41452509769

Checker Result Summary
checkpatch ❌ 3 errors, 1 warning, 1 check
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed (no UAPI changes)
check-patch-compliance ❌ Missing Link: tag
tag-check ✅ Subject has valid FROMLIST: prefix

❌ checkpatch

Root cause: Commit 987c945 has multiple coding style violations: incorrect switch/case indentation, missing space before brace, misaligned block comment, and unnecessary blank line.

Failure details:

ERROR: switch and case should be at the same indent
#60: FILE: drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3934:
+	switch (submode) {
+		case QCOM_USB_SS_PRESENT:
+		case QCOM_USB_SS_ABSENT:
[...]
+		default:

WARNING: Block comments should align the * on each line
#83: FILE: drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3973:
+	/*
+	* Use LFPS detection only when a SuperSpeed device is known to be

ERROR: switch and case should be at the same indent
#86: FILE: drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3976:
+	switch (qmp->ss_state) {
+		case QCOM_USB_SS_PRESENT:
[...]
+		case QCOM_USB_SS_ABSENT:
+		case QCOM_USB_SS_UNKNOWN:
+		default:

ERROR: space required before the open brace '{'
#157: FILE: drivers/usb/dwc3/dwc3-qcom.c:391:
+		for (i = 0; i < qcom->num_ports; i++){

CHECK: Blank lines aren't necessary before a close brace '}'
#163: FILE: drivers/usb/dwc3/dwc3-qcom.c:397:
+
+		}

987c945f4c88b0c4f5c4647c653f84886d853b03 total: 3 errors, 1 warnings, 1 checks, 132 lines checked

Fix:

  1. Switch/case indentation (2 errors) — case labels should align with switch:

    # In drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3934 and :3976
    # Change from:
    switch (submode) {
    	case QCOM_USB_SS_PRESENT:
    # To:
    switch (submode) {
    case QCOM_USB_SS_PRESENT:
  2. Block comment alignment (1 warning) — Align * on continuation lines:

    # In drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3973
    # Change from:
    /*
    * Use LFPS detection only when...
    # To:
    /*
     * Use LFPS detection only when...
  3. Missing space before brace (1 error) — Add space before {:

    # In drivers/usb/dwc3/dwc3-qcom.c:391
    # Change from:
    for (i = 0; i < qcom->num_ports; i++){
    # To:
    for (i = 0; i < qcom->num_ports; i++) {
  4. Unnecessary blank line (1 check) — Remove blank line before closing brace:

    # In drivers/usb/dwc3/dwc3-qcom.c:397
    # Remove the blank line before the closing }

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 5c398266004176fbadb0864af19dd6e6ad3706c6..2fc73391dc35e6254a62d4aa66ebe59305d45dd0

Fix command:

git rebase -i 5c398266004176fbadb0864af19dd6e6ad3706c6
# mark commit 987c945f4c88 as 'edit'
# Apply the 4 fixes above to the respective files
git add drivers/phy/qualcomm/phy-qcom-qmp-combo.c drivers/usb/dwc3/dwc3-qcom.c
git commit --amend --no-edit
git rebase --continue

❌ check-patch-compliance

Root cause: Commit message is missing the required Link: tag pointing to the upstream lore.kernel.org patch.

Failure details:

Checking commit: FROMLIST: phy: qcom: qmp-combo: Select LFPS detect only when SS link is confirmed present
No 'Link' found in commit message

Fix:

The FROMLIST: prefix indicates this patch was posted to a mailing list. Add a Link: tag to the commit message body pointing to the lore.kernel.org URL:

git rebase -i 5c398266004176fbadb0864af19dd6e6ad3706c6
# mark commit 987c945f4c88 as 'edit'
git commit --amend
# Add to the commit message body (before Signed-off-by:):
Link: https://lore.kernel.org/.../<message-id>
# Save and exit
git rebase --continue

The Link: tag should point to the exact lore.kernel.org URL where this patch was posted. If the patch hasn't been posted yet, either:

  • Post it first and add the Link, or
  • Change the prefix from FROMLIST: to PENDING: (though note that PENDING: will still fail check-patch-compliance as it's not in the allowed prefix list)

Reproduce locally:

# Verify the Link is valid by fetching with b4:
b4 am --single-message -C -l -3 <lore-url> -o /tmp/out

Verdict

2 blockers must be fixed before merge:

  1. checkpatch — 3 coding style errors (switch/case indentation, missing space before brace) and 1 warning (block comment alignment) must be corrected
  2. check-patch-compliance — Missing Link: tag must be added to the commit message

Both issues can be resolved with a single git rebase -i session to amend the commit.

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