Skip to content

WORKAROUND: arm64: dts: qcom: Add PCIe IOMMU mappings in Monaco and Lemans staging dtso#808

Open
Hariharan Sreedhar (hariharan-sree) wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
hariharan-sree:iommu-map-lemans-monaco-staging
Open

WORKAROUND: arm64: dts: qcom: Add PCIe IOMMU mappings in Monaco and Lemans staging dtso#808
Hariharan Sreedhar (hariharan-sree) wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
hariharan-sree:iommu-map-lemans-monaco-staging

Conversation

@hariharan-sree

Copy link
Copy Markdown

Add iommu-map entries to the Monaco PCIe staging DTSO file to enable SMMUv2 translation for PCIe devices

…ing dtso

Add the iommu-map entries to the Monaco PCIe staging DTSO file
to support SMMUv2.

Signed-off-by: Hariharan Sreedhar <hsreedha@qti.qualcomm.com>
…ing dtso

Add the iommu-map entries to the Lemans staging DTSO file to support SMMUv2.

Signed-off-by: Hariharan Sreedhar <hsreedha@qti.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 #808 — validate-patch

PR: #808

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: No — WORKAROUND: 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 workaround, not posted upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commits
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #808 — Add PCIe IOMMU mappings for Monaco and Lemans staging DTSOs
Upstream commit: N/A (WORKAROUND: vendor-only commits)
Verdict: ⚠️ PARTIAL — Vendor-only commits with formatting issues


Commit 1: WORKAROUND: arm64: dts: qcom: monaco: add PCIe IOMMU mappings in staging dtso

Commit Message

Check Status Note
Subject matches upstream N/A WORKAROUND: prefix — no upstream equivalent
Body preserves rationale Brief but adequate for vendor workaround
Fixes tag present/correct N/A Not a fix; new functionality
Authorship preserved Signed-off-by present
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/monaco-staging.dtso ⚠️ Formatting inconsistencies and missing newline at EOF

Commit 2: WORKAROUND: arm64: dts: qcom: lemans: add PCIe IOMMU mappings in staging dtso

Commit Message

Check Status Note
Subject matches upstream N/A WORKAROUND: prefix — no upstream equivalent
Body preserves rationale Brief but adequate for vendor workaround
Fixes tag present/correct N/A Not a fix; new functionality
Authorship preserved Signed-off-by present
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/lemans-staging.dtso ⚠️ Formatting inconsistencies and missing newline at EOF

Issues

Formatting inconsistencies in both commits:

  1. Inconsistent indentation in &pcie1 block:

    • Line 1 of iommu-map property uses 4 spaces: + iommu-map =<0x0 ...
    • Subsequent lines use tabs: +^I^I^I<0x100 ...
    • The &pcie0 block correctly uses tabs throughout
    • Fix: Replace leading spaces with a tab on the first iommu-map line in &pcie1
  2. Missing space after = operator in &pcie1 block:

    • iommu-map =<0x0 should be iommu-map = <0x0
    • The &pcie0 block has correct spacing: iommu-map = <0x0
    • Fix: Add space between = and <
  3. Missing newline at end of file:

    • Both monaco-staging.dtso and lemans-staging.dtso end without a newline
    • Linux kernel coding style requires a newline at EOF
    • Fix: Add newline after the final }; in both files

Example of correct formatting (from &pcie0 block):

