Skip to content

arm64: dts: qcom: talos: Mark USB controllers as dma-coherent - #1261

Open
jthomasp123 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
jthomasp123:qcs615-dma-coherent-pr
Open

jthomasp123 wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
jthomasp123:qcs615-dma-coherent-pr

Conversation

@jthomasp123

@jthomasp123 jthomasp123 commented Oct 8, 2026 •

Copy link
Copy Markdown

Mark the USB30_PRIM (usb@a600000) and USB20_SEC (usb@a800000)
DWC3 controllers on Talos as dma-coherent.

Without this property, USB DMA control-transfer buffers can be routed
through the SWIOTLB bounce-buffer path and trigger a synchronous external
abort during USB hub enumeration on QCS615-Ride.

CRs-Fixed: 4664233

Tracking issue:
qualcomm-linux/meta-qcom#3279

Mark the USB30_PRIM (usb@a600000) and USB20_SEC (usb@a800000) DWC3
controllers on Talos as dma-coherent. Without this, USB DMA transfers
are incorrectly routed through the SWIOTLB bounce-buffer path causing
a synchronous external abort during USB hub enumeration on boot.

CRs-Fixed: 4664233
Upstream-Status: Pending
Signed-off-by: Jeff Thomas Pampackal <jthomasp@qti.qualcomm.com>

Change-Id: Ie7d3f44aec0667aca2ca9602ca773cb219b03fb7
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4664233

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

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4664233 is not eligible for merge.

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

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

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

@qlijarvis

Copy link
Copy Markdown

PR #1261 — validate-patch

PR: #1261

Verdict Issues Detailed Report
❌ 0 Full report

Final Summary

  1. Lore link present: No — no lore.kernel.org link found; Upstream-Status: Pending indicates not yet posted upstream
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Not upstream — Upstream-Status: Pending tag indicates work-in-progress; no evidence of mailing list posting
  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: #1261 - arm64: dts: qcom: talos: Mark USB controllers as dma-coherent
Upstream commit: N/A
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream N/A No upstream source to compare
Body preserves rationale ✅ Clear description of the fix and impact
Fixes tag present/correct ❌ Missing - should reference the commit that introduced the USB nodes
Authorship preserved N/A Original work by author
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/talos.dtsi ⚠️ Whitespace: uses spaces instead of tabs for indentation

Issues

  1. Missing commit prefix: The commit subject lacks a required prefix. Based on Upstream-Status: Pending, this should be prefixed with PENDING: to indicate work-in-progress not yet posted upstream, or QCLINUX: if this is a vendor-only change not intended for upstream submission.

  2. Missing Fixes tag: The commit should include a Fixes: tag referencing the commit that introduced the USB controller nodes in talos.dtsi, since this corrects a configuration error in those nodes.

  3. Whitespace inconsistency: The added dma-coherent; lines use spaces for indentation instead of tabs, inconsistent with the surrounding code style in the file.

  4. Not present in qcom-next or topics: According to the integration presence report, this commit is missing from both qcom-next and all topic branches (0/1 commits present). This is a validation failure - commits should be present in at least one integration branch before PR merge.

  5. No lore link: As expected for a pending/vendor commit, but without the proper prefix this creates ambiguity about the commit's status.

Verdict

Do not merge without corrections. The commit requires:

  1. Add PENDING: or QCLINUX: prefix to the subject line
  2. Add a Fixes: tag for the commit that introduced the USB nodes
  3. Fix indentation to use tabs instead of spaces
  4. Ensure the commit is present in qcom-next or a topic branch before merging to the main tree

Final Summary

  1. Lore link present: No — no lore.kernel.org link found; Upstream-Status: Pending indicates not yet posted upstream
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Not upstream — Upstream-Status: Pending tag indicates work-in-progress; no evidence of mailing list posting
  4. PR present in qcom-next/topics: Fail — 1/1 commit(s) are 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: ba86f67908354f41f269ca1d64b22e4624766dcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] arm64: dts: qcom: talos: Mark USB controllers as dma-coherent 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 #1261 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ❌ 3 errors, 2 warnings: Gerrit Change-Id, spaces instead of tabs
dt-binding-check ⏭️ Skipped - no binding changes
dtb-check ✅ Passed - all pre-existing errors filtered
sparse-check ⏭️ Skipped - no C/H file changes
check-uapi-headers ⏭️ Skipped - no UAPI changes
check-patch-compliance ❌ Missing required subject prefix
tag-check ❌ Missing required subject prefix (mandatory for non-qcom-next branches)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1261 - arm64: dts: qcom: talos: Mark USB controllers as dma-coherent
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/37858176195

Checker Result Summary
checkpatch ❌ 3 errors, 2 warnings: Gerrit Change-Id, spaces instead of tabs
dt-binding-check ⏭️ Skipped - no binding changes
dtb-check ✅ Passed - all pre-existing errors filtered
sparse-check ⏭️ Skipped - no C/H file changes
check-uapi-headers ⏭️ Skipped - no UAPI changes
check-patch-compliance ❌ Missing required subject prefix
tag-check ❌ Missing required subject prefix (mandatory for non-qcom-next branches)

❌ checkpatch

