Skip to content

FROMLIST: Fix iommu property for display, gpu and video#748

Open
naala-qcom wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
naala-qcom:shikra/iommu-fix
Open

FROMLIST: Fix iommu property for display, gpu and video#748
naala-qcom wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
naala-qcom:shikra/iommu-fix

Conversation

@naala-qcom

Copy link
Copy Markdown

Fix IOMMU DT propeties for GPU, display and video peripherals via
dropping SMMU stream IDs which relates to secure context bank.

This problem only surfaced when the Gunyah based firmware stack is
ported on Agatti replacing the legacy QHEE based firmware stack. Assigning
Linux kernel (HLOS) VMID to secure context bank stream IDs is treated
as a fault by Gunyah hypervisor which were previously ignored by QHEE
hypervisor.

The DT changes should be backwards compatible with legacy QHEE based
firmware stack too.

CRs-Fixed: 4579314

@naala-qcom naala-qcom requested review from a team, knaveen-qc, rrnayak and sgaud-quic June 21, 2026 13:21
@naala-qcom naala-qcom force-pushed the shikra/iommu-fix branch 2 times, most recently from 07a75ea to d493b43 Compare June 21, 2026 14:07
@qlijarvis

Copy link
Copy Markdown

PR #748 — validate-patch

PR: #748

Verdict Issues Detailed Report
3 Full report

Final Summary

  1. Lore link present: No — All 4 patches marked FROMGIT/BACKPORT but zero Link: tags provided (MANDATORY for these prefixes)

  2. Lore link matches PR commits: N/A — Cannot verify without lore links; patches may differ from upstream (patch 1/4 interaction suggests possible divergence)

  3. Upstream patch status: Unknown — Cannot check acceptance status without upstream references; FROMGIT/BACKPORT prefixes claim these are upstream but unverifiable

  4. PR present in qcom-next: Not checked — Validation blocked by missing Link: tags and commit message typos


Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #748 - Fix IOMMU DT properties for QCM2290 (4 patches)
Upstream commit: Cannot verify - no Link: tags provided
Verdict: ❌ FAIL


PATCH 1/4: dt-bindings: display: msm: qcm2290-mdss: Fix iommus property

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - no Link: tag
Body preserves rationale ⚠️ Typo: "propety" → "property"
Fixes tag present/correct N/A Not a fix commit
Authorship preserved Sumit Garg preserved
Backport note (if applicable) FROMGIT requires Link: tag

Diff

File Status Notes
Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml ⚠️ Changes maxItems 2→1, removes secure stream ID; removes ranges (fixed in patch 4)

Issues

  • CRITICAL: Missing Link: tag - FROMGIT prefix mandates upstream reference
  • Typo: "propety" should be "property" in commit body
  • Removes ranges; line which is later restored in patch 4 (suggests upstream may differ)

PATCH 2/4: dt-bindings: media: venus: Fix iommus property

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - no Link: tag
Body preserves rationale ⚠️ Typo: "propety" → "property"
Fixes tag present/correct N/A Not a fix commit
Authorship preserved Sumit Garg preserved
Backport note (if applicable) FROMGIT requires Link: tag

Diff

File Status Notes
Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml Changes maxItems 5→2, removes 3 secure stream IDs

Issues

  • CRITICAL: Missing Link: tag - FROMGIT prefix mandates upstream reference
  • Typo: "propety" should be "property" in commit body

PATCH 3/4: arm64: dts: qcom: agatti: Fix IOMMU DT properties

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - no Link: tag
Body preserves rationale ⚠️ Typo: "propeties" → "properties"
Fixes tag present/correct N/A Not a fix commit
Authorship preserved Sumit Garg preserved
Backport note (if applicable) BACKPORT requires Link: tag

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcm2290.dtsi Removes secure stream IDs from GPU, display, video

Issues

  • CRITICAL: Missing Link: tag - BACKPORT prefix mandates upstream reference
  • Typo: "propeties" should be "properties" in commit body
  • Cannot verify if backport required any adaptations without upstream reference

PATCH 4/4: dt-bindings: display/msm: qcm2290-mdss: Fix missing ranges in example

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - no Link: tag
Body preserves rationale Clear explanation of dt-schema validation error
Fixes tag present/correct ⚠️ References SHA 966a08c not in target tree
Authorship preserved Krzysztof Kozlowski preserved
Backport note (if applicable) FROMGIT requires Link: tag

Diff

File Status Notes
Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml Adds back ranges; removed in patch 1

