Skip to content

Audio ml support for lemans - #2162

Open
qti-sbojja wants to merge 2 commits into
qualcomm-linux:tech/all/dt/qcs9100from
qti-sbojja:audio-ML-L
Open

qti-sbojja wants to merge 2 commits into
qualcomm-linux:tech/all/dt/qcs9100from
qti-sbojja:audio-ML-L

Conversation

@qti-sbojja

@qti-sbojja qti-sbojja commented Oct 30, 2026 •

Copy link
Copy Markdown

The audio ML (machine-learning) offload use case requires a contiguous,
physically addressable buffer shared with the audio DSP/SPF, and issues
DMA transactions through additional SMMU stream IDs that are not
covered by the existing ADSP mapping.

Add a dedicated reusable shared-dma-pool CMA region (16 MiB, 4 MiB
aligned) and wire it to the q6apm DAIs node via memory-region. A
dedicated pool guarantees the alignment and contiguity the DSP expects
and isolates these allocations from the default CMA region.

Under the EL2 (Gunyah/hypervisor) configuration the SMMU is fully
enforcing, so the ML transactions are otherwise blocked and faulted:

arm-smmu 15000000.iommu: Blocked unknown Stream ID 0x3060
arm-smmu 15000000.iommu: Blocked unknown Stream ID 0x3062

Add the ML-related stream IDs (0x3060 mask 0x9, 0x3062 mask 0x1) to the
remoteproc_adsp iommus property in the EL2 overlay so these buffers are
translated by the SMMU instead of being rejected.

CRs-Fixed: 4727557
JIRA: https://jira-dc.qualcomm.com/jira/browse/QLIJIRA-210

@qcomlnxci
qcomlnxci requested review from a team, knaveen-qc, Mukesh Ojha (mukeshojha-linux) and Ricardo Salveti (ricardosalveti) and removed request for a team October 30, 2026 05:25
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2162

PR: #2162
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/41008314757

# Error File:Line PR-introduced? Root Cause
1 Merge conflict Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml No (integration issue) The PR modifies the iommus property constraints in qcom,pas-common.yaml, but the base branch tech/all/dt/qcs9100 contains conflicting changes to the same section of this file. Git cannot automatically merge these changes.

Verdict

This is not a compilation error but a merge conflict during PR integration. The PR cannot be merged into the base branch without manual conflict resolution.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2162

PR: #2162
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/41008314757

# Error File:Line PR-introduced? Root Cause
1 Merge conflict Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml Yes PR modifies the iommus property constraints (changing from maxItems: 1 to minItems: 1, maxItems: 4), which conflicts with changes already present in the base branch tech/all/dt/qcs9100

Verdict

This is a merge conflict, not a compilation error. The PR cannot be merged into the base branch tech/all/dt/qcs9100 because both the PR and the base branch have modified the same section of qcom,pas-common.yaml. The build never reached the compilation stage.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #2162 — validate-patch

PR: #2162

Verdict Issues Detailed Report
❌ 0 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260717095825.3962666-2-pratyush.meduri@oss.qualcomm.com/ (patch 1) and https://lore.kernel.org/all/20260717095825.3962666-3-pratyush.meduri@oss.qualcomm.com/ (patch 2)
  2. Lore link matches PR commits: No — PR patch 1/2 has maxItems: 4 but lore has maxItems: 3; PR omits Monaco changes from the 3-patch lore series
  3. Upstream patch status: ❌ NACKed — Krzysztof Kozlowski (devicetree maintainer) rejected both patches on 2026-07-17 with explicit "NAK" and "DO NOT SEND downstream code. EVER." Author acknowledged and committed to addressing feedback in next revision.
  4. PR present in qcom-next/topics: Partial - 1/2 commit(s) only have partial integration evidence
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #2162 - "FROMLIST: dt-bindings: remoteproc: qcom,pas-common: allow up to 4 iommus" + "FROMLIST: arm64: dts: qcom: lemans: enable audio ML offload memory and SMMU mappings"
Upstream commit: https://lore.kernel.org/all/20260717095825.3962666-2-pratyush.meduri@oss.qualcomm.com/ (patch 1/2) and https://lore.kernel.org/all/20260717095825.3962666-3-pratyush.meduri@oss.qualcomm.com/ (patch 2/2)
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream ⚠️ PR says "allow up to 4 iommus" but lore says "allow up to 3 iommus"
Body preserves rationale ✅ Key rationale preserved
Fixes tag present/correct N/A No Fixes tag in upstream or PR
Authorship preserved ✅ From: matches lore author (FROMLIST: submitter may differ, but here they match)
Backport note (if applicable) N/A FROMLIST prefix used correctly