Root cause: Commit contains Gerrit Change-Id and uses spaces instead of tabs for indentation in DTS file.

Failure details:

ERROR: Remove Gerrit Change-Id's before submitting upstream
#15: 
Change-Id: Ie7d3f44aec0667aca2ca9602ca773cb219b03fb7

ERROR: code indent should use tabs where possible
#28: FILE: arch/arm64/boot/dts/qcom/talos.dtsi:5189:
+                        dma-coherent;$

WARNING: please, no spaces at the start of a line
#28: FILE: arch/arm64/boot/dts/qcom/talos.dtsi:5189:
+                        dma-coherent;$

ERROR: code indent should use tabs where possible
#36: FILE: arch/arm64/boot/dts/qcom/talos.dtsi:5249:
+                        dma-coherent;$

WARNING: please, no spaces at the start of a line
#36: FILE: arch/arm64/boot/dts/qcom/talos.dtsi:5249:
+                        dma-coherent;$

550132d0cfc6dc2d2eaa8a62e5799fe7b97aa51d total: 3 errors, 2 warnings, 0 checks, 14 lines checked

Fix:

  1. Remove Gerrit Change-Id:

    git rebase -i f19f3cdab691   # mark commit as 'edit'
    git commit --amend
    # Remove the "Change-Id: Ie7d3f44aec0667aca2ca9602ca773cb219b03fb7" line
    git rebase --continue
  2. Fix indentation (replace spaces with tabs):

    # Edit arch/arm64/boot/dts/qcom/talos.dtsi:5189 and :5249
    # Replace leading spaces with tabs to match surrounding code
    # The lines should use tabs for indentation, not spaces
    sed -i 's/^                        dma-coherent;/\t\t\tdma-coherent;/' arch/arm64/boot/dts/qcom/talos.dtsi
    git add arch/arm64/boot/dts/qcom/talos.dtsi
    git commit --amend --no-edit

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git f19f3cdab691..550132d0cfc6

❌ check-patch-compliance

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

Failure details:

Checking commit: arm64: dts: qcom: talos: Mark USB controllers as dma-coherent
Commit summary does not start with a required prefix

Fix:

The commit subject must start with one of the required prefixes. Based on the commit message footer Upstream-Status: Pending, this patch has not been posted upstream yet. Choose the appropriate prefix:

  • If this patch will be posted to the upstream mailing list → use FROMLIST: (after posting)
  • If this is vendor-only and will not go upstream → use QCLINUX: (note: this will still fail check-patch-compliance, which is a known limitation)
  • If this is temporary until an upstream solution → use WORKAROUND:
git rebase -i f19f3cdab691   # mark commit as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: talos: Mark USB controllers as dma-coherent

Mark the USB30_PRIM (usb@a600000) and USB20_SEC (usb@a800000) DWC3
controllers on Talos as dma-coherent. Without this, USB DMA transfers
are incorrectly routed through the SWIOTLB bounce-buffer path causing
a synchronous external abort during USB hub enumeration on boot.

CRs-Fixed: 4664233
Upstream-Status: Pending
Signed-off-by: Jeff Thomas Pampackal <jthomasp@qti.qualcomm.com>"
git rebase --continue

Note: check-patch-compliance only accepts FROMLIST:, FROMGIT:, UPSTREAM:, and BACKPORT: prefixes. If you use QCLINUX: (vendor-only), this checker will continue to fail — this is a known limitation of the checker for vendor-specific commits.

Reproduce locally:

# The checker script is not publicly available, but the logic checks:
# 1. Subject starts with FROMLIST:/FROMGIT:/UPSTREAM:/BACKPORT:
# 2. If FROMLIST:/UPSTREAM:/BACKPORT:, a Link: trailer must be present

❌ tag-check

Root cause: Commit subject does not start with a required prefix tag. This check is mandatory for all branches except qcom-next and qcom-next-staging.

Failure details:

Commit 550132d0cfc6 ("arm64: dts: qcom: talos: Mark USB controllers as dma-coherent"): 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 the check-patch-compliance fix above — add an appropriate prefix to the commit subject. Based on the commit message indicating Upstream-Status: Pending, the most appropriate prefix is:

  • QCLINUX: if this is a vendor-only fix
  • PENDING: if this is work-in-progress
  • WORKAROUND: if this is a temporary fix
git rebase -i f19f3cdab691   # mark commit as 'edit'
git commit --amend -m "QCLINUX: arm64: dts: qcom: talos: Mark USB controllers as dma-coherent

[rest of commit message unchanged]"
git rebase --continue

Reproduce locally:

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

Verdict

3 blockers must be fixed before merge:

  1. checkpatch — Remove Gerrit Change-Id and fix indentation (use tabs instead of spaces)
  2. check-patch-compliance — Add required subject prefix (QCLINUX: recommended based on Upstream-Status: Pending)
  3. tag-check — Add required subject prefix (same fix as Adding Email Checker  #2)

Note: If you add the QCLINUX: prefix, check-patch-compliance will continue to fail because it only accepts upstream-linkable prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:). This is a known limitation of the checker for vendor-only commits. However, tag-check will pass with QCLINUX:.

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