Skip to content

UPSTREAM: arm64: dts: qcom: hamoa/purwa: Flatten usb controller nodes#777

Open
Kriskura176767 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
Kriskura176767:for-usb
Open

UPSTREAM: arm64: dts: qcom: hamoa/purwa: Flatten usb controller nodes#777
Kriskura176767 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
Kriskura176767:for-usb

Conversation

@Kriskura176767

@Kriskura176767 Kriskura176767 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Flatten usb controller nodes and update to using latest bindings and flattened driver approach.

Tested this patch on CRD platform. For testing purpose, modified dr_mode property and added usb-role-switch property to the 3 super speed capable DRD controllers and valdiated both host and device mode. Also validated host mode on the multiport controller.

Link: https://lore.kernel.org/all/20260323103119.1801139-1-krishna.kurapati@oss.qualcomm.com/

CRs-Fixed: 4588826

Flatten usb controller nodes and update to using latest bindings and
flattened driver approach.

Tested this patch on CRD platform. For testing purpose, modified dr_mode
property and added usb-role-switch property to the 3 super speed capable
DRD controllers and valdiated both host and device mode. Also validated
host mode on the multiport controller.

Link: https://lore.kernel.org/all/20260323103119.1801139-1-krishna.kurapati@oss.qualcomm.com/
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qlijarvis

Copy link
Copy Markdown

PR #777 — validate-patch

PR: #777

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

  1. Lore link present: Yes — Link tag present with valid lore.kernel.org message-ID format (20260323103119.1801139-1-krishna.kurapati@oss.qualcomm.com)
  2. Lore link matches PR commits: Cannot verify — Network restricted; unable to fetch upstream patch for comparison
  3. Upstream patch status: Cannot determine — lore.kernel.org unreachable; based on UPSTREAM prefix and future date (2026-03-23), this appears to be a patch intended for upstream submission
  4. PR present in qcom-next: Not checked — No kernel source tree available per constraints
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #777 - UPSTREAM: arm64: dts: qcom: hamoa/purwa: Flatten usb controller nodes
Upstream commit: https://lore.kernel.org/all/20260323103119.1801139-1-krishna.kurapati@oss.qualcomm.com/
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - network restricted, lore.kernel.org unreachable
Body preserves rationale Clear description of flattening USB controller nodes
Fixes tag present/correct N/A Not a bug fix; no Fixes tag expected
Authorship preserved Krishna Kurapati krishna.kurapati@oss.qualcomm.com
Backport note (if applicable) N/A UPSTREAM prefix indicates this is for upstream submission

Diff

File Status Notes
arch/arm64/boot/dts/qcom/hamoa-iot-som.dtsi Flattens USB node references (removes _dwc3 child nodes)
arch/arm64/boot/dts/qcom/hamoa.dtsi Main flattening: merges wrapper+dwc3 nodes, updates compatible/reg/interrupts
arch/arm64/boot/dts/qcom/purwa-iot-som.dtsi Consistent flattening pattern with hamoa-iot-som
arch/arm64/boot/dts/qcom/x1-.dtsi/.dts (12 files) Board files updated to reference flattened nodes

Issues

  • Typo in commit message: "valdiated" should be "validated" (line: "DRD controllers and valdiated both host and device mode")
  • Cannot verify upstream match: Network access restricted; unable to fetch upstream patch from lore.kernel.org to confirm diff faithfulness
  • Date consistency: Patch date (2026-03-23) matches lore link message-ID date (20260323) ✅

Verdict

The patch appears structurally sound and implements a consistent USB node flattening pattern across 15 device tree files. The changes follow a clear pattern: merging qcom,dwc3 wrapper nodes with their snps,dwc3 child nodes, updating compatible strings to qcom,snps-dwc3, adjusting register addresses, and adding the dwc_usb3 interrupt. However, there is a spelling error in the commit message ("valdiated" → "validated"), and upstream faithfulness cannot be verified due to network restrictions.

Recommendation: Fix the typo in the commit message before merging. The technical changes appear correct but cannot be fully validated against upstream without network access.

Final Summary

  1. Lore link present: Yes — Link tag present with valid lore.kernel.org message-ID format (20260323103119.1801139-1-krishna.kurapati@oss.qualcomm.com)
  2. Lore link matches PR commits: Cannot verify — Network restricted; unable to fetch upstream patch for comparison
  3. Upstream patch status: Cannot determine — lore.kernel.org unreachable; based on UPSTREAM prefix and future date (2026-03-23), this appears to be a patch intended for upstream submission
  4. PR present in qcom-next: Not checked — No kernel source tree available per constraints

@qlijarvis

Copy link
Copy Markdown

PR #777 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues, ready for submission
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check All DTB validations passed
sparse-check ⏭️ Skipped - no C code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance FAILED: Patch differs from upstream Link
tag-check N/A Not applicable for this analysis
qcom-next-check UPSTREAM: prefix present

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #777 - UPSTREAM: arm64: dts: qcom: hamoa/purwa: Flatten usb controller nodes
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28294231790

Checker Result Summary
checkpatch No style issues, ready for submission
dt-binding-check ⏭️ Skipped - no changes in Documentation/devicetree/bindings
dtb-check All DTB validations passed
sparse-check ⏭️ Skipped - no C code changes
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance FAILED: Patch differs from upstream Link
tag-check N/A Not applicable for this analysis
qcom-next-check UPSTREAM: prefix present

❌ check-patch-compliance

Root cause: The patch content in the PR differs from the upstream patch referenced in the Link tag.

Failure details:

2026-06-27T16:13:06.1100459Z Checking commit: UPSTREAM: arm64: dts: qcom: hamoa/purwa: Flatten usb controller nodes
2026-06-27T16:13:11.6274523Z Change is different from the one mentioned in Link
2026-06-27T16:13:11.6363587Z ##[error]Process completed with exit code 1.

The checker validates that patches tagged with UPSTREAM: or FROMLIST: match the content at the lore.kernel.org link. In this case:

  • Link tag: https://lore.kernel.org/all/20260323103119.1801139-1-krishna.kurapati@oss.qualcomm.com/
  • Issue: The patch in the PR has been modified from the upstream version

Fix:

  1. If the patch was intentionally modified: Remove the UPSTREAM: prefix and the Link tag, or change to FROMLIST: if it's still under review upstream. Document the local changes in the commit message.

  2. If this should be a clean backport: Fetch the exact patch from lore and reapply it without modifications:

    b4 am https://lore.kernel.org/all/20260323103119.1801139-1-krishna.kurapati@oss.qualcomm.com/
    git am ./v1_*.mbx
  3. If local testing changes were included: The commit message mentions "For testing purpose, modified dr_mode property and added usb-role-switch property" - these test modifications should NOT be in the upstream backport. Either:

    • Create a separate commit for local test changes, OR
    • Remove test modifications and keep only the clean upstream patch

Reproduce locally:

cd /path/to/kernel
bash /path/to/kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base 8c49474603c0b1c278b8fe00ac4e735b92d78ce9 \
  --head 7f03408ba2bb747b20e67fe421b2e5167eb2b5b1

Verdict

1 blocker to fix: The check-patch-compliance failure must be resolved. The patch either needs to match the upstream version exactly (for a true UPSTREAM: backport), or the commit message and prefix need to be updated to reflect that this is a modified version with local changes.

@sgaud-quic sgaud-quic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainline change details not available in CR

@ppratap-liveroot ppratap-liveroot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 x1e80100-crd
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ✅ Pass ❌ Fail ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ◻️

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.

5 participants