Skip to content

CMA-memory-to-offload-FNN-PLUS-module-to-eNPU - #2159

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

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

Conversation

@qti-sbojja

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

Copy link
Copy Markdown

This series contains patches for allocating CMA memory to offload
FNN PLUS module to eNPU.

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

@qti-sbojja qti-sbojja changed the title CMA-memory-to-offload-FNN-PLUS-module-to-eNPU- #1023 CMA-memory-to-offload-FNN-PLUS-module-to-eNPU Oct 29, 2026
@qcomlnxci
qcomlnxci requested review from a team, aiquny, Nicolas Dechesne (ndechesne) and Trilok Soni (trsoni) and removed request for a team October 29, 2026 11:21
@qcomlnxci
qcomlnxci requested a review from a team October 29, 2026 11:25
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2159

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

# Error File:Line PR-introduced? Root Cause
1 DTS syntax error arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts:393 Yes audio_cma_mem node has incorrect indentation/placement in device tree hierarchy
2 Phandle reference error arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi:97 Yes Reference to audio_cma_mem fails because node definition has syntax error

Verdict

Both errors are introduced by this PR. The root cause is incorrect device tree node placement in patch 1/2 - the audio_cma_mem node is not properly nested within a reserved-memory parent node.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2159

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

# Error File:Line PR-introduced? Root Cause
1 DTS syntax error qcs6490-rb3gen2.dts:393 Yes Incorrect indentation/placement of audio_cma_mem node - appears to be nested inside wrong parent node instead of being a sibling in reserved-memory
2 Phandle reference error qcs6490-audioreach.dtsi:97 Yes Reference to audio_cma_mem label fails because the node definition has a syntax error and cannot be parsed

Verdict

Both errors are introduced by this PR due to incorrect device tree node placement in patch 1/2.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #2159 — validate-patch

PR: #2159

Verdict Issues Detailed Report
❌ 0 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260825133333.376591-1-karthik.s@oss.qualcomm.com/

  2. Lore link matches PR commits: No — Patch 1 has critical placement error (node inside wrong parent) and deprecated node naming. Patch 2 has different base tree but semantically identical diff content.

  3. Upstream patch status: ⏳ Decision Pending (NACKed) — Maintainers rejected patch 1 for deprecated node naming and lack of compile testing. Series needs v2 revision.

  4. PR present in qcom-next/topics: Fail - 2/2 commit(s) are missing from both qcom-next and topics

Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #2159 — CMA memory to offload FNN PLUS module to eNPU
Upstream commit: https://lore.kernel.org/all/20260825133333.376591-1-karthik.s@oss.qualcomm.com/
Verdict: ❌ FAIL


Commit Message

Check Status Note
Subject matches upstream ✅ Both commits use FROMLIST: prefix correctly
Body preserves rationale ✅ Technical rationale preserved in both commits
Fixes tag present/correct N/A No Fixes tag in upstream (new feature)
Authorship preserved ✅ From: matches lore author (Karthik S)
Backport note (if applicable) N/A FROMLIST: — not yet merged upstream
Link tag present ✅ Both commits have correct lore Link

Diff

Commit 1/2: qcs6490-rb3gen2 audio CMA

File Status Notes
qcs6490-audioreach.dtsi ✅ Identical — adds memory-region = <&audio_cma_mem>;
qcs6490-rb3gen2.dts ❌ Context mismatch — PR has different base tree

Lore patch 1:

@@ -174,6 +174,14 @@ rmtfs_mem: memory@f8500000 {
 			qcom,client-id = <1>;
 			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
 		};