Issues

  • CRITICAL: Missing Link: tag - FROMGIT prefix mandates upstream reference
  • CRITICAL: Fixes: tag references commit SHA 966a08c293cb which doesn't exist in target tree
  • This is a fixup for patch 1 - suggests patch 1 may not match upstream exactly

Cross-Patch Issues

  1. Patch dependency problem: Patch 4 fixes patch 1, but the Fixes: tag references an upstream SHA that won't exist in the target tree. This creates a broken reference.

  2. Inconsistent state: Patch 1 removes ranges; but patch 4 adds it back. This suggests:

    • Either patch 1 doesn't match upstream exactly, OR
    • These patches are being applied out of order relative to upstream
  3. Missing Link: tags: All 4 patches use FROMGIT/BACKPORT prefixes but provide zero upstream references, making verification impossible.


Verdict

❌ REJECT - Multiple critical issues prevent merge:

  1. All 4 patches missing mandatory Link: tags - FROMGIT/BACKPORT commits MUST include Link: https://lore.kernel.org/... pointing to the upstream commit
  2. Typos in 3 commit messages - "propety" (patches 1, 2) and "propeties" (patch 3) must be corrected to "property/properties"
  3. Broken Fixes: tag - Patch 4 references SHA 966a08c293cb that doesn't exist in target tree; should reference the actual SHA of patch 1 after it's merged, or be squashed into patch 1
  4. Cannot verify diff faithfulness - Without lore links, impossible to confirm these match upstream exactly

Final Summary

  1. Lore link present: No — All 4 patches marked FROMGIT/BACKPORT but zero Link: tags provided (MANDATORY for these prefixes)

  2. Lore link matches PR commits: N/A — Cannot verify without lore links; patches may differ from upstream (patch 1/4 interaction suggests possible divergence)

  3. Upstream patch status: Unknown — Cannot check acceptance status without upstream references; FROMGIT/BACKPORT prefixes claim these are upstream but unverifiable

  4. PR present in qcom-next: Not checked — Validation blocked by missing Link: tags and commit message typos