Diff

File Status Notes
Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml ❌ CRITICAL: PR has maxItems: 4 but lore upstream has maxItems: 3 — semantic change not faithful to upstream
arch/arm64/boot/dts/qcom/lemans-el2.dtso ✅ Identical to lore patch
arch/arm64/boot/dts/qcom/lemans.dtsi ✅ Identical to lore patch

Issues

  1. Patch 1/2 — Semantic divergence in binding constraint: The PR changes maxItems: 4 but the lore upstream patch (v2 1/3) specifies maxItems: 3. This is a semantic change that alters the binding schema beyond what was posted upstream. The commit message also incorrectly states "allow up to 4 entries" when the lore patch says "allow between 1 and 3 entries."

  2. Patch 2/2 — Missing Monaco changes: The lore series is a 3-patch series (v2 0/3) that includes changes for both Lemans and Monaco. The PR only includes the Lemans changes (patch 2/3 from lore) but omits the Monaco changes (patch 3/3 from lore). This creates an incomplete backport of the series.

  3. Upstream patch status — NACKed by maintainer: Both lore patches were explicitly rejected by Krzysztof Kozlowski (devicetree maintainer) with "NAK. You ignore feedback and keep sending us downstream junk directly. DO NOT SEND downstream code. EVER." and "NAK, you keep ignoring us." The author acknowledged the mistake and committed to addressing review comments in a future revision. These patches should not be merged until a revised, accepted version is posted upstream.

Verdict

Do not merge. The PR contains a semantic change (maxItems: 4 vs 3) that diverges from the lore upstream, omits part of the series (Monaco changes), and the upstream patches have been explicitly NACKed by the devicetree maintainer. Wait for the author to post a revised series that addresses maintainer feedback and is accepted upstream before considering this for integration.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260717095825.3962666-2-pratyush.meduri@oss.qualcomm.com/ (patch 1) and https://lore.kernel.org/all/20260717095825.3962666-3-pratyush.meduri@oss.qualcomm.com/ (patch 2)
  2. Lore link matches PR commits: No — PR patch 1/2 has maxItems: 4 but lore has maxItems: 3; PR omits Monaco changes from the 3-patch lore series
  3. Upstream patch status: ❌ NACKed — Krzysztof Kozlowski (devicetree maintainer) rejected both patches on 2026-07-17 with explicit "NAK" and "DO NOT SEND downstream code. EVER." Author acknowledged and committed to addressing feedback in next revision.
  4. PR present in qcom-next/topics: Partial — per integration_presence_report.md: commit 1/2 has only partial evidence in qcom-next/topics; commit 2/2 is present in qcom-next as eb82882ba4432ec8c01276793de8a14838bbca50

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/2 [PATCH 1/2] FROMLIST: dt-bindings: remoteproc: qcom,pas-common: allow partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
2/2 [PATCH 2/2] FROMLIST: arm64: dts: qcom: lemans: enable audio ML present - exact patch-id match at eb82882 skipped - not checked because qcom-next already contains the change present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #2162 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - merge conflict prevented execution
dt-binding-check ⏭️ Skipped - merge conflict prevented execution
dtb-check ⏭️ Skipped - merge conflict prevented execution
sparse-check ⏭️ Skipped - merge conflict prevented execution
check-uapi-headers ⏭️ Skipped - merge conflict prevented execution
check-patch-compliance ⏭️ Skipped - merge conflict prevented execution
tag-check ✅ Both commits have proper FROMLIST: prefix
qcom-next-check N/A Cannot determine - merge conflict blocks analysis

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #2162 - FROMLIST: dt-bindings and DTS changes for audio ML offload on lemans
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/41008314965