+
+		audio_cma_mem: qcom,audio-ml {

PR patch 1:

@@ -172,6 +172,13 @@
 
 			qcom,client-id = <1>;
 			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
+
+		audio_cma_mem: qcom,audio-ml {

The PR patch applies at line 172 (missing closing brace for rmtfs_mem node), while lore applies at line 174 (after closing brace). The PR patch has incorrect indentation and placement — the audio_cma_mem node is placed inside the rmtfs_mem node instead of as a sibling in the reserved-memory parent.

Commit 2/2: kodiak-el2 IOMMU SIDs

File Status Notes
kodiak-el2.dtso ❌ Index hash mismatch — different base tree

Lore patch 2:

index 8daf7f02fd75..d050857cab31 100644

PR patch 2:

index 05e1b696a6206..8851588e3e83d 100644

The diff content (adding three IOMMU SIDs) is semantically identical, but the base tree differs.


Upstream Patch Status

Community verdict: ⏳ Decision Pending (NACKed with actionable feedback)

Krzysztof Kozlowski (DT maintainer) replied on 2026-08-25:

On patch 1/2:
"Don't send downstream code. There are no such patterns in upstream for years."
(Referring to the node name qcom,audio-ml — vendor prefix in node name is deprecated)

Follow-up:
"And the 'equivalent implementation for lemans' received comments which you missed and re-implemented the same issues."

Konrad Dybcio (Qualcomm maintainer) replied:

"Please don't send patches that you haven't compile-tested"

Analysis:

  • Patch 1 has a node naming issue (qcom,audio-ml should be audio-ml or similar without vendor prefix in the node name part after the label).
  • Maintainers flagged that this repeats issues from a previous lemans (SA8295P) series.
  • Konrad's comment suggests the patch does not compile (likely due to the indentation/placement error visible in the PR diff).

Recommendation: The series needs revision (v2) addressing:

  1. Remove vendor prefix from node name (audio_cma_mem: audio-ml not qcom,audio-ml)
  2. Fix the indentation/placement of the audio_cma_mem node in patch 1
  3. Verify the patch compiles cleanly

Issues

  1. Patch 1 — Incorrect node placement (CRITICAL):
    The PR patch places audio_cma_mem inside the rmtfs_mem node (line 172, missing closing brace context) instead of as a sibling in reserved-memory. The lore patch correctly places it after the rmtfs_mem closing brace (line 174).
    Impact: This will cause a DT syntax error or incorrect memory reservation hierarchy.

  2. Patch 1 — Deprecated node naming (upstream blocker):
    Node name qcom,audio-ml uses vendor prefix, which maintainers explicitly rejected. Should be audio-ml or audio-mem-cma.

  3. Base tree mismatch:
    Both patches apply to a different base than the lore submission (different index hashes). This is expected for a vendor tree but means the PR is not a faithful cherry-pick of the lore posting.

  4. Compile failure (per maintainer feedback):
    Konrad Dybcio stated the patch was not compile-tested, suggesting it has build errors (consistent with the indentation issue found).


Verdict

❌ FAIL — Do not merge without correction.

Required fixes:

  1. Patch 1: Correct the indentation and placement of audio_cma_mem node — it must be a sibling of rmtfs_mem in the reserved-memory parent, not a child of rmtfs_mem.
  2. Patch 1: Change node name from qcom,audio-ml to audio-ml (or audio-mem-cma) to comply with upstream DT naming conventions.
  3. Both patches: Rebase to the correct base tree (or document the base tree difference if intentional for vendor integration).
  4. Both patches: Compile-test before resubmission.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260825133333.376591-1-karthik.s@oss.qualcomm.com/

  2. Lore link matches PR commits: No — Patch 1 has critical placement error (node inside wrong parent) and deprecated node naming. Patch 2 has different base tree but semantically identical diff content.

  3. Upstream patch status: ⏳ Decision Pending (NACKed) — Maintainers rejected patch 1 for deprecated node naming and lack of compile testing. Series needs v2 revision.

  4. PR present in qcom-next/topics: No — Per integration_presence_report.md, both commits are missing from qcom-next and all topic branches (0/2 present). This is expected since the upstream series has not been accepted yet.

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: arm64: dts: qcom: qcs6490-rb3gen2: add audio missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
2/2 [PATCH 2/2] FROMLIST: arm64: dts: qcom: kodiak-el2: add LPASS AML 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/2
partial_commits: 0/2
missing_commits: 2/2
topics_checked_for_commits: 2/2
final_summary: PR present in qcom-next/topics: Fail - 2/2 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #2159 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check ✅ Both commits have valid FROMLIST: prefix
qcom-next-check N/A Target branch is qcom-next (topic branch)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #2159 - FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2 audio CMA + kodiak-el2 LPASS IOMMU
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/40865204435

Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check ✅ Both commits have valid FROMLIST: prefix
qcom-next-check N/A Target branch is qcom-next (topic branch)

❌ Automerge Failure (Pre-Checker Stage)

Root cause: Merge conflicts during CI automerge step prevented all checker jobs from running.

Failure details:

CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/Makefile
CONFLICT (add/add): Merge conflict in arch/arm64/boot/dts/qcom/kodiak-el2.dtso
Automatic merge failed; fix conflicts and then commit the result.
Merge failed, manual merge

Analysis:

The CI workflow attempts to merge the PR topic branch (topic/tech/all/dt/qcs6490) into the baseline integration branch (qcom-next at c7896917e523946138ce654d4b6c1e33d5a8f4e5) before running checkers. This merge failed with two conflicts:

  1. arch/arm64/boot/dts/qcom/Makefile — Content conflict (likely overlapping dtb/dtso entries)
  2. arch/arm64/boot/dts/qcom/kodiak-el2.dtso — Add/add conflict (both sides added the same file with different content)

The second conflict is particularly significant: the PR modifies kodiak-el2.dtso to add LPASS AML IOMMU SIDs, but the baseline integration branch already contains a version of this file with different content. This is a classic "both modified" or "both added" scenario where the file exists in both branches with incompatible changes.

Why this happened:

  • The PR is based on an older snapshot of the topic branch
  • The baseline integration branch (qcom-next) has evolved since the PR was created
  • Another change to kodiak-el2.dtso or Makefile was merged into the baseline after this PR's base commit

Fix:

The PR author must rebase the topic branch onto the current qcom-next tip and resolve the conflicts manually:

# In the kernel-topics repo
git fetch origin qcom-next
git checkout topic/tech/all/dt/qcs6490
git rebase origin/qcom-next

# Resolve conflicts in:
#   arch/arm64/boot/dts/qcom/Makefile
#   arch/arm64/boot/dts/qcom/kodiak-el2.dtso

# For Makefile: merge the dtb/dtso entries from both sides
# For kodiak-el2.dtso: integrate the IOMMU SID changes with the baseline version

git add arch/arm64/boot/dts/qcom/Makefile arch/arm64/boot/dts/qcom/kodiak-el2.dtso
git rebase --continue

# Force-push the rebased topic branch
git push --force-with-lease origin topic/tech/all/dt/qcs6490

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel.git
cd kernel
git fetch origin qcom-next
git checkout -b test-merge origin/qcom-next
git fetch https://github.com/qualcomm-linux/kernel-topics.git topic/tech/all/dt/qcs6490
git merge FETCH_HEAD
# Conflicts will appear — inspect with:
git diff --name-only --diff-filter=U

✅ tag-check (Manual Verification)

Status: PASS

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

  1. FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA memory region for AudioReach
  2. FROMLIST: arm64: dts: qcom: kodiak-el2: add LPASS AML IOMMU SIDs for eNPU audio offload

Both commits include Link: trailers pointing to the upstream lore.kernel.org submission:

Link: https://lore.kernel.org/all/20260825133333.376591-1-karthik.s@oss.qualcomm.com/

Note: The target branch is qcom-next (via topic branch topic/tech/all/dt/qcs6490), so the subject-prefix check is not mandatory per the skill rules. However, the commits correctly use FROMLIST: which is best practice for patches posted upstream.


📋 Patch Content Summary

Commit 1/2: Add audio CMA memory region for AudioReach on qcs6490-rb3gen2

  • Adds a 16 MiB dynamic CMA pool with 4 MiB alignment
  • Uses alloc-ranges to avoid EFI-reserved memory
  • Wires memory-region into q6apmdai for the q6apm-audio-mem-cma driver

Commit 2/2: Add LPASS AML IOMMU SIDs for eNPU audio offload on kodiak-el2

  • Adds three LPASS AML stream IDs to remoteproc_adsp
  • Enables IOMMU domain for CMA device (fixes has_iommu=0 issue)
  • Required for IOCTL_MAP_HYP_ASSIGN when Gunyah owns the SMMU

Verdict

Cannot merge — automerge conflicts must be resolved before checkers can run.

Action required:

  1. Rebase topic/tech/all/dt/qcs6490 onto current qcom-next tip
  2. Resolve conflicts in Makefile and kodiak-el2.dtso
  3. Force-push the rebased topic branch
  4. Re-trigger CI to run checkers on the conflict-free merge

Once conflicts are resolved: All checkers should run cleanly (DTS-only changes typically pass checkpatch, dt-binding-check, and dtb-check with no issues, and sparse/uapi-headers will skip).

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2159

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

# Error File:Line PR-introduced? Root Cause
1 ERROR (phandle_references): Reference to non-existent node or label "audio_cma_mem" arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi:97 Yes Patch adds memory-region = <&audio_cma_mem> to shared .dtsi file, but only defines audio_cma_mem node in qcs6490-rb3gen2.dts. Other boards (qcm6490-idp, qcs6490-radxa-dragon-q6a) that include this .dtsi lack the node definition.

Verdict

1 of 1 error is introduced by this PR. The error affects both standard and RT kernel builds, causing DTB compilation to fail for qcm6490-idp.dtb and qcs6490-radxa-dragon-q6a.dtb.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2159

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

# Error File:Line PR-introduced? Root Cause
1 ERROR (phandle_references): Reference to non-existent node or label "audio_cma_mem" arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi:100 Yes Patch adds memory-region = <&audio_cma_mem> to shared include file but only defines audio_cma_mem in qcs6490-rb3gen2.dts, breaking qcm6490-idp.dtb and qcs6490-radxa-dragon-q6a.dtb builds

Verdict

1 devicetree compilation error is introduced by this PR (affects 2 board DTB files in both standard and RT builds).

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #2159 — validate-patch

PR: #2159

Verdict Issues Detailed Report
❌ 2 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260825133333.376591-1-karthik.s@oss.qualcomm.com/

  2. Lore link matches PR commits: Partial — Patch 2/2 matches exactly; Patch 1/2 matches the rejected v1 content (node name qcom,audio-ml violates DT conventions per maintainer feedback)

  3. Upstream patch status: ❌ NACKed — Patch 1/2 explicitly rejected by Krzysztof Kozlowski for downstream node naming pattern; Patch 2/2 pending but blocked by 1/2 rejection

  4. PR present in qcom-next/topics: Fail - 2/2 commit(s) are missing from both qcom-next and topics

Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #2159 - "CMA-memory-to-offload-FNN-PLUS-module-to-eNPU"
Upstream commit: https://lore.kernel.org/all/20260825133333.376591-1-karthik.s@oss.qualcomm.com/
Verdict: ❌ FAIL


Commit Message

Check Status Note
Subject matches upstream ✅ Both commits match lore subjects exactly
Body preserves rationale ✅ Technical rationale preserved in both commits
Fixes tag present/correct N/A No Fixes tag in upstream or PR (new feature)
Authorship preserved ✅ From: Karthik S <karthik.s@oss.qualcomm.com> matches lore author
Backport note (if applicable) N/A FROMLIST: prefix used correctly - not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi ✅ Identical to lore patch 1/2
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts ❌ Node name violates upstream DT naming convention
arch/arm64/boot/dts/qcom/kodiak-el2.dtso ✅ Identical to lore patch 2/2

Issues

Commit 1/2 — Critical upstream rejection:

  1. Node name qcom,audio-ml violates devicetree naming conventions

    • Lore patch uses: audio_cma_mem: qcom,audio-ml {

    • Krzysztof Kozlowski (DT maintainer) explicitly rejected this pattern on Aug 25, 2026:

      "Don't send downstream code. There are no such patterns in upstream for years."
      [Source: lore thread reply]

    • Root cause: Node names must not contain vendor prefixes. The qcom, prefix belongs in the compatible property, not the node name.

    • Correct pattern: Node name should be generic and describe the hardware function:

      audio_cma_mem: linux,cma {
          compatible = "shared-dma-pool";
          ...
      };
      

      or simply:

      audio_cma_mem: memory@0 {
          compatible = "shared-dma-pool";
          ...
      };
      
  2. Maintainer also noted missing compile-testing

    • Konrad Dybcio replied: "Please don't send patches that you haven't compile-tested"
    • This suggests the lore patch may have DT schema validation errors

Commit 2/2:

  • Diff content is faithful to lore patch 2/2
  • No issues detected in diff comparison

Upstream Patch Status

Commit Community Verdict
[PATCH v1 1/2] arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA memory region ❌ NACKed — Krzysztof Kozlowski on Aug 25, 2026: "Don't send downstream code. There are no such patterns in upstream for years." Node name qcom,audio-ml violates DT naming conventions.
[PATCH v1 2/2] arm64: dts: qcom: kodiak-el2: add LPASS AML IOMMU SIDs ⏳ Decision Pending — No maintainer decision yet; last activity Aug 25, 2026. Depends on patch 1/2 being fixed first.

Evidence from lore thread:

  • Cover letter notes dependency: "This patch depends on: arm64: dts: qcom: kodiak: EL2 overlay for qcm6490-idp / qcs6490-rb3gen2"
  • Patch 1/2 received explicit rejection from DT maintainer
  • Patch 2/2 has no review comments yet, but is blocked by patch 1/2 rejection

Dependency Check


qcom-next/topics Presence

Commit Status
[PATCH 1/2] FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: add audio ⚠️ Not in qcom-next or topics
[PATCH 2/2] FROMLIST: arm64: dts: qcom: kodiak-el2: add LPASS AML ⚠️ Not in qcom-next or topics

Source: integration_presence_report.md — both commits missing from qcom-next (c7896917e523) and all topic branches.


Verdict

❌ DO NOT MERGE — This PR must be rejected and reworked.

Critical issues:

  1. Upstream rejection: Patch 1/2 was explicitly NACKed by the devicetree maintainer for using downstream node naming patterns (qcom,audio-ml) that violate upstream conventions.

  2. Incorrect FROMLIST: prefix: The PR uses FROMLIST: prefix, which implies the patch is under review and expected to be accepted upstream. However, patch 1/2 has been rejected and requires a v2 revision with corrected node naming.

  3. Missing from integration branches: Neither commit is present in qcom-next or topic branches, confirming this is new code that hasn't been integrated yet.

Required actions:

  1. Wait for upstream v2: The author must post a v2 series to lore.kernel.org with the node name fixed (remove qcom, prefix from node name, use generic name like linux,cma or memory@0).

  2. Update PR after v2 acceptance: Once the v2 series receives maintainer approval (Reviewed-by/Acked-by tags), update this PR with the corrected patches and update the Link: tag to point to the v2 message-ID.

  3. Verify prerequisite: Confirm that the kodiak EL2 overlay dependency (https://lore.kernel.org/all/20260803121042.3313824-1-mukesh.ojha@oss.qualcomm.com/) is either already merged or included in the PR.


Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20260825133333.376591-1-karthik.s@oss.qualcomm.com/

  2. Lore link matches PR commits: Partial — Patch 2/2 matches exactly; Patch 1/2 matches the rejected v1 content (node name qcom,audio-ml violates DT conventions per maintainer feedback)

  3. Upstream patch status: ❌ NACKed — Patch 1/2 explicitly rejected by Krzysztof Kozlowski for downstream node naming pattern; Patch 2/2 pending but blocked by 1/2 rejection

  4. PR present in qcom-next/topics: No — Both commits missing from qcom-next (c7896917e523) and all topic branches 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] FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: add audio missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
2/2 [PATCH 2/2] FROMLIST: arm64: dts: qcom: kodiak-el2: add LPASS AML 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/2
partial_commits: 0/2
missing_commits: 2/2
topics_checked_for_commits: 2/2
final_summary: PR present in qcom-next/topics: Fail - 2/2 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #2159 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check ✅ Both commits have valid FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #2159 - FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA memory region for AudioReach
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/41008485321

Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check ✅ Both commits have valid FROMLIST: prefix

⚠️ Automerge Failure (Pre-Checker Stage)

Root cause: Merge conflicts during CI integration step prevented all checkers from running.

Failure details:

Merging topic branch: topic/tech/all/dt/qcs6490
Auto-merging arch/arm64/boot/dts/qcom/Makefile
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/Makefile
Auto-merging arch/arm64/boot/dts/qcom/kodiak-el2.dtso
CONFLICT (add/add): Merge conflict in arch/arm64/boot/dts/qcom/kodiak-el2.dtso
Automatic merge failed; fix conflicts and then commit the result.

Analysis:

The CI workflow attempts to merge the PR branch (topic/tech/all/dt/qcs6490) into an integration branch based on baseline tag c7896917e523946138ce654d4b6c1e33d5a8f4e5. Two conflicts occurred:

  1. arch/arm64/boot/dts/qcom/Makefile — Content conflict (likely overlapping DTB/DTSO additions)
  2. arch/arm64/boot/dts/qcom/kodiak-el2.dtso — Add/add conflict (both branches added/modified this file independently)

The second conflict is particularly relevant because this PR modifies kodiak-el2.dtso (adding IOMMU SIDs to remoteproc_adsp). The "add/add" conflict indicates that another topic branch in the integration also touches this file, and the changes cannot be automatically merged.

Fix:

This is not a patch defect — the PR commits themselves are clean. The conflict arises from the CI integration workflow merging multiple topic branches together. The PR author has two options:

  1. Rebase the PR branch onto the latest integration baseline to resolve conflicts locally:

    git fetch origin
    git rebase origin/qcom-next  # or the appropriate base branch
    # Resolve conflicts in Makefile and kodiak-el2.dtso
    git add arch/arm64/boot/dts/qcom/Makefile arch/arm64/boot/dts/qcom/kodiak-el2.dtso
    git rebase --continue
    git push --force-with-lease
  2. Wait for the conflicting topic branch to merge first, then re-trigger CI. The conflict may resolve itself once the integration baseline advances.

Reproduce locally:

# Clone the kernel-topics repo
git clone https://github.com/qualcomm-linux/kernel-topics.git
cd kernel-topics
git fetch origin pull/2159/head:pr-2159
git checkout pr-2159

# Attempt to merge into the integration baseline
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git c7896917e523946138ce654d4b6c1e33d5a8f4e5
git rebase c7896917e523946138ce654d4b6c1e33d5a8f4e5
# Conflicts will appear here

✅ tag-check

Status: PASS

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

  • Commit 1: FROMLIST: arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA memory region for AudioReach
  • Commit 2: FROMLIST: arm64: dts: qcom: kodiak-el2: add LPASS AML IOMMU SIDs for eNPU audio offload

Both commits include Link: trailers pointing to the upstream lore.kernel.org submission.

Verdict

No checker defects found. The CI failure is due to merge conflicts during the integration step, not issues with the patch content itself. The PR commits are properly formatted with FROMLIST: prefixes and upstream links.

Recommended action: Rebase the PR branch onto the latest integration baseline to resolve the Makefile and kodiak-el2.dtso conflicts, then re-trigger CI. Once the automerge succeeds, all checkers will run and provide validation results.

…on for AudioReach

Add a dynamic CMA pool for the AudioReach audio stack on qcs6490-rb3gen2.
Use alloc-ranges to let the kernel pick a free address rather than a fixed
reg, which avoided EFI-reserved memory at 0x9cc00000. Add 4 MiB alignment
to satisfy CMA_MIN_ALIGNMENT_BYTES. Wire memory-region into q6apmdai so
the q6apm-audio-mem-cma child driver can attach the pool.

Based on the equivalent implementation for lemans (SA8295P).

Signed-off-by: Sairamreddy Bojja <sbojja@qti.qualcomm.com>
…NPU audio offload

Add the three LPASS AML stream IDs to remoteproc_adsp in the
kodiak EL2 overlay so that the q6apm-audio-mem-cma child driver
can obtain an IOMMU domain via iommu_get_domain_for_dev(dev).

Without these SIDs the CMA device has no IOMMU domain (has_iommu=0)
and IOCTL_MAP_HYP_ASSIGN falls through to the SCM path, which fails
on RB3Gen2 because Gunyah owns the SMMU.

SID assignments:
  0x1860 / mask 0x9 — ML Activation + Weights + Write streams
  0x1862 / mask 0x1 — ML Config + Bias streams
  0x1864 / mask 0x0 — ML Normalized Data stream

Signed-off-by: Sairamreddy Bojja <sbojja@qti.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2159

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

# Error File:Line PR-introduced? Root Cause
1 ERROR (phandle_references): Reference to non-existent node or label "audio_cma_mem" arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi:100 Yes The PR adds a reference to audio_cma_mem in the shared include file qcs6490-audioreach.dtsi, but only defines the node in qcs6490-rb3gen2.dts. Other boards that include qcs6490-audioreach.dtsi (qcm6490-idp, qcs6490-radxa-dragon-q6a) fail because they don't have the audio_cma_mem node.

Verdict

All build errors are introduced by this PR. The error affects 2 device tree blobs (qcm6490-idp.dtb and qcs6490-radxa-dragon-q6a.dtb) in both standard and RT builds, causing 4 total build failures.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #2159

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

# Error File:Line PR-introduced? Root Cause
1 ERROR (phandle_references): Reference to non-existent node or label "audio_cma_mem" arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi:97-101 Yes PR adds memory-region = <&audio_cma_mem> to shared .dtsi but only defines audio_cma_mem in qcs6490-rb3gen2.dts, breaking qcm6490-idp.dtb and qcs6490-radxa-dragon-q6a.dtb builds

Verdict

1 device tree compilation error introduced by this PR affecting 2 DTB targets (qcm6490-idp.dtb and qcs6490-radxa-dragon-q6a.dtb).

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #2159 — validate-patch

PR: #2159

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

  1. Lore link present: No — PENDING: prefix; no lore link expected for work-in-progress commits
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — not posted upstream; marked as PENDING (work-in-progress)
  4. PR present in qcom-next/topics: Fail - 2/2 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #2159
Upstream commit: N/A (PENDING: prefix — not yet posted upstream)
Verdict: ⚠️ PARTIAL

Commit 1/2: PENDING: arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA

Commit Message

Check Status Note
Subject matches upstream N/A No upstream posting yet
Body preserves rationale ✅ Clear explanation of CMA pool purpose and implementation choices
Fixes tag present/correct N/A Not a fix; new feature
Authorship preserved ✅ Signed-off-by present
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi ✅ Adds memory-region property to q6apmdai
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts ✅ Adds audio_cma_mem CMA pool with proper alignment

Commit 2/2: PENDING: arm64: dts: qcom: kodiak-el2: add LPASS AML IOMMU SIDs

Commit Message

Check Status Note
Subject matches upstream N/A No upstream posting yet
Body preserves rationale ✅ Detailed explanation of SID assignments and why they're needed
Fixes tag present/correct N/A Not a fix; new feature
Authorship preserved ✅ Signed-off-by present
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/boot/dts/qcom/kodiak-el2.dtso ✅ Adds three IOMMU stream IDs with correct masks

Issues

Commit 1/2:

  • ⚠️ Missing upstream posting: This appears to be upstreamable board-specific DTS configuration. The commit message references "equivalent implementation for lemans (SA8295P)", suggesting similar patches may already be upstream. Consider posting to the mailing list or changing prefix to QCLINUX: if this is intentionally vendor-only.

Commit 2/2:

Both commits:

  • ⚠️ Not present in qcom-next or topics: According to integration_presence_report.md, both commits are missing from qcom-next and all topic branches. For PENDING: commits this may be expected if they're truly work-in-progress, but it raises the question of whether they should be in a topic branch first before merging.

Verdict

PARTIAL — The commits are technically correct and well-documented, but the PENDING: prefix usage needs clarification:

  1. If these are genuinely work-in-progress and will be posted upstream soon, the PENDING: prefix is appropriate, but they should ideally go through a topic branch first.

  2. If these are vendor-specific configurations not intended for upstream, they should use QCLINUX: prefix instead.

  3. If similar functionality already exists upstream (as suggested by the lemans reference in commit 1/2), consider using UPSTREAM: or BACKPORT: with appropriate lore links.

Recommendation: Before merging, clarify the upstream intent. If upstreaming is planned, post to the mailing list and update to FROMLIST: with lore links. If vendor-only, change to QCLINUX:. If based on existing upstream work, add appropriate lore references.

Final Summary

  1. Lore link present: No — PENDING: prefix; no lore link expected for work-in-progress commits
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — not posted upstream; marked as PENDING (work-in-progress)
  4. PR present in qcom-next/topics: Fail — 2/2 commits 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: 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: arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
2/2 [PATCH 2/2] PENDING: arm64: dts: qcom: kodiak-el2: add LPASS AML 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/2
partial_commits: 0/2
missing_commits: 2/2
topics_checked_for_commits: 2/2
final_summary: PR present in qcom-next/topics: Fail - 2/2 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #2159 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check N/A Not applicable - PR targets topic branch
qcom-next-check ⚠️ Both commits use PENDING: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #2159 - PENDING: arm64: dts: qcom: qcs6490-rb3gen2/kodiak-el2 audio changes
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/41018330899

Checker Result Summary
checkpatch ⏭️ Skipped - automerge failed
dt-binding-check ⏭️ Skipped - automerge failed
dtb-check ⏭️ Skipped - automerge failed
sparse-check ⏭️ Skipped - automerge failed
check-uapi-headers ⏭️ Skipped - automerge failed
check-patch-compliance ⏭️ Skipped - automerge failed
tag-check N/A Not applicable - PR targets topic branch
qcom-next-check ⚠️ Both commits use PENDING: prefix

❌ Automerge Failure (Pre-Checker Stage)

Root cause: Merge conflicts during integration of topic/tech/all/dt/qcs6490 with baseline c7896917e523946138ce654d4b6c1e33d5a8f4e5

Failure details:

Merging topic branch: topic/tech/all/dt/qcs6490
Auto-merging arch/arm64/boot/dts/qcom/Makefile
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/Makefile
Auto-merging arch/arm64/boot/dts/qcom/kodiak-el2.dtso
CONFLICT (add/add): Merge conflict in arch/arm64/boot/dts/qcom/kodiak-el2.dtso
Automatic merge failed; fix conflicts and then commit the result.

Analysis:

  1. arch/arm64/boot/dts/qcom/Makefile — Content conflict
    The PR likely adds new DTB/DTSO entries that conflict with other changes in the topic branch.

  2. arch/arm64/boot/dts/qcom/kodiak-el2.dtso — Add/add conflict
    Both the PR (commit 2/2) and the topic branch modify kodiak-el2.dtso. The PR adds LPASS AML IOMMU SIDs to &remoteproc_adsp, while the topic branch likely has overlapping changes to the same overlay.

Fix:

The PR author needs to rebase on the latest topic/tech/all/dt/qcs6490 branch and resolve conflicts:

# Fetch the latest topic branch
git fetch topics topic/tech/all/dt/qcs6490

# Rebase the PR branch
git rebase topics/topic/tech/all/dt/qcs6490

# Resolve conflicts in:
#   - arch/arm64/boot/dts/qcom/Makefile
#   - arch/arm64/boot/dts/qcom/kodiak-el2.dtso

# For Makefile: merge the DTB/DTSO entries in sorted order
# For kodiak-el2.dtso: combine the iommus property changes

git add <resolved-files>
git rebase --continue

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel-topics
cd kernel-topics
git fetch origin pull/2159/head:pr2159
git checkout pr2159
git fetch topics topic/tech/all/dt/qcs6490
git rebase topics/topic/tech/all/dt/qcs6490

⚠️ Subject Prefix Notice

Both commits use the PENDING: prefix:

  • Commit 1/2: PENDING: arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA memory region for AudioReach
  • Commit 2/2: PENDING: arm64: dts: qcom: kodiak-el2: add LPASS AML IOMMU SIDs for eNPU audio offload

Note: PENDING: is a vendor-internal prefix used for work-in-progress commits. While this is acceptable for topic branches, be aware that:

  • check-patch-compliance will fail for PENDING: commits (known limitation)
  • These commits should eventually be posted upstream and re-prefixed as FROMLIST: or UPSTREAM:

Verdict

Cannot merge — The PR has merge conflicts with the target topic branch topic/tech/all/dt/qcs6490. The author must rebase and resolve conflicts before the checkers can run. Once conflicts are resolved, re-trigger CI to validate the patches.

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