Required Actions Before Merge

  1. Add Link: https://lore.kernel.org/... tags to all 4 commits pointing to upstream
  2. Fix typos: "propety" → "property" (patches 1, 2), "propeties" → "properties" (patch 3)
  3. Resolve patch 1/4 dependency:
    • Option A: Squash patch 4 into patch 1 (if they're part of same upstream commit)
    • Option B: Update Fixes: tag in patch 4 to reference actual merged SHA of patch 1
    • Option C: Verify upstream order and apply in correct sequence
  4. Verify all diffs match upstream exactly (especially patch 1 ranges handling)

@qlijarvis

Copy link
Copy Markdown

PR #748 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 warning: Unknown commit ID in Fixes tag
dt-binding-check All binding checks passed
dtb-check All DTB checks passed
sparse-check ⏭️ Skipped (no C code changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance All 4 commits missing Link: tag
tag-check N/A Subject prefixes present (FROMGIT/BACKPORT)
qcom-next-check FROMGIT/BACKPORT commits only

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #748 - Fix IOMMU DT properties for QCM2290 (4 patches)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27906911482

Checker Result Summary
checkpatch 1 warning: Unknown commit ID in Fixes tag
dt-binding-check All binding checks passed
dtb-check All DTB checks passed
sparse-check ⏭️ Skipped (no C code changes)
check-uapi-headers ⏭️ Skipped (no UAPI changes)
check-patch-compliance All 4 commits missing Link: tag
tag-check N/A Subject prefixes present (FROMGIT/BACKPORT)
qcom-next-check FROMGIT/BACKPORT commits only

❌ checkpatch

Root cause: Commit 4/4 references a Fixes tag with commit ID 966a08c293cb that doesn't exist in the current kernel tree.

Failure details:

WARNING: Unknown commit id '966a08c293cb', maybe rebased or not pulled?
#12: 
Fixes: 966a08c293cb ("dt-bindings: display: msm: qcm2290-mdss: Fix iommus property")

d493b43723bb036a0f5829cb096171231c0fe199 total: 0 errors, 1 warnings, 0 checks, 7 lines checked

Fix:

The Fixes tag references commit 966a08c293cb which is actually commit 1/4 in this PR (5c02d5be1183). This is expected behavior for FROMGIT commits that reference other FROMGIT commits in the same series. The warning occurs because:

  1. Commit 4/4 was authored by Krzysztof Kozlowski and fixes an issue introduced by commit 1/4 (authored by Sumit Garg)
  2. Both commits are being upstreamed together in this PR
  3. The Fixes tag uses the upstream commit ID, not the local PR commit ID

Resolution: This is a false positive that can be safely ignored. The Fixes tag is correct for upstream but doesn't resolve locally because the referenced commit is part of the same PR. Once both commits are merged upstream, the Fixes tag will resolve correctly.

Reproduce locally:

./scripts/checkpatch.pl --strict --summary-file --ignore FILE_PATH_CHANGES --git acc3e66cc378aad978ae96675a4768037b3386b3..d493b43723bb036a0f5829cb096171231c0fe199

❌ check-patch-compliance

Root cause: All 4 commits are missing the mandatory Link: tag pointing to the upstream lore.kernel.org patch.

Failure details:

Checking commit: FROMGIT: dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
No 'Link' found in commit message

Checking commit: FROMGIT: dt-bindings: media: venus: Fix iommus property
No 'Link' found in commit message

Checking commit: BACKPORT: arm64: dts: qcom: agatti: Fix IOMMU DT properties
No 'Link' found in commit message

Checking commit: FROMGIT: dt-bindings: display/msm: qcm2290-mdss: Fix missing ranges in example
No 'Link' found in commit message

Fix:

Add a Link: tag to each commit message pointing to the upstream patch on lore.kernel.org. The Link tag should be placed after all other tags (Signed-off-by, Reviewed-by, etc.) and before the --- separator.

For FROMGIT commits, the Link should point to the accepted patch in the maintainer's tree or the lore archive. For BACKPORT commits, the Link should point to the upstream commit in mainline.

Example format:

Signed-off-by: Author Name <author@example.com>
Reviewed-by: Reviewer Name <reviewer@example.com>
Link: https://lore.kernel.org/r/message-id@domain.com

Reproduce locally:

bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . \
  --base acc3e66cc378aad978ae96675a4768037b3386b3 --head d493b43723bb036a0f5829cb096171231c0fe199

Verdict

2 blockers to fix:

  1. BLOCKER: Add Link: tags to all 4 commits pointing to upstream lore.kernel.org patches
  2. Non-blocking: checkpatch warning about unknown commit ID is a false positive (Fixes tag references another commit in the same PR series)

The PR cannot be merged until the Link tags are added. The checkpatch warning can be safely ignored as it's expected behavior for FROMGIT commits that reference other commits in the same upstream series.

b49020 and others added 4 commits June 21, 2026 20:21
Fix IOMMU DT propety for display via dropping SMMU stream IDs which
relates to secure context bank. Assigning Linux kernel (HLOS) VMID
to secure context bank stream IDs is incorrect. The maximum value
for iommus property is updated accordingly.

These DT bindings changes should be backwards compatible.

Link: https://lore.kernel.org/all/20260122121042.579270-2-sumit.garg@kernel.org/
Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Fix IOMMU DT propety for venus via dropping SMMU stream IDs which
relates to secure context bank. Assigning Linux kernel (HLOS) VMID
to secure context bank stream IDs is incorrect. The maximum value
for iommus property is updated accordingly.

These DT bindings changes should be backwards compatible.

Link: https://lore.kernel.org/all/20260122121042.579270-3-sumit.garg@kernel.org/
Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Fix IOMMU DT propeties for GPU, display and video peripherals via
dropping SMMU stream IDs which relates to secure context bank.

This problem only surfaced when the Gunyah based firmware stack is
ported on Agatti replacing the legacy QHEE based firmware stack. Assigning
Linux kernel (HLOS) VMID to secure context bank stream IDs is treated
as a fault by Gunyah hypervisor which were previously ignored by QHEE
hypervisor.

The DT changes should be backwards compatible with legacy QHEE based
firmware stack too.

Link: https://lore.kernel.org/all/20260122121042.579270-4-sumit.garg@kernel.org/
Suggested-by: Prakash Gupta <guptap@qti.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
…n example

Device node has children with MMIO addressing, so must have ranges:

msm/qcom,qcm2290-mdss.example.dtb: display-subsystem@5e00000
(qcom,qcm2290-mdss): 'ranges' is a required property

Link: https://lore.kernel.org/all/20260325122209.147128-2-krzysztof.kozlowski@oss.qualcomm.com/
Fixes: 966a08c ("dt-bindings: display: msm: qcm2290-mdss: Fix iommus property")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
@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 ◻️ ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
WiFi_Firmware_Driver ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
WiFi_OnOff ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
gpdsp_remoteproc ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ◻️ ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
smmu ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

@quic-ksanadhy

Copy link
Copy Markdown

LGTM.

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.

9 participants