Checker Result Summary
checkpatch ⏭️ Skipped - merge conflict prevented execution
dt-binding-check ⏭️ Skipped - merge conflict prevented execution
dtb-check ⏭️ Skipped - merge conflict prevented execution
sparse-check ⏭️ Skipped - merge conflict prevented execution
check-uapi-headers ⏭️ Skipped - merge conflict prevented execution
check-patch-compliance ⏭️ Skipped - merge conflict prevented execution
tag-check ✅ Both commits have proper FROMLIST: prefix
qcom-next-check N/A Cannot determine - merge conflict blocks analysis

❌ CI Infrastructure — Merge Conflict

Root cause: The PR cannot be merged into the integration branch due to a content conflict in Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml.

Failure details:

Merging topic branch: topic/tech/all/dt/qcs9100
Auto-merging Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
Auto-merging arch/arm64/boot/dts/qcom/lemans.dtsi
Automatic merge failed; fix conflicts and then commit the result.
Merge failed or conflicts detected. Aborting merge.
##[error]Process completed with exit code 3.

Analysis:

The CI workflow attempts to validate PRs by:

  1. Creating an integration branch based on baseline commit c7896917e523946138ce654d4b6c1e33d5a8f4e5
  2. Merging topic branch topic/tech/all/dt/qcs9100
  3. Merging the PR commits

The merge fails at step 3 because both the topic branch and PR #2162 modify the same section of qcom,pas-common.yaml (the iommus property constraint).

PR changes:

  • Commit 1: Changes iommus: maxItems: 1 to minItems: 1, maxItems: 4 in qcom,pas-common.yaml
  • Commit 2: Adds audio ML memory region and SMMU mappings to lemans.dtsi and lemans-el2.dtso

Likely conflict cause:
The topic branch topic/tech/all/dt/qcs9100 likely also modifies the iommus property in qcom,pas-common.yaml, creating a three-way merge conflict that git cannot auto-resolve.

Fix options:

Option 1: Rebase PR on latest integration branch (Recommended)

# Fetch the latest topic branch
git fetch origin topic/tech/all/dt/qcs9100

# Rebase PR branch on top of it
git rebase origin/topic/tech/all/dt/qcs9100

# Resolve conflicts manually:
# - Open Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
# - Examine conflict markers (<<<<<<, ======, >>>>>>)
# - Determine the correct maxItems value (likely 4 to accommodate both changes)
# - Stage resolved file: git add Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
# - Continue rebase: git rebase --continue

# Force-push rebased branch
git push --force-with-lease

Option 2: Coordinate with topic branch maintainer

Contact the maintainer of topic/tech/all/dt/qcs9100 to:

  • Understand what iommus constraint they need
  • Agree on a unified maxItems value that satisfies both use cases
  • Either merge this PR first, or update the topic branch to be compatible

Option 3: Wait for topic branch to merge

If topic/tech/all/dt/qcs9100 is close to being merged into the baseline, wait for it to land, then rebase this PR on the updated baseline.

Reproduce locally:

# Clone and setup
git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics
git checkout c7896917e523946138ce654d4b6c1e33d5a8f4e5
git checkout -b test-merge

# Merge topic branch
git fetch origin topic/tech/all/dt/qcs9100
git merge origin/topic/tech/all/dt/qcs9100

# Fetch and merge PR
git fetch origin pull/2162/head:pr-2162
git merge --no-commit pr-2162

# Conflict will appear - examine it
git status
cat Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml

✅ tag-check

Status: PASS

Both commits in the PR have proper subject-line prefixes:

  1. FROMLIST: dt-bindings: remoteproc: qcom,pas-common: allow up to 4 iommus
  2. FROMLIST: arm64: dts: qcom: lemans: enable audio ML offload memory and SMMU mappings

Both commits also include proper Link: tags pointing to lore.kernel.org:

Verdict

Cannot merge - merge conflict must be resolved first.

The PR commits themselves appear well-formed with proper FROMLIST: prefixes and upstream links. However, no quality checks could run because the CI workflow failed during the merge preparation stage.

Required action: Resolve the merge conflict in Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml by rebasing on the integration branch or coordinating with the topic/tech/all/dt/qcs9100 maintainer.

Once the conflict is resolved and CI re-runs successfully, the individual checker results (checkpatch, dt-binding-check, dtb-check, sparse-check, check-uapi-headers, check-patch-compliance) can be evaluated.