+&pcie1 {
+	iommu-map = <0x0 &pcie_smmu 0x80 0x1>,
+			<0x100 &pcie_smmu 0x81 0x1>,

Verdict

PARTIAL — These are vendor-only workarounds (not intended for upstream) with correct commit message structure and appropriate WORKAROUND: prefix. However, the patches contain DTS formatting inconsistencies that should be fixed:

  • Inconsistent indentation (spaces vs tabs) in &pcie1 blocks
  • Missing space after = operator in &pcie1 property assignment
  • Missing newline at end of both files

Recommendation: Fix the formatting issues before merging. The functional content is appropriate for a vendor workaround, but the style should match the rest of the file and kernel DTS conventions.


Final Summary

  1. Lore link present: No — WORKAROUND: 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 workaround, not posted upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commits

@qlijarvis

Copy link
Copy Markdown

PR #808 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 1 warning on commit 3c77297
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Both commits fail prefix check
tag-check Both commits have valid WORKAROUND: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #808 - Add PCIe IOMMU mappings for Monaco and Lemans
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28769115940
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch ⚠️ 1 warning on commit 3c77297
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check Passed
sparse-check ⏭️ Skipped (no C/H changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance Both commits fail prefix check
tag-check Both commits have valid WORKAROUND: prefix

⚠️ checkpatch

Root cause: Commit message body line exceeds 75 characters (line wrapping issue).

Failure details:

Commit 3c772976ddaf ("WORKAROUND: arm64: dts: qcom: lemans: add PCIe IOMMU mappings in staging dtso")
WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#7: 
Add the iommu-map entries to the Lemans staging DTSO file to support SMMUv2.

3c772976ddaf49c49bd846ebe2ec84c582cc23b4 total: 0 errors, 1 warnings, 0 checks, 49 lines checked

Fix: Wrap the commit body line at 75 characters:

git rebase -i a1690589c9de   # mark commit 3c772976ddaf as 'edit'
git commit --amend
# Edit the commit message to wrap the line:
# "Add the iommu-map entries to the Lemans staging DTSO file to
# support SMMUv2."
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git a1690589c9de..3c772976ddaf

❌ check-patch-compliance

Root cause: WORKAROUND: prefix is not in the allowed list for check-patch-compliance.

Failure details:

Checking commit: WORKAROUND: arm64: dts: qcom: monaco: add PCIe IOMMU mappings in staging dtso
Commit summary does not start with a required prefix

Checking commit: WORKAROUND: arm64: dts: qcom: lemans: add PCIe IOMMU mappings in staging dtso
Commit summary does not start with a required prefix

Analysis:

The check-patch-compliance checker only accepts these prefixes:

  • FROMLIST: (posted to mailing list)
  • FROMGIT: (from maintainer tree)
  • UPSTREAM: (merged into mainline)
  • BACKPORT: (backported with modifications)

The WORKAROUND: prefix is not in this list, which is why the checker fails. However, WORKAROUND: is a valid prefix for the mandatory tag-check (see below).

This is a known limitation of the check-patch-compliance checker — it does not recognize vendor-internal prefixes like WORKAROUND:, QCLINUX:, or PENDING:. These commits will always fail this checker even though they are valid for the target branch.

Options:

  1. Accept the failure — This is expected behavior for WORKAROUND: commits. The tag-check passes (see below), which confirms the prefix is valid for qcom-6.18.y.

  2. Add Link: tags — If these workarounds are based on upstream discussions or patches, add Link: tags pointing to the relevant lore.kernel.org threads. This won't fix the prefix issue but provides traceability.

  3. Change to QCLINUX: — If these are vendor-only changes with no upstream equivalent, QCLINUX: is semantically more accurate, but it will still fail check-patch-compliance for the same reason.

Recommendation: Accept this failure as expected for WORKAROUND: commits targeting qcom-6.18.y.


✅ tag-check (mandatory for qcom-6.18.y)

Status: PASS

Analysis:

Since the target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), every commit must start with a valid prefix tag.

Both commits use the WORKAROUND: prefix:

  • Commit 2e3cf50: WORKAROUND: arm64: dts: qcom: monaco: add PCIe IOMMU mappings in staging dtso
  • Commit 3c77297: WORKAROUND: arm64: dts: qcom: lemans: add PCIe IOMMU mappings in staging dtso

WORKAROUND: is a valid prefix for branches other than qcom-next/qcom-next-staging, indicating a temporary fix not suitable for upstream submission.

Verdict: ✅ Both commits comply with the mandatory subject-line prefix requirement.


Verdict

1 non-blocking issue to fix before merge:

  • checkpatch warning on commit 3c77297 — wrap the commit body line at 75 characters.

2 expected failures (no action needed):

  • check-patch-compliance failures are expected for WORKAROUND: commits — this is a known checker limitation for vendor-internal prefixes. The commits are valid for qcom-6.18.y as confirmed by the passing tag-check.

Summary: Fix the commit message line wrapping issue, then the PR is ready to merge. The check-patch-compliance failures can be ignored as they are inherent to the WORKAROUND: prefix.

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