The ADSP PAS on several Qualcomm SoCs (e.g. SA8775P/lemans, QCS8300,
Monaco) needs more than a single SMMU stream ID for the audio ML
(machine-learning) offload use case. In addition to the primary
ADSP stream ID, the DSP/SPF issues DMA transactions through extra
stream IDs that are not covered by the existing single-entry mapping.

Relax the iommus constraint to allow between 1 and 4 entries so the
additional ML offload stream IDs can be described, fixing dtb_check
schema violations on device trees that add them.

Signed-off-by: Sairamreddy Bojja <sbojja@qti.qualcomm.com>
… SMMU mappings

The audio ML (machine-learning) offload use case requires a contiguous,
physically addressable buffer shared with the audio DSP/SPF, and issues
DMA transactions through additional SMMU stream IDs that are not
covered by the existing ADSP mapping.

Add a dedicated reusable shared-dma-pool CMA region (16 MiB, 4 MiB
aligned) and wire it to the q6apm DAIs node via memory-region. A
dedicated pool guarantees the alignment and contiguity the DSP expects
and isolates these allocations from the default CMA region.

Under the EL2 (Gunyah/hypervisor) configuration the SMMU is fully
enforcing, so the ML transactions are otherwise blocked and faulted:

 arm-smmu 15000000.iommu: Blocked unknown Stream ID 0x3060
 arm-smmu 15000000.iommu: Blocked unknown Stream ID 0x3062

Add the ML-related stream IDs (0x3060 mask 0x9, 0x3062 mask 0x1) to the
remoteproc_adsp iommus property in the EL2 overlay so these buffers are
translated by the SMMU instead of being rejected.

Signed-off-by: Sairamreddy Bojja <sbojja@qti.qualcomm.com>
@qcomlnxci
qcomlnxci requested a review from a team October 30, 2026 07:13
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2162

PR: #2162
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/41018723841

# Error File:Line PR-introduced? Root Cause
1 Merge conflict Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml Yes PR modifies iommus property (changing maxItems: 1 to minItems: 1, maxItems: 4) which conflicts with changes already merged from topic branch tech/bsp/remoteproc-7.3-rc1-20261024 during automerge

Verdict

The build failure is caused by a merge conflict introduced when integrating this PR with the already-merged topic branches. This is a PR-introduced integration issue, not a pre-existing problem. No compilation errors were found — the build never reached the compilation stage due to the unresolved merge conflict.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2162

PR: #2162
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/41018723841

# Error File:Line PR-introduced? Root Cause
1 Merge conflict during integration Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml No The qcom-next integration branch contains conflicting changes to the same iommus property that this PR modifies. The conflict occurs during the automerge step before compilation begins.

Verdict

This is not a compilation failure. The build failed during the integration/merge phase due to a pre-existing conflict in the qcom-next integration branch. The PR's changes are not at fault — the integration branch has diverged and contains conflicting modifications to the same binding file.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #2162 — validate-patch

PR: #2162

Verdict Issues Detailed Report
⚠️ 6 Full report

Final Summary

  1. Lore link present: No — PENDING: prefix; no lore link expected or required for work-in-progress commits
  2. Lore link matches PR commits: N/A — no lore link to compare against (PENDING commits are not posted upstream)
  3. Upstream patch status: N/A — PENDING: commits are work-in-progress, not posted to mailing lists
  4. PR present in qcom-next/topics: Partial - 1/2 commit(s) only have partial integration evidence
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #2162 - PENDING: dt-bindings and lemans audio ML offload support
Upstream commit: N/A (PENDING: prefix - work-in-progress, not yet posted upstream)
Verdict: ⚠️ N/A - PENDING commits

Commit Message

Commit 1/2: PENDING: dt-bindings: remoteproc: qcom,pas-common: allow up to 4 iommus

Check Status Note
Subject matches upstream N/A PENDING: prefix - no upstream source to compare
Body preserves rationale ✅ Clear technical rationale for relaxing iommus constraint
Fixes tag present/correct N/A Not a fix; new feature enablement
Authorship preserved ✅ Signed-off-by: Sairamreddy Bojja present
Backport note (if applicable) N/A Not a backport

Commit 2/2: PENDING: arm64: dts: qcom: lemans: enable audio ML offload memory and SMMU mappings

Check Status Note
Subject matches upstream N/A PENDING: prefix - no upstream source to compare
Body preserves rationale ✅ Detailed explanation of ML offload requirements, CMA region, and SMMU stream IDs
Fixes tag present/correct N/A Not a fix; new feature enablement
Authorship preserved ✅ Signed-off-by: Sairamreddy Bojja present
Backport note (if applicable) N/A Not a backport

Diff

Commit 1/2:

File Status Notes
Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml ✅ Relaxes iommus from maxItems: 1 to minItems: 1, maxItems: 4

Commit 2/2:

File Status Notes
arch/arm64/boot/dts/qcom/lemans-el2.dtso ✅ Adds ML offload SMMU stream IDs (0x3060, 0x3062) to remoteproc_adsp
arch/arm64/boot/dts/qcom/lemans.dtsi ✅ Adds audio_cma_mem shared-dma-pool (16 MiB) and wires to q6apmdai

Issues

Commit 1/2 - Integration Presence:

  • ⚠️ Partial integration evidence - The integration_presence_report.md shows "partial - subject or partial tree evidence found, but full change was not verified" in both qcom-next and topics. This suggests the commit may exist in a modified form or the detection was inconclusive.

Commit 2/2 - Integration Presence:

  • ✅ Present in qcom-next - Exact patch-id match at eb82882ba4432ec8c01276793de8a14838bbca50

General Observations:

  • Both commits use PENDING: prefix correctly for work-in-progress changes not yet posted upstream
  • Commit messages are well-structured with clear technical rationale
  • The changes are logically related: commit 1/2 relaxes the binding constraint, commit 2/2 uses the relaxed constraint
  • No lore.kernel.org links present, which is expected and correct for PENDING: commits

Verdict

For PENDING commits: These commits are correctly marked as work-in-progress and not yet posted upstream. The PENDING: prefix is appropriate. No lore validation is applicable.

Integration status concern: Commit 1/2 shows only partial integration evidence. This may indicate:

  1. The commit exists in qcom-next/topics but with modifications
  2. The detection mechanism found similar but not identical changes
  3. The commit is genuinely missing from integration branches

Recommendation: The commits are technically sound and well-documented. However, investigate why commit 1/2 shows only "partial" integration evidence before merging. If this is a new change not yet in qcom-next, ensure it follows the proper integration workflow.

Final Summary

  1. Lore link present: No — PENDING: prefix; no lore link expected or required for work-in-progress commits
  2. Lore link matches PR commits: N/A — no lore link to compare against (PENDING commits are not posted upstream)
  3. Upstream patch status: N/A — PENDING: commits are work-in-progress, not posted to mailing lists
  4. PR present in qcom-next/topics: Partial — commit 2/2 present in qcom-next (eb82882ba4432ec8c01276793de8a14838bbca50); commit 1/2 shows only partial integration evidence in 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: c7896917e523946138ce654d4b6c1e33d5a8f4e5
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/2 [PATCH 1/2] PENDING: dt-bindings: remoteproc: qcom,pas-common: allow partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
2/2 [PATCH 2/2] PENDING: arm64: dts: qcom: lemans: enable audio ML present - exact patch-id match at eb82882 skipped - not checked because qcom-next already contains the change present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #2162 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Merge conflict prevented execution
dt-binding-check ⏭️ Merge conflict prevented execution
dtb-check ⏭️ Merge conflict prevented execution
sparse-check ⏭️ Merge conflict prevented execution
check-uapi-headers ⏭️ Merge conflict prevented execution
check-patch-compliance ⏭️ Merge conflict prevented execution
tag-check ❌ Both commits use PENDING: prefix
qcom-next-check N/A Cannot determine target branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #2162 - PENDING: dt-bindings: remoteproc: qcom,pas-common: allow up to 4 iommus
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/41018724441

Checker Result Summary
checkpatch ⏭️ Merge conflict prevented execution
dt-binding-check ⏭️ Merge conflict prevented execution
dtb-check ⏭️ Merge conflict prevented execution
sparse-check ⏭️ Merge conflict prevented execution
check-uapi-headers ⏭️ Merge conflict prevented execution
check-patch-compliance ⏭️ Merge conflict prevented execution
tag-check ❌ Both commits use PENDING: prefix
qcom-next-check N/A Cannot determine target branch

❌ CI Infrastructure — Merge Conflict

Root cause: The PR conflicts with topic/tech/all/dt/qcs9100 when merging into the integration branch.

Failure details:

Merging topic branch: topic/tech/all/dt/qcs9100
Done, merged 1 topic(s).
Fetching PR #2162 from https://github.com/qualcomm-linux/kernel-topics.git...
Merging pr-2162 (no-commit)...
Auto-merging Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
Auto-merging arch/arm64/boot/dts/qcom/lemans.dtsi
Automatic merge failed; fix conflicts and then commit the result.
Merge failed or conflicts detected. Aborting merge.
##[error]Process completed with exit code 3.

Analysis:
All six kernel checkers (checkpatch, dt-binding-check, dtb-check, sparse-check, check-uapi-headers, check-patch-compliance) failed at the merge stage before they could execute. The conflict is in Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml, which is modified by both:

  • This PR (changing iommus from maxItems: 1 to minItems: 1 / maxItems: 4)
  • The topic/tech/all/dt/qcs9100 topic branch (likely also modifying the same binding)

Fix:
Rebase the PR on top of the current integration branch (which includes topic/tech/all/dt/qcs9100) and resolve the conflict in qcom,pas-common.yaml:

# Fetch the latest integration state
git fetch origin topic/tech/all/dt/qcs9100

# Rebase your branch
git rebase origin/topic/tech/all/dt/qcs9100

# Resolve the conflict in Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
# Ensure both changes are preserved if they're compatible, or adjust as needed

git add Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
git rebase --continue

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics
git fetch origin pull/2162/head:pr-2162
git checkout -b test-merge origin/topic/tech/all/dt/qcs9100
git merge --no-commit pr-2162
# Conflict will appear in qcom,pas-common.yaml

❌ tag-check — Subject Prefix

Root cause: Both commits use the PENDING: prefix, which is not accepted by check-patch-compliance.

Failure details:

Commit f7275dcc ("PENDING: dt-bindings: remoteproc: qcom,pas-common: allow up to 4 iommus")
Commit 926e65e3 ("PENDING: arm64: dts: qcom: lemans: enable audio ML offload memory and SMMU mappings")

Analysis:
The PENDING: prefix indicates work-in-progress patches that have not been posted upstream. According to the skill reference documentation (Section 7 and 11 of log-patterns.md), PENDING: is not in the allowed list for check-patch-compliance, which only accepts:

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

Note: This is a known limitation of the checker for vendor-only or work-in-progress commits. If these patches are intended to be vendor-only and have not been posted upstream, the check-patch-compliance checker will always fail. However, if the patches are ready to be posted or have been posted, the prefix should be updated.

Fix:
If these patches have been or will be posted to the upstream mailing list:

git rebase -i <base_sha>
# Mark both commits as 'reword'
# Change subjects to:
#   FROMLIST: dt-bindings: remoteproc: qcom,pas-common: allow up to 4 iommus
#   FROMLIST: arm64: dts: qcom: lemans: enable audio ML offload memory and SMMU mappings
# Add Link: <lore-url> to each commit body
git rebase --continue

If these are truly vendor-only patches with no upstream equivalent, consider using QCLINUX: prefix (though this will also fail check-patch-compliance — it's a known checker limitation for vendor-only work).

Reproduce locally:

git log --format="%H %s" <base>..<head> | grep -v -E '^(FROMLIST|FROMGIT|UPSTREAM|BACKPORT|QCLINUX|WORKAROUND):'

Verdict

Cannot merge — 2 blockers:

  1. Merge conflict in Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml with topic/tech/all/dt/qcs9100 must be resolved before any checkers can run.

  2. Subject prefix issue — both commits use PENDING:, which will fail check-patch-compliance. If these patches are ready for upstream submission, change to FROMLIST: and add Link: trailers. If they are vendor-only, this is a known checker limitation.

Next steps:

  1. Rebase on the integration branch and resolve the binding conflict
  2. Update commit prefixes if patches are ready for upstream
  3. Re-trigger CI after fixes

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

PENDING: dt-bindings: remoteproc: qcom,pas-common: allow up to 4 iommus

downstream changes to fundamental bindings cannot be merged (though I see it is part of exception). Did you discuss with remoteproc folks.

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.

3 participants