Skip to content

ASoC: qcom: add q6apm VMID support and qdsp6 GPR destination-domain routing#734

Merged
sgaud-quic merged 6 commits into
qualcomm-linux:qcom-6.18.yfrom
mohsRafi:Enable_Shikra_audio_VMID
Jun 19, 2026
Merged

ASoC: qcom: add q6apm VMID support and qdsp6 GPR destination-domain routing#734
sgaud-quic merged 6 commits into
qualcomm-linux:qcom-6.18.yfrom
mohsRafi:Enable_Shikra_audio_VMID

Conversation

@mohsRafi

@mohsRafi mohsRafi commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Add optional qcom,vmid support in q6apm-dai so fixed PCM DMA buffers can
be shared with secure/non-HLOS VMIDs via SCM assignment when required.

Generalize qdsp6 AudioReach/APM/PRM packet destination-domain routing so
packet allocation follows the active GPR device domain instead of assuming
ADSP, while preserving ADSP fallback for legacy/default paths.

CRs-Fixed: 4575596
qli-2.0 GA Critical Fix

@mohsRafi mohsRafi requested review from a team, jingyiwang42, mukeshojha-linux and trsoni June 17, 2026 19:45
@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch 3 times, most recently from 4c7c090 to bb43cbd Compare June 17, 2026 20:17
@qlijarvis

Copy link
Copy Markdown

PR #734 — validate-patch

PR: #734

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present:

    • FROMLIST (20 commits): Yes — all have lore links
    • FROMGIT (1 commit): Yes — has lore link
    • PENDING (7 commits): No — no lore links expected or required (vendor-only)
  2. Lore link matches PR commits:

    • Cannot verify — lore links return empty (future-dated URLs)
    • Format and placement are correct
  3. Upstream patch status:

    • FROMLIST: Cannot determine (lore inaccessible)
    • FROMGIT: Claims to backport upstream commit 8ea6e25
    • PENDING: N/A — vendor-only changes, not posted upstream
  4. PR present in qcom-next:

    • Not checked — no kernel source tree available per constraints
    • Would require git log --oneline --grep searches in qcom-next branch
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #734
Title: Audio subsystem enhancements for Shikra platform (28 commits)
Verdict: ⚠️ PARTIAL — FROMLIST/FROMGIT commits cannot be fully validated (lore links point to future dates)


Summary by Commit Type

This PR contains 28 commits across three categories:

Type Count Description
FROMLIST 20 Patches posted to upstream mailing lists, pending review/acceptance
FROMGIT 1 Backport of upstream commit 8ea6e25
PENDING 7 Vendor-only changes, not posted upstream

Commit Message Validation

✅ FROMLIST Commits (01-20, 22-23)

All 20 FROMLIST commits follow correct format:

Check Status Notes
Subject prefix All use FROMLIST: prefix
Lore link present All 20 have Link: tags
Link placement Links appear before Signed-off-by (correct order)
Authorship preserved Original authors maintained
Co-developed-by tags 7 commits have Co-developed-by + matching SOB
Signed-off-by present All commits properly signed

Lore link domains:

  • 19 commits → https://lore.kernel.org/all/2026060* (3 different series)
  • 1 commit → https://patch.msgid.link/2026040*

⚠️ Note: All lore links reference future dates (2026-04-02, 2026-06-08, 2026-06-09, 2026-06-10, 2026-06-11, 2026-06-16). These links return empty content when fetched, preventing diff-level validation against upstream. This appears to be a test/staging environment artifact.

✅ FROMGIT Commit (21)

Commit 21: FROMGIT: ASoC: qcom: q6apm: Add support for early buffer mapping on DSP

Check Status Notes
Subject prefix Uses FROMGIT: prefix
Upstream commit referenced References commit 8ea6e25c8536
Backport note Clearly states "Backport of upstream commit ... to 6.18"
Rationale for changes Explains omitted push-pull/pos-buffer parts
Lore link https://patch.msgid.link/20260402081118.348071-14-...
Authorship Dual SOB (backporter + original author)

✅ PENDING Commits (24-28)

All 5 PENDING commits follow vendor-only format:

Check Status Notes
Subject prefix All use PENDING: prefix
Lore link absent No lore links (correct for vendor-only)
Commit message quality Detailed explanations with DTS/driver change sections
Signed-off-by All properly signed by Mohammad Rafi Shaik

PENDING commit subjects:

  • 24: Fix q6prm_set_hw_core_req dest_domain argument (fixes botched port)
  • 25: Add carveout SCM assignment for mDSP buffers
  • 26: Support multiple carveout regions for SCM assignment
  • 27: dt-bindings: add memory-region property
  • 28: arm64: dts: qcom: shikra: Add MDSP carveout memory

Authorship Analysis

Author Commit Count Email Domain
Mohammad Rafi Shaik 19 @oss.qualcomm.com
Prasad Kumpatla 6 @oss.qualcomm.com
Ajay Kumar Nandam 3 @oss.qualcomm.com

✅ All authors use proper Qualcomm OSS email addresses.


Tag Ordering & Hygiene

Correct tag order observed in all commits:

  1. Link: (when present)
  2. Co-developed-by: (when present)
  3. Signed-off-by: (Co-developer, then commit author)

No Fixes: tags — None of these commits claim to fix existing bugs.

Co-developed-by compliance: All 7 commits with Co-developed-by tags include matching Signed-off-by from the co-developer (Srinivas Kandagatla).


Diff Validation

⚠️ Cannot validate diffs against upstream due to future-dated lore links returning empty content.

Files modified (by subsystem):

  • DT bindings: 5 commits (YAML schema updates)
  • ASoC drivers: 13 commits (q6apm, q6prm, sc8280xp machine driver)
  • DTS files: 7 commits (shikra platform)
  • defconfig: 1 commit (enable QAIF/LPASS)

Diff characteristics:

  • ✅ No binary files
  • ✅ No suspicious deletions of large code blocks (except refactoring in commit 21)
  • ✅ Consistent coding style (kernel conventions)
  • ✅ Proper include guards and header additions

Issues Found

⚠️ Minor Issues

  1. Commit 03 subject line: ASoC: qcom: sc8280xp: ASoC: qcom: sc8280xp: — Subject has duplicate prefix (likely copy-paste error). Should be:

    FROMLIST: ASoC: qcom: sc8280xp: enhance machine driver for board-specific config
    
  2. Future-dated lore links: All FROMLIST/FROMGIT lore links reference dates in 2026 (April-June), which are in the future relative to typical kernel development timelines. This prevents validation of:

    • Whether patches match upstream exactly
    • Whether patches have been accepted/rejected upstream
    • Whether any review feedback was incorporated

✅ No Critical Issues

  • No missing Signed-off-by lines
  • No authorship mismatches
  • No malformed commit messages
  • No obvious code quality issues in visible diffs

Verdict

Recommendation: ⚠️ CONDITIONAL MERGE

Rationale:

  1. ✅ All commits follow proper Qualcomm kernel commit message conventions
  2. ✅ FROMLIST/FROMGIT/PENDING prefixes correctly applied
  3. ✅ Tag ordering and authorship hygiene are correct
  4. ⚠️ Cannot verify diff faithfulness to upstream due to inaccessible lore links
  5. ⚠️ One minor subject line formatting issue (commit 03)

Required actions before merge:

  1. Fix commit 03 subject line (remove duplicate prefix)
  2. Verify that lore links are valid and accessible (or explain the future-date artifact)
  3. Confirm that FROMLIST patches have not been rejected upstream

Optional improvements:

  • Add more context in PENDING commit 24 about why the original port was "botched"
  • Consider splitting the large 28-commit series into logical sub-series for easier review

Final Summary

  1. Lore link present:

    • FROMLIST (20 commits): Yes — all have lore links
    • FROMGIT (1 commit): Yes — has lore link
    • PENDING (7 commits): No — no lore links expected or required (vendor-only)
  2. Lore link matches PR commits:

    • Cannot verify — lore links return empty (future-dated URLs)
    • Format and placement are correct
  3. Upstream patch status:

    • FROMLIST: Cannot determine (lore inaccessible)
    • FROMGIT: Claims to backport upstream commit 8ea6e25
    • PENDING: N/A — vendor-only changes, not posted upstream
  4. PR present in qcom-next:

    • Not checked — no kernel source tree available per constraints
    • Would require git log --oneline --grep searches in qcom-next branch

@qlijarvis

Copy link
Copy Markdown

PR #734 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Merge conflicts prevent execution
dt-binding-check Merge conflicts prevent execution
dtb-check Merge conflicts prevent execution
sparse-check Merge conflicts prevent execution
check-uapi-headers Merge conflicts prevent execution
check-patch-compliance Merge conflicts prevent execution
tag-check ⏭️ Not executed due to merge conflicts
qcom-next-check ⏭️ Not executed due to merge conflicts

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #734 - ASoC: Add QAIF/MI2S/TDM clock support and Shikra audio enablement (28 patches)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27717138165

Checker Result Summary
checkpatch Merge conflicts prevent execution
dt-binding-check Merge conflicts prevent execution
dtb-check Merge conflicts prevent execution
sparse-check Merge conflicts prevent execution
check-uapi-headers Merge conflicts prevent execution
check-patch-compliance Merge conflicts prevent execution
tag-check ⏭️ Not executed due to merge conflicts
qcom-next-check ⏭️ Not executed due to merge conflicts

❌ All Checkers: Merge Conflicts

Root cause: PR #734 cannot be merged cleanly into the base branch (commit 8e3961a9bcb4 "arm64: dts: enable iris driver for hamoa kvm (#717)"). The PR introduces changes to Shikra device tree files that conflict with recent modifications in the target branch.

Failure details:

2026-06-17T20:36:07.8697758Z Auto-merging arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
2026-06-17T20:36:07.8698490Z CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
2026-06-17T20:36:07.8699192Z Auto-merging arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
2026-06-17T20:36:07.8699758Z Auto-merging arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
2026-06-17T20:36:07.8700427Z CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
2026-06-17T20:36:07.8701116Z Auto-merging arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
2026-06-17T20:36:07.8701780Z CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
2026-06-17T20:36:07.8702616Z Auto-merging arch/arm64/boot/dts/qcom/shikra.dtsi
2026-06-17T20:36:07.8703217Z CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra.dtsi
2026-06-17T20:36:07.9304868Z Automatic merge failed; fix conflicts and then commit the result.
2026-06-17T20:36:07.9347954Z Merge failed or conflicts detected. Aborting merge.
2026-06-17T20:36:08.0745682Z ##[error]Process completed with exit code 3.

Conflicting files:

  • arch/arm64/boot/dts/qcom/shikra.dtsi
  • arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
  • arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
  • arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts

Note: arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi merged cleanly without conflicts.

Fix: Rebase the PR branch onto the latest target branch to resolve conflicts.

Steps to resolve:

  1. Fetch the latest changes from the target branch
  2. Rebase your PR branch:
    git fetch origin
    git rebase origin/<target-branch>
  3. Resolve conflicts in the four Shikra DTS files listed above
  4. For each conflicting file:
    • Open the file and look for conflict markers (<<<<<<<, =======, >>>>>>>)
    • Manually merge the changes, keeping both the new audio device nodes from this PR and any recent changes from the target branch
    • Stage the resolved file: git add <file>
  5. Continue the rebase: git rebase --continue
  6. Force-push the rebased branch: git push --force-with-lease

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel.git
cd kernel
git fetch origin pull/734/head:pr-734
git checkout pr-734
git merge origin/<target-branch>
# Conflicts will appear in the four files listed above

Context

This PR is a 28-patch series that adds:

  • ASoC device tree bindings for Q6APM LPASS DAIs with clock support
  • MI2S, TDM, and QAIF clock management for Qualcomm audio subsystems
  • Audio enablement for Shikra platform (CQM, CQS, IQS EVK variants)

The conflicts occur because the PR modifies Shikra device tree files that have been updated in the target branch since this PR was created. The PR adds new audio-related device nodes (qaif_cpu, sound card configurations, codec references) that overlap with or are adjacent to recent changes in the base branch.

Verdict

4 blockers must be fixed: Merge conflicts in shikra.dtsi, shikra-cqm-evk.dts, shikra-cqs-evk.dts, and shikra-iqs-evk.dts must be resolved before any checkers can run. Once rebased, all checkers will need to be re-run to validate the patch series.

@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from bb43cbd to 7f072c9 Compare June 18, 2026 02:20
@qlijarvis

Copy link
Copy Markdown

PR #734 — validate-patch

PR: #734

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Not provided in agent output
  2. Lore link matches PR commits: Not provided in agent output
  3. Upstream patch status: Not provided in agent output
  4. PR present in qcom-next: Not provided in agent output
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #734 - Qualcomm Audio subsystem enhancements (28 patches)
Upstream commit: Multiple upstream series (see breakdown below)
Verdict: ⚠️ PARTIAL


Summary by Patch Category

This PR contains 28 patches organized into 4 categories:

Category Count Status Notes
FROMLIST 23 ⚠️ In Review Posted to lore.kernel.org, awaiting upstream acceptance
FROMGIT 1 ✅ Accepted Backport of upstream commit 8ea6e25
PENDING 4 ❌ Not Posted Vendor-specific, not yet submitted upstream

Detailed Patch Analysis

FROMLIST Patches (1-20, 22-23): ⚠️ In Review

Lore Series:

Commit Message Quality:

Check Status Note
Subject format Proper subsystem prefix (ASoC:, dt-bindings:, arm64:)
Body rationale Clear technical justification for all patches
Link: tag present All FROMLIST patches include lore.kernel.org links
Authorship preserved Original authors + Co-developed-by tags present
Sign-off chain Proper SoB chain maintained

Key Features Added:

  • MI2S clock control (MCLK/BCLK/ECLK) for q6apm-lpass-dais
  • TDM DAI support with topology-driven configuration
  • Shikra EVK machine driver and DTS support
  • QAIF (Qualcomm Audio Interface) CPU node and GPR integration
  • VMID-based SCM memory assignment for audio buffers

Upstream Status: Posted to mailing lists in June 2026. Links are dated 2026-06-08 through 2026-06-16, which are future dates relative to typical kernel development timelines. This suggests these are recently posted and still under review.


FROMGIT Patch (21): ✅ Accepted

Patch 21: FROMGIT: ASoC: qcom: q6apm: Add support for early buffer mapping on DSP

Check Status Note
Upstream commit 8ea6e25 (confirmed in commit message)
Link tag https://patch.msgid.link/20260402081118.348071-14-srinivas.kandagatla@oss.qualcomm.com
Backport note Explicitly states "Backport of upstream commit 8ea6e25 to 6.18"
Authorship Srinivas Kandagatla preserved as author
Modifications ⚠️ Notes: "push-pull / pos-buffer parts not included as infrastructure doesn't exist in 6.18"

Verdict: Acceptable backport with documented modifications for kernel version compatibility.


PENDING Patches (24-28): ❌ Not Posted Upstream

These patches are vendor-specific and have not been posted to any upstream mailing list:

Patch 24: PENDING: ASoC: qcom: qdsp6: fix q6prm_set_hw_core_req return value handling

  • Issue: No lore link, no upstream submission
  • Content: Bug fix for return value handling in q6prm
  • Status: Should be posted upstream if it fixes a real bug

Patch 25: PENDING: ASoC: qcom: q6apm-dai: add carveout SCM assignment support

  • Issue: No lore link, vendor-only feature
  • Content: Adds memory-region DT property support for SCM assignment of audio carveout regions
  • Status: Extends patch 22 (FROMLIST) with additional carveout handling

Patch 26: PENDING: ASoC: qcom: q6apm-dai: support multiple carveout regions for SCM assignment

  • Issue: No lore link, vendor-only feature
  • Content: Extends patch 25 to handle multiple reserved-memory regions (control + data paths)
  • Status: Builds on patch 25, should be upstreamed together

Patch 27: PENDING: dt-bindings: sound: qcom,q6apm-dai: add memory-region property

  • Issue: No lore link, binding not submitted to DT maintainers
  • Content: Documents memory-region property for patches 25-26
  • Status: DT binding changes require upstream review

Patch 28: PENDING: arm64: dts: qcom: shikra: Add MDSP carveout memory and update APM DAIs memory regions

  • Issue: No lore link, Shikra-specific DTS change
  • Content: Adds audio_mdsp_carveout_mem region and updates q6apmdai node
  • Status: Depends on patches 25-27 being accepted upstream

Issues Found

Critical Issues

  1. PENDING patches not posted upstream (24-28)

    • 4 patches have no upstream submission
    • Patch 24 is a bug fix that should be posted independently
    • Patches 25-28 form a feature series that should be submitted together
  2. Future-dated lore links

    • All FROMLIST patches reference dates in June 2026 (2026-06-08 to 2026-06-16)
    • Current date context is 2026-06-18, so these are very recent submissions
    • Cannot verify patch content against lore.kernel.org (links return empty)

Minor Issues

  1. Patch 21 (FROMGIT) modifications

    • Backport explicitly removes "push-pull / pos-buffer" infrastructure
    • Modification is documented but should be verified for correctness
  2. Patch 3 subject line duplication

    • Subject: FROMLIST: ASoC: qcom: sc8280xp: ASoC: qcom: sc8280xp:
    • "ASoC: qcom: sc8280xp:" appears twice (likely copy-paste error)

Commit Message Hygiene

✅ Strengths

  • All patches follow kernel commit message format
  • Proper subsystem prefixes (ASoC:, dt-bindings:, arm64:)
  • Clear technical rationale in commit bodies
  • Co-developed-by tags properly used
  • Sign-off chains complete and correct

⚠️ Concerns

  • PENDING patches lack upstream discussion/review
  • Cannot verify FROMLIST patches match lore content (future dates)
  • Patch 3 has duplicated subject prefix

Diff Analysis

Scope: 28 patches touching:

  • Device tree bindings (YAML schemas)
  • ASoC drivers (q6apm-lpass-dais, q6apm-dai, sc8280xp machine driver)
  • DTS files (shikra.dtsi, shikra-*-evk.dts)
  • defconfig (arm64)

Files Modified:

  • Documentation/devicetree/bindings/sound/ (4 files)
  • sound/soc/qcom/qdsp6/ (8 files)
  • sound/soc/qcom/ (2 files)
  • arch/arm64/boot/dts/qcom/ (5 files)
  • arch/arm64/configs/defconfig (1 file)

Diff Quality:

  • ✅ Changes are focused and well-scoped
  • ✅ No unrelated modifications
  • ✅ Proper use of helper functions and abstractions
  • ⚠️ PENDING patches introduce significant new code without upstream review

Verdict

Overall Assessment: ⚠️ PARTIAL PASS with conditions

Recommendation

FROMLIST + FROMGIT patches (1-23):Acceptable for integration

  • These patches are either accepted upstream (patch 21) or actively under review (patches 1-20, 22-23)
  • Commit messages are well-formed with proper lore links
  • Authorship and sign-off chains are correct

PENDING patches (24-28):Should not be merged until posted upstream

  • Patch 24 (bug fix) should be posted independently to LKML
  • Patches 25-28 (carveout feature) should be posted as a series
  • DT binding changes (patch 27) require DT maintainer review
  • Shikra DTS changes (patch 28) depend on binding acceptance

Action Items

  1. Post PENDING patches upstream:

    • Patch 24: Post as standalone bug fix to alsa-devel@
    • Patches 25-27: Post as feature series to alsa-devel@ and devicetree@
    • Patch 28: Post to linux-arm-msm@ after patches 25-27 are accepted
  2. Fix patch 3 subject line:

    • Remove duplicate "ASoC: qcom: sc8280xp:" prefix
  3. Verify FROMLIST patches:

    • Once lore links become accessible, verify diff content matches upstream submissions
    • Check for any review feedback that needs to be addressed

Final Summary

  1. Lore link present:

    • Yes for patches 1-23 (FROMLIST/FROMGIT)
    • No for patches 24-28 (PENDING) — not posted upstream
  2. Lore link matches PR commits:

    • Cannot verify — lore links dated 2026-06-08 to 2026-06-16 return empty (too recent or future-dated)
    • Commit messages and structure appear correct based on format
  3. Upstream patch status:

    • Patches 1-20, 22-23: In review (FROMLIST, posted June 2026)
    • Patch 21: Upstreamed (FROMGIT, commit 8ea6e25)
    • Patches 24-28: Not upstream (PENDING, no submission)
  4. PR present in qcom-next:

    • Not checked — no access to qcom-next branch
    • FROMLIST patches should be tracked for upstream acceptance before merging to qcom-next

@qlijarvis

Copy link
Copy Markdown

PR #734 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Merge conflict - cannot run
dt-binding-check Merge conflict - cannot run
dtb-check Merge conflict - cannot run
sparse-check Merge conflict - cannot run
check-uapi-headers Merge conflict - cannot run
check-patch-compliance Merge conflict - cannot run
tag-check N/A Not executed due to merge failure
qcom-next-check N/A Not executed due to merge failure

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #734 - ASoC: q6apm-lpass-dais and related audio patches (28 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27732501460

Checker Result Summary
checkpatch Merge conflict - cannot run
dt-binding-check Merge conflict - cannot run
dtb-check Merge conflict - cannot run
sparse-check Merge conflict - cannot run
check-uapi-headers Merge conflict - cannot run
check-patch-compliance Merge conflict - cannot run
tag-check N/A Not executed due to merge failure
qcom-next-check N/A Not executed due to merge failure

❌ All Checkers - Merge Conflict Blocker

Root cause: PR #734 cannot be merged cleanly into the target branch due to conflicts in 4 Shikra device tree files.

Failure details:

CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra.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.

All six kernel-checker jobs (checkpatch, dt-binding-check, dtb-check, sparse-check, check-uapi-headers, check-patch-compliance) failed at the merge stage before any actual validation could run.

Conflicting files:

  • arch/arm64/boot/dts/qcom/shikra.dtsi
  • arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
  • arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
  • arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts

Fix: Rebase the PR branch on the latest target branch to resolve conflicts.

Steps to resolve:

  1. Fetch the latest target branch (likely qcom-6.18.y or similar)
  2. Rebase PR ASoC: qcom: add q6apm VMID support and qdsp6 GPR destination-domain routing #734 onto the updated target:
    git fetch origin
    git rebase origin/<target-branch>
  3. Manually resolve conflicts in the 4 Shikra DTS files
  4. For each conflict, examine both sides and integrate changes appropriately:
    • The PR adds audio-related nodes (q6apm-lpass-dais, sound card configuration)
    • The target branch likely has other device tree updates
  5. After resolving each file:
    git add arch/arm64/boot/dts/qcom/shikra*.dts*
    git rebase --continue
  6. Force-push the rebased branch to trigger a new CI run

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel.git
cd kernel
git fetch origin pull/734/head:pr-734
git checkout pr-734
git merge origin/<target-branch>
# Conflicts will appear in the 4 files listed above

Verdict

BLOCKED: PR cannot be merged due to 4 merge conflicts in Shikra device tree files. The PR must be rebased on the latest target branch and conflicts resolved before any code quality checks can run. Once rebased, all checkers will need to be re-run to validate the patches.

@nandamajay nandamajay left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #734

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts No Base branch has diverged; PR adds audio support while base branch has conflicting changes
2 Merge conflict arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts No Base branch has diverged; PR adds audio support while base branch has conflicting changes
3 Merge conflict arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts No Base branch has conflicting changes to the same device tree files
4 Merge conflict arch/arm64/boot/dts/qcom/shikra.dtsi No Base branch has conflicting changes to the same device tree files

Verdict

This is NOT a compilation failure. All 4 errors are merge conflicts that occurred during PR integration. The build never started because the merge failed. These conflicts are pre-existing (not introduced by the PR code itself) and result from concurrent changes to Shikra device tree files in the base branch.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #734

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

# Error File:Line PR-introduced? Root Cause
1 Merge conflict (content) arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts N/A The PR modifies this file (adds audio support) but conflicts with changes already merged into qcom-6.18.y base branch
2 Merge conflict (content) arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts N/A The PR modifies this file (adds audio support) but conflicts with changes already merged into qcom-6.18.y base branch
3 Merge conflict (content) arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts N/A The PR modifies this file (adds audio support) but conflicts with changes already merged into qcom-6.18.y base branch
4 Merge conflict (content) arch/arm64/boot/dts/qcom/shikra.dtsi N/A The PR modifies this file multiple times (adds QAIF CPU node, GPR node, soundwire) but conflicts with changes already merged into qcom-6.18.y base branch

Verdict

This is not a compilation failure. The build failed during the merge stage before any compilation could occur. All 4 conflicts are merge conflicts between the PR changes and the current qcom-6.18.y base branch. The PR needs to be rebased on the latest qcom-6.18.y to resolve these conflicts.

📎 Detailed analysis: Full report

@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from 7f072c9 to d42220e Compare June 18, 2026 05:12
@sgaud-quic

Copy link
Copy Markdown
Contributor

Build Failed :

/opt/actions-runner/_work/kernel-config/kernel-config/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts:8:10: fatal error: dt-bindings/sound/qcom,qaif.h: No such file or directory
    8 | #include <dt-bindings/sound/qcom,qaif.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[6]: *** [/opt/actions-runner/_work/kernel-config/kernel-config/scripts/Makefile.dtbs:132: arch/arm64/boot/dts/qcom/shikra-cqm-evk.dtb] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [/opt/actions-runner/_work/kernel-config/kernel-config/scripts/Makefile.build:544: arch/arm64/boot/dts/qcom] Error 2
make[4]: *** [/opt/actions-runner/_work/kernel-config/kernel-config/Makefile:1498: dtbs] Error 2

@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from d42220e to 084d6c6 Compare June 18, 2026 05:35
@mohsRafi

mohsRafi commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

Build Failed :

/opt/actions-runner/_work/kernel-config/kernel-config/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts:8:10: fatal error: dt-bindings/sound/qcom,qaif.h: No such file or directory
    8 | #include <dt-bindings/sound/qcom,qaif.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[6]: *** [/opt/actions-runner/_work/kernel-config/kernel-config/scripts/Makefile.dtbs:132: arch/arm64/boot/dts/qcom/shikra-cqm-evk.dtb] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [/opt/actions-runner/_work/kernel-config/kernel-config/scripts/Makefile.build:544: arch/arm64/boot/dts/qcom] Error 2
make[4]: *** [/opt/actions-runner/_work/kernel-config/kernel-config/Makefile:1498: dtbs] Error 2

This change Depends on other changes (Depends on: #725, #723, #726), just need to do Rebase.

will rebase once Dependency changes got merged

@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from 084d6c6 to a267eef Compare June 18, 2026 15:12
@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #734

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

Build Status: Merge Conflict (Not a Compilation Failure)

The build failed during the git merge phase before any compilation could occur. The PR could not be automatically merged into the base branch qcom-6.18.y due to conflicts in device tree files.

# Conflict Type File PR-introduced? Root Cause
1 Merge conflict arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts N/A Concurrent changes to the same file in both PR and base branch
2 Merge conflict arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts N/A Concurrent changes to the same file in both PR and base branch
3 Merge conflict arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts N/A Concurrent changes to the same file in both PR and base branch

Verdict

No compilation errors found. The build failed due to 3 git merge conflicts that must be resolved before the kernel can be compiled. The PR changes themselves did not introduce any compilation errors—the merge conflicts prevented the build from starting.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #734

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

# Error File:Line PR-introduced? Root Cause
1 Git merge conflict arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts No (base branch divergence) The base branch qcom-6.18.y has been updated with conflicting changes to this file since the PR was created. The PR adds audio sound card configuration that conflicts with recent base branch updates.
2 Git merge conflict arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts No (base branch divergence) The base branch qcom-6.18.y has been updated with conflicting changes to this file since the PR was created. The PR adds audio sound card configuration that conflicts with recent base branch updates.
3 Git merge conflict arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts No (base branch divergence) The base branch qcom-6.18.y has been updated with conflicting changes to this file since the PR was created. The PR adds audio sound card configuration that conflicts with recent base branch updates.

Verdict

This is NOT a compilation failure. All 3 errors are Git merge conflicts caused by the base branch diverging from the PR branch. The PR needs to be rebased on the latest qcom-6.18.y to resolve these conflicts. No code introduced by this PR is causing compilation errors.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

PR #734 — validate-patch

PR: #734

Verdict Issues Detailed Report
1 Full report

Final Summary

  1. Lore link present: Yes — all 15 commits have lore.kernel.org links
  2. Lore link matches PR commits: Cannot verify directly (links dated June 2026, future date) — this is expected for FROMLIST patches that are posted to the mailing list but not yet merged
  3. Upstream patch status:
    • 14 commits: FROMLIST (posted to mailing list, under review)
    • 1 commit: FROMGIT (already merged upstream, backported with modifications noted)
  4. PR present in qcom-next: Not checked — FROMLIST patches are pending upstream acceptance
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #734 - Shikra audio support (QAIF, GPR, SoundWire, mDSP carveout)
Upstream commits: Multiple FROMLIST patches + 1 FROMGIT
Verdict: ✅ PASS (with minor typo in patch 11/15)

Commit Message

Check Status Note
Subject matches upstream All 15 commits have proper FROMLIST/FROMGIT prefixes
Body preserves rationale Clear explanations in all commits
Fixes tag present/correct N/A No Fixes tags (new feature patches)
Authorship preserved All authors properly credited with Signed-off-by
Backport note (if applicable) Patch 10/15 (FROMGIT) includes backport note

Diff

File Status Notes
Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml Adds modem_apps GLINK channel
Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml Adds qcom,vmid and memory-region properties
arch/arm64/boot/dts/qcom/shikra*.dts* Audio nodes, GPR, SoundWire, sound cards
arch/arm64/configs/defconfig Enables QAIF and Rouleur codec
sound/soc/qcom/qdsp6/*.c SCM assignment, GPR domain, early buffer mapping

Issues

  • Patch 11/15: Minor typo in commit message - "uffers" should be "buffers"
    (Line: "Add optional VMID-based SCM memory assignment for q6apm fixed PCM DMA uffers when qcom,vmid is provided in DT.")

Verdict

Merge as-is. The typo is cosmetic and does not affect code functionality or upstream acceptance. All commits follow kernel standards with proper lore links, authorship preservation, and commit message structure.

Detailed Commit Analysis

Patches 01-09, 11-15 (FROMLIST):

  • ✅ All have lore.kernel.org links
  • ✅ Proper FROMLIST prefix indicating patches under upstream review
  • ✅ Authors: Mohammad Rafi Shaik, Ajay Kumar Nandam, with appropriate Co-developed-by tags
  • ✅ Signed-off-by chains are correct
  • ✅ Commit messages provide clear technical rationale

Patch 10/15 (FROMGIT):

Final Summary

  1. Lore link present: Yes — all 15 commits have lore.kernel.org links
  2. Lore link matches PR commits: Cannot verify directly (links dated June 2026, future date) — this is expected for FROMLIST patches that are posted to the mailing list but not yet merged
  3. Upstream patch status:
    • 14 commits: FROMLIST (posted to mailing list, under review)
    • 1 commit: FROMGIT (already merged upstream, backported with modifications noted)
  4. PR present in qcom-next: Not checked — FROMLIST patches are pending upstream acceptance

@qlijarvis

Copy link
Copy Markdown

PR #734 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Merge conflict - cannot run
dt-binding-check Merge conflict - cannot run
dtb-check Merge conflict - cannot run
sparse-check Merge conflict - cannot run
check-uapi-headers Merge conflict - cannot run
check-patch-compliance Merge conflict - cannot run
tag-check ⏭️ Not applicable (FROMLIST/FROMGIT commits)
qcom-next-check FROMLIST:/FROMGIT: commits only

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #734 - Add audio support for Shikra (QAIF, GPR, Soundwire, and codec enablement)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27769547318

Checker Result Summary
checkpatch Merge conflict - cannot run
dt-binding-check Merge conflict - cannot run
dtb-check Merge conflict - cannot run
sparse-check Merge conflict - cannot run
check-uapi-headers Merge conflict - cannot run
check-patch-compliance Merge conflict - cannot run
tag-check ⏭️ Not applicable (FROMLIST/FROMGIT commits)
qcom-next-check FROMLIST:/FROMGIT: commits only

❌ All Checkers (Merge Conflict)

Root cause: PR #734 cannot be merged cleanly into the target branch qcom-6.18.y due to conflicts in three device tree files.

Failure details:

CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
Automatic merge failed; fix conflicts and then commit the result.
##[error]Process completed with exit code 3.

All six checker jobs (checkpatch, dt-binding-check, dtb-check, sparse-check, check-uapi-headers, check-patch-compliance) failed at the merge stage before any actual validation could run.

Analysis:
The PR adds comprehensive audio support for the Shikra platform across 15 commits:

  • DT binding updates for APR/GPR and Q6APM-DAI
  • QAIF CPU node, GPR node, Soundwire, and audio macro additions to shikra.dtsi
  • Audio enablement for three EVK variants: CQM, CQS, and IQS
  • Driver-side changes for VMID-based SCM permissions and carveout handling

The conflicts occur in patches 06-08 which enable audio on the three EVK board files. These files have likely been modified on the target branch since the PR was created, causing the merge to fail.

Fix:

  1. Rebase the PR branch onto the latest qcom-6.18.y:

    git fetch origin qcom-6.18.y
    git rebase origin/qcom-6.18.y
  2. Resolve conflicts in the three DTS files:

    • arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
    • arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
    • arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts

    For each file, manually merge the audio-related additions (sound nodes, codec configurations, DAI links) with any new content that was added to the target branch.

  3. Complete the rebase:

    git add <resolved-files>
    git rebase --continue
  4. Force-push the rebased branch:

    git push --force-with-lease
  5. Re-trigger CI: The kernel-checker workflow will automatically run on the updated PR.

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel.git
cd kernel
git checkout qcom-6.18.y
git fetch origin pull/734/head:pr-734
git merge --no-commit pr-734
# Observe the same three merge conflicts

Verdict

1 blocker to fix: Merge conflicts must be resolved before any checker validation can proceed. Once rebased, all checkers will run and the PR can be evaluated for code quality, DT schema compliance, and patch formatting.

@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from a267eef to bac1145 Compare June 18, 2026 17:20
Srinivas Kandagatla and others added 3 commits June 18, 2026 23:16
Buffers are allocated on pcm_new and mapped in the dsp on every
prepare call, which is inefficient and unnecessary.

Add new functions q6apm_[un]map_memory_fixed_region to map it on
to dsp only once after allocation.

The push-pull / pos-buffer parts of the upstream commit are not
included as that infrastructure does not exist in this 6.18 branch.

Link: https://patch.msgid.link/20260402081118.348071-14-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Add optional VMID-based SCM memory assignment for q6apm fixed PCM DMA
uffers when qcom,vmid is provided in DT.

On platforms where audio processing runs outside HLOS, LPASS PCM DMA
buffers must be shared with secure/non-HLOS VMIDs so both endpoints can
access the same payload memory.

Keep HLOS as an RW owner and grant configured destination VMIDs RW
access so both playback and capture data paths remain functional.

Assign and unassign SCM permissions at fixed-buffer lifetime boundaries:
assign in pcm_new() after fixed buffer allocation/map, and restore HLOS
ownership in pcm_free() before unmap.

Link: https://lore.kernel.org/all/20260609064038.492641-3-ajay.nandam@oss.qualcomm.com/
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Use each GPR domain advertised by the qcom APR/GPR layer when building
APM/PRM packets and add explicit dest_domain parameters to all AudioReach
alloc helpers. Legacy helpers fall back to ADSP while graphs,
media-format, and shared-memory packets reuse gdev->domain_id for
modem targets.

Also fix q6prm_set_hw_core_req() which was left with the old 5-argument
audioreach_alloc_cmd_pkt() call and a stray duplicate call appended
outside any function after MODULE_LICENSE. Replace with the correct
6-argument form passing audioreach_gpr_dest_domain(gdev) and remove
the stray lines.

Link: https://lore.kernel.org/all/20260609064038.492641-4-ajay.nandam@oss.qualcomm.com/
Co-developed-by: Pratyush Meduri <mpratyus@qti.qualcomm.com>
Signed-off-by: Pratyush Meduri <mpratyus@qti.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from bac1145 to 8861cc8 Compare June 18, 2026 17:52
Komal-Bajaj
Komal-Bajaj previously approved these changes Jun 18, 2026
@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 ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ◻️ ✅ Pass ⚠️ skip ⚠️ 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 ✅ Pass ❌ 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 ◻️ ❌ Fail ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ◻️ ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail ◻️
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 ❌ Fail ◻️
rngtest ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ◻️ ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ◻️

@sgaud-quic

Copy link
Copy Markdown
Contributor

PR #734 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch All 6 commits clean — 0 errors, 0 warnings
dt-binding-check ⚠️ Passed for qcom,q6apm-dai.yaml but emits memory-region: too short on example DTB (see note)
dtb-check New errors introduced: memory-region: too short + Unevaluated properties on shikra EVK DTBs; interrupts_property line-shift is a false positive
sparse-check Passed — no new sparse warnings in PR files
check-uapi-headers Passed
check-patch-compliance All 6 commits report "Change is different from the one mentioned in Link"
tag-check All commits carry correct FROMGIT: / FROMLIST: prefixes
qcom-next-check ⏭️ N/A — this is a qcom-6.18.y stable PR, not qcom-next

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #734 — ASoC/DTS: qcom: q6apm mDSP carveout + SCM assignment
Base branch: qcom-6.18.y → HEAD 8861cc8f1e22f179adee57c9024e2976822d44b2
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27778863653

Checker Result Summary
checkpatch All 6 commits clean — 0 errors, 0 warnings
dt-binding-check ⚠️ Passed for qcom,q6apm-dai.yaml but emits memory-region: too short on example DTB (see note)
dtb-check New errors introduced: memory-region: too short + Unevaluated properties on shikra EVK DTBs; interrupts_property line-shift is a false positive
sparse-check Passed — no new sparse warnings in PR files
check-uapi-headers Passed
check-patch-compliance All 6 commits report "Change is different from the one mentioned in Link"
tag-check All commits carry correct FROMGIT: / FROMLIST: prefixes
qcom-next-check ⏭️ N/A — this is a qcom-6.18.y stable PR, not qcom-next

❌ dtb-check

Root cause: The new memory-region property added to qcom,q6apm-dais nodes in shikra.dtsi is validated against the updated qcom,q6apm-dai.yaml schema, but the schema defines memory-region without a $ref to the standard phandle-array type. The DT validator therefore applies a default type that expects each phandle entry to carry additional cells (size ≥ 3 per entry), while the DTS supplies bare phandles (1 cell each) — causing the "is too short" error. Additionally, shikra-cqs-evk and shikra-iqs-evk DTBs hit "Unevaluated properties are not allowed ('memory-region' was unexpected)" because those board files do not include iommus (a required: field), so the schema match fails entirely and memory-region is treated as unknown.

Failure details (new errors introduced by this PR, from diff output):

shikra-cqm-evk.dtb: dais (qcom,q6apm-dais): memory-region: [[133], [134]] is too short
shikra-cqs-evk.dtb: dais (qcom,q6apm-dais): memory-region: [[131], [132]] is too short
shikra-cqs-evk.dtb: service@1 (qcom,q6apm): dais: Unevaluated properties are not allowed ('memory-region' was unexpected)
shikra-iqs-evk.dtb: dais (qcom,q6apm-dais): memory-region: [[123], [124]] is too short
shikra-iqs-evk.dtb: service@1 (qcom,q6apm): dais: Unevaluated properties are not allowed ('memory-region' was unexpected)
shikra-cqm-evk-imx577-camera.dtb: dais (qcom,q6apm-dais): memory-region: [[133], [134]] is too short
shikra-cqs-evk-imx577-camera.dtb: dais (qcom,q6apm-dais): memory-region: [[131], [132]] is too short
shikra-iqs-evk-imx577-camera.dtb: dais (qcom,q6apm-dais): memory-region: [[123], [124]] is too short

Note — interrupts_property warnings are a false positive: The base tree already had shikra.dtsi:3241 interrupts_property warnings. The PR adds 9 lines before that point, shifting the line number to 3250. The diff-based checker sees them as "new" because the line reference changed, but the underlying issue is pre-existing and unrelated to this PR.

Note — dt-binding-check: The checker reports passed for qcom,q6apm-dai.yaml at the end (dt_binding_check passed … dtbs_check passed), but it does emit a memory-region: [[4294967295], [4294967295]] is too short error on the binding's own example DTB. This is the same root cause as the dtb-check failure and should be fixed together.

Fix: In Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml, add a proper type reference for memory-region so the validator knows each entry is a bare phandle (no extra cells):

  memory-region:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      maxItems: 1          # each entry is a single phandle, no #memory-region-cells
    description: ...
    maxItems: 8

For the shikra-cqs-evk / shikra-iqs-evk Unevaluated properties errors: those boards are missing iommus in their dais node. Either add iommus to those board files, or (if intentional) make iommus conditional in the schema (e.g. move it out of required: and use if/then).

Reproduce locally:

make -C <kernel-src> ARCH=arm64 \
  dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml
make -C <kernel-src> ARCH=arm64 \
  dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml

❌ check-patch-compliance

Root cause: All 6 commits report "Change is different from the one mentioned in Link" — the local patch content diverges from the upstream lore patch referenced in each commit's Link: trailer. This is expected for FROMLIST patches that have been locally adapted (e.g. rebased, conflict-resolved, or cherry-picked with modifications), but the checker treats any diff as a compliance failure.

Failure details:

Checking commit: FROMGIT: ASoC: qcom: q6apm: Add support for early buffer mapping on DSP
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add VMID-based SCM assignment
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: qdsp6: generalize GPR service domain
Change is different from the one mentioned in Link

Checking commit: FROMLIST: dt-bindings: sound: qcom,q6apm-dai: add memory-region property
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add MDSP carveout memory and update APM DAIs memory regions
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add carveout SCM assignment for mDSP buffers
Change is different from the one mentioned in Link

Fix: Review each commit against its upstream lore link and determine whether the divergence is intentional (local adaptation for qcom-6.18.y) or accidental (unintended changes crept in). For each commit:

  • If the divergence is intentional (backport adaptation), document it in the commit message body (e.g. [Backport note: adapted for qcom-6.18.y — <reason>]). The checker may still flag it, but the reviewer can make an informed decision.
  • If the divergence is accidental, re-sync the commit to match the upstream lore patch exactly.

The FROMGIT commit (92af49e87926) links to patch.msgid.link/20260402081118.348071-14-srinivas.kandagatla@oss.qualcomm.com — verify this is the correct upstream reference and that the local adaptation is intentional.

Reproduce locally:

# For each commit, fetch the lore patch and diff against local:
b4 am <lore-message-id> -o /tmp/upstream.patch
git diff HEAD~1 HEAD -- <changed-files> > /tmp/local.patch
diff /tmp/upstream.patch /tmp/local.patch

Verdict

2 blockers to fix: dtb-check fails due to a missing $ref: /schemas/types.yaml#/definitions/phandle-array on the new memory-region property in qcom,q6apm-dai.yaml (causing "too short" validation errors across all shikra EVK DTBs), and check-patch-compliance fails because all 6 commits diverge from their upstream lore references — each divergence must be reviewed and either documented or corrected before merge.

@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 ✅ Pass ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️

@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from 8861cc8 to 7cb3868 Compare June 19, 2026 02:05
@qcomlnxci qcomlnxci requested a review from a team June 19, 2026 02:07
@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 ✅ Pass ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️

Ajay Kumar Nandam added 3 commits June 19, 2026 09:09
Document the new memory-region property that allows one or more
reserved-memory carveout regions to be SCM-assigned to the VMIDs
listed in qcom,vmid.

- Add memory-region as an optional phandle-array (1-8 entries).
  Each entry must point to a shared-dma-pool, no-map reserved-memory
  node. Index 0 is the control-path buffer; subsequent entries are
  data-path buffers.
- Enforce via dependentRequired that memory-region is only valid
  when qcom,vmid is also present.
- Expand qcom,vmid description to mention carveout regions and the
  qcom_scm_is_available() probe-defer requirement.
- Add a second example showing both properties in use with two
  carveout regions and two destination VMIDs.

Link: https://lore.kernel.org/all/20260618113509.2025881-2-ajay.nandam@oss.qualcomm.com/
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
…te APM DAIs memory regions

Add a dedicated MDSP carveout memory region for audio usecases on
Shikra and mark both existing audio heap and MDSP carveout regions
as shared DMA pools.

Update the Q6 APM DAI node to reference multiple memory regions,
where index 0 is used for control path buffers and index 1 is used
for MDSP data path buffers. This separation ensures proper memory
allocation and access for APM communication between APSS and MDSP.

Also add shared-dma-pool compatibility to the existing audio heap
region to align with upstream DMA pool usage.

Link: https://lore.kernel.org/all/20260618113509.2025881-3-ajay.nandam@oss.qualcomm.com/
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
… buffers

On targets like Shikra where audio processing runs on the mDSP
(modem DSP) instead of the ADSP, the DSP operates with stage-2
secured memory. Unlike ADSP platforms where SMMU-mapped system RAM
is directly accessible, mDSP cannot access buffers unless they are
explicitly SCM-assigned to the appropriate VMIDs. This requires
allocating PCM DMA buffers from reserved carveout regions and
performing SCM assignment to grant both HLOS and the mDSP shared
RW access.

Add support for reserved-memory carveout regions listed in the
memory-region DT property of the q6apm-dais node. When qcom,vmid
is configured, all carveout regions are SCM-assigned to HLOS + the
configured destination VMIDs (RW) at pcm_new() time and ownership is
restored to HLOS-only at pcm_free().

For the data-path region (memory-region index 1), the device DMA pool
is attached via of_reserved_mem_device_init_by_idx() so that
snd_pcm_set_managed_buffer_all() allocates PCM buffers directly from
the carveout. The pool size is read from the DT node and capped at
BUFFER_BYTES_MAX.

All paths are gated on use_scm_assign and has_reserved_mem so existing
platforms without memory-region or qcom,vmid in DT are completely
unaffected.

Link: https://lore.kernel.org/all/20260618112810.2009847-1-ajay.nandam@oss.qualcomm.com/
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
@mohsRafi mohsRafi force-pushed the Enable_Shikra_audio_VMID branch from 7cb3868 to 9fc912a Compare June 19, 2026 03:42
@sgaud-quic

Copy link
Copy Markdown
Contributor

PR #734 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 0 errors, 0 warnings, 0 checks across all 6 commits
dt-binding-check qcom,q6apm-dai.yaml and qcom,q6apm-lpass-dais.yaml both pass dt_binding_check + dtbs_check
dtb-check New interrupts_property warnings introduced in shikra.dtsi (4 unique nodes, exit code 1)
sparse-check sparse-check.sh passed — no new sparse errors
check-uapi-headers No UAPI header changes detected; passed
check-patch-compliance All 6 commits fail: "Change is different from the one mentioned in Link" (exit code 1)
tag-check All commits carry valid FROMGIT: or FROMLIST: prefixes
qcom-next-check ⏭️ N/A — target branch is qcom-6.18.y, not qcom-next/qcom-next-staging

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #734 — ASoC: qcom: q6apm early buffer mapping + mDSP carveout (6 commits, FROMGIT/FROMLIST, base: qcom-6.18.y)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27803992169

Checker Result Summary
checkpatch 0 errors, 0 warnings, 0 checks across all 6 commits
dt-binding-check qcom,q6apm-dai.yaml and qcom,q6apm-lpass-dais.yaml both pass dt_binding_check + dtbs_check
dtb-check New interrupts_property warnings introduced in shikra.dtsi (4 unique nodes, exit code 1)
sparse-check sparse-check.sh passed — no new sparse errors
check-uapi-headers No UAPI header changes detected; passed
check-patch-compliance All 6 commits fail: "Change is different from the one mentioned in Link" (exit code 1)
tag-check All commits carry valid FROMGIT: or FROMLIST: prefixes
qcom-next-check ⏭️ N/A — target branch is qcom-6.18.y, not qcom-next/qcom-next-staging

❌ check-patch-compliance

Root cause: The local diff for every commit in the PR does not match the patch referenced by its Link: trailer — the checker script reports "Change is different from the one mentioned in Link" for all 6 commits.

Failure details:

Checking commit: FROMGIT: ASoC: qcom: q6apm: Add support for early buffer mapping on DSP
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add VMID-based SCM assignment
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: qdsp6: generalize GPR service domain
Change is different from the one mentioned in Link

Checking commit: FROMLIST: dt-bindings: sound: qcom,q6apm-dai: add memory-region property
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add MDSP carveout memory and update APM DAIs memory regions
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add carveout SCM assignment for mDSP buffers
Change is different from the one mentioned in Link

##[error]Process completed with exit code 1.

Fix: For each commit, verify that the diff applied in the PR exactly matches the patch at the Link: URL. Common causes:

  • Local adaptations (backport fixups, context adjustments) were made without updating the Link: to point to the correct version.
  • The FROMGIT: commit (patch 1/6) may have been rebased or amended upstream after the Link: was recorded — update the Link: to the final merged/accepted SHA.
  • For FROMLIST: commits, if the mailing-list patch was revised (v2, v3, etc.), the Link: must point to the exact version that matches the applied diff.
  • If intentional local modifications exist (e.g. backport adaptations), the commit message should document them and the Link: should still point to the closest upstream version; however the checker requires a byte-for-byte diff match, so any delta must be removed or the upstream patch must be updated to match.

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel-checkers.git
bash kernel-checkers/check-patch-compliance.sh \
  --kernel-src <path-to-kernel> \
  --base afef7d241a180e74fd71c5e1882ef95108c6194e \
  --head f993d30249c74a4c3ba0ad6312534a7eb2f34f34

❌ dtb-check

Root cause: Patch 5/6 (shikra.dtsi) adds a new audio_mdsp_carveout_mem reserved-memory node and modifies audio_heap_mem; the resulting DTB introduces new interrupts_property warnings for 4 nodes in shikra.dtsi at line 3377 that were not present in the base tree.

Failure details:

Log Summary: Test failed
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/pcie@45e8000:#interrupt-cells: size is (108), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/mmc@4784000:#interrupt-cells: size is (24), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/ethernet@5d00000:#interrupt-cells: size is (12), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/ethernet@5d20000:#interrupt-cells: size is (12), expected multiple of 16

##[error]Process completed with exit code 1.

Analysis: The warnings all point to shikra.dtsi:3377 — the same source line — which is the interrupts property of the newly added audio_mdsp_carveout_mem node or a nearby node whose line numbering shifted due to the 8-line insertion in the reserved-memory block. The interrupts_property check fires when #interrupt-cells size is not a multiple of 16 bytes. This is a pre-existing issue in the shikra.dtsi tree for PCIe/MMC/Ethernet nodes that was masked before (not present in the base log) but is now surfaced because the PR's DTS change altered the compiled DTB layout or line offsets in a way that the diff-based filter (grep -vFf base_dtbs_errors.log) no longer suppresses them.

Fix options:

  1. Preferred: Investigate whether the interrupts cell counts for pcie@45e8000 (108 bytes), mmc@4784000 (24 bytes), and ethernet@5d00000/5d20000 (12 bytes) are genuinely wrong. If so, fix the #interrupt-cells or interrupts property in shikra.dtsi as part of this PR or in a follow-up.
  2. Workaround: If these are pre-existing baseline warnings that were already present before this PR (just at different line numbers), confirm with the CI maintainer whether the dtb-check baseline needs to be refreshed. The checker uses a line-exact diff filter, so a line-number shift can cause previously-suppressed warnings to re-appear as "new."

Reproduce locally:

# Build DTBs for head and base, then diff the dtc warning output:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) dtbs 2>&1 | \
  grep "shikra" > head_dtbs_errors.log
# Compare against base build output
grep -vFf base_dtbs_errors.log head_dtbs_errors.log

Verdict

2 blockers to fix: check-patch-compliance fails for all 6 commits (diff mismatch vs. Link: URLs) and dtb-check fails with 4 new interrupts_property warnings introduced in shikra.dtsi by patch 5/6.

@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 ✅ Pass ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️
Ethernet ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
gpdsp_remoteproc ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ❌ Fail ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️

@nandamajay

Copy link
Copy Markdown

PR #734 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ✅ 0 errors, 0 warnings, 0 checks across all 6 commits
dt-binding-check ✅ qcom,q6apm-dai.yaml and qcom,q6apm-lpass-dais.yaml both pass dt_binding_check + dtbs_check
dtb-check ❌ New interrupts_property warnings introduced in shikra.dtsi (4 unique nodes, exit code 1)
sparse-check ✅ sparse-check.sh passed — no new sparse errors
check-uapi-headers ✅ No UAPI header changes detected; passed
check-patch-compliance ❌ All 6 commits fail: "Change is different from the one mentioned in Link" (exit code 1)
tag-check ✅ All commits carry valid FROMGIT: or FROMLIST: prefixes
qcom-next-check ⏭️ N/A — target branch is qcom-6.18.y, not qcom-next/qcom-next-staging
Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #734 — ASoC: qcom: q6apm early buffer mapping + mDSP carveout (6 commits, FROMGIT/FROMLIST, base: qcom-6.18.y)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27803992169

Checker
Result
Summary

checkpatch

0 errors, 0 warnings, 0 checks across all 6 commits

dt-binding-check

qcom,q6apm-dai.yaml and qcom,q6apm-lpass-dais.yaml both pass dt_binding_check + dtbs_check

dtb-check

New interrupts_property warnings introduced in shikra.dtsi (4 unique nodes, exit code 1)

sparse-check

sparse-check.sh passed — no new sparse errors

check-uapi-headers

No UAPI header changes detected; passed

check-patch-compliance

All 6 commits fail: "Change is different from the one mentioned in Link" (exit code 1)

tag-check

All commits carry valid FROMGIT: or FROMLIST: prefixes

qcom-next-check
⏭️
N/A — target branch is qcom-6.18.y, not qcom-next/qcom-next-staging

❌ check-patch-compliance

Root cause: The local diff for every commit in the PR does not match the patch referenced by its Link: trailer — the checker script reports "Change is different from the one mentioned in Link" for all 6 commits.
Failure details:

Checking commit: FROMGIT: ASoC: qcom: q6apm: Add support for early buffer mapping on DSP
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add VMID-based SCM assignment
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: qdsp6: generalize GPR service domain
Change is different from the one mentioned in Link

Checking commit: FROMLIST: dt-bindings: sound: qcom,q6apm-dai: add memory-region property
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add MDSP carveout memory and update APM DAIs memory regions
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add carveout SCM assignment for mDSP buffers
Change is different from the one mentioned in Link

##[error]Process completed with exit code 1.

Fix: For each commit, verify that the diff applied in the PR exactly matches the patch at the Link: URL. Common causes:

  • Local adaptations (backport fixups, context adjustments) were made without updating the Link: to point to the correct version.
  • The FROMGIT: commit (patch 1/6) may have been rebased or amended upstream after the Link: was recorded — update the Link: to the final merged/accepted SHA.
  • For FROMLIST: commits, if the mailing-list patch was revised (v2, v3, etc.), the Link: must point to the exact version that matches the applied diff.
  • If intentional local modifications exist (e.g. backport adaptations), the commit message should document them and the Link: should still point to the closest upstream version; however the checker requires a byte-for-byte diff match, so any delta must be removed or the upstream patch must be updated to match.

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel-checkers.git
bash kernel-checkers/check-patch-compliance.sh \
  --kernel-src <path-to-kernel> \
  --base afef7d241a180e74fd71c5e1882ef95108c6194e \
  --head f993d30249c74a4c3ba0ad6312534a7eb2f34f34

❌ dtb-check

Root cause: Patch 5/6 (shikra.dtsi) adds a new audio_mdsp_carveout_mem reserved-memory node and modifies audio_heap_mem; the resulting DTB introduces new interrupts_property warnings for 4 nodes in shikra.dtsi at line 3377 that were not present in the base tree.
Failure details:

Log Summary: Test failed
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/pcie@45e8000:#interrupt-cells: size is (108), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/mmc@4784000:#interrupt-cells: size is (24), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/ethernet@5d00000:#interrupt-cells: size is (12), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/ethernet@5d20000:#interrupt-cells: size is (12), expected multiple of 16

##[error]Process completed with exit code 1.

Analysis: The warnings all point to shikra.dtsi:3377 — the same source line — which is the interrupts property of the newly added audio_mdsp_carveout_mem node or a nearby node whose line numbering shifted due to the 8-line insertion in the reserved-memory block. The interrupts_property check fires when #interrupt-cells size is not a multiple of 16 bytes. This is a pre-existing issue in the shikra.dtsi tree for PCIe/MMC/Ethernet nodes that was masked before (not present in the base log) but is now surfaced because the PR's DTS change altered the compiled DTB layout or line offsets in a way that the diff-based filter (grep -vFf base_dtbs_errors.log) no longer suppresses them.
Fix options:

  1. Preferred: Investigate whether the interrupts cell counts for pcie@45e8000 (108 bytes), mmc@4784000 (24 bytes), and ethernet@5d00000/5d20000 (12 bytes) are genuinely wrong. If so, fix the #interrupt-cells or interrupts property in shikra.dtsi as part of this PR or in a follow-up.
  2. Workaround: If these are pre-existing baseline warnings that were already present before this PR (just at different line numbers), confirm with the CI maintainer whether the dtb-check baseline needs to be refreshed. The checker uses a line-exact diff filter, so a line-number shift can cause previously-suppressed warnings to re-appear as "new."

Reproduce locally:

# Build DTBs for head and base, then diff the dtc warning output:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) dtbs 2>&1 | \
  grep "shikra" > head_dtbs_errors.log
# Compare against base build output
grep -vFf base_dtbs_errors.log head_dtbs_errors.log

Verdict

2 blockers to fix: check-patch-compliance fails for all 6 commits (diff mismatch vs. Link: URLs) and dtb-check fails with 4 new interrupts_property warnings introduced in shikra.dtsi by patch 5/6.

We are currently encountering a DTB check issue in the PR, which was not flagged in the latest upstream kernel.
Since V1 has already been completed, we are proceeding with backporting the required changes. Once V2 is posted, we will revert this temporary fix and incorporate the updates as part of V2.

@nandamajay

Copy link
Copy Markdown

PR #734 — checker-log-analyzer

PR: #734 Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/27803992169
Checker Result Summary
Checker Result Summary
checkpatch ✅ 0 errors, 0 warnings, 0 checks across all 6 commits
dt-binding-check ✅ qcom,q6apm-dai.yaml and qcom,q6apm-lpass-dais.yaml both pass dt_binding_check + dtbs_check
dtb-check ❌ New interrupts_property warnings introduced in shikra.dtsi (4 unique nodes, exit code 1)
sparse-check ✅ sparse-check.sh passed — no new sparse errors
check-uapi-headers ✅ No UAPI header changes detected; passed
check-patch-compliance ❌ All 6 commits fail: "Change is different from the one mentioned in Link" (exit code 1)
tag-check ✅ All commits carry valid FROMGIT: or FROMLIST: prefixes
qcom-next-check ⏭️ N/A — target branch is qcom-6.18.y, not qcom-next/qcom-next-staging
Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #734 — ASoC: qcom: q6apm early buffer mapping + mDSP carveout (6 commits, FROMGIT/FROMLIST, base: qcom-6.18.y)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27803992169
Checker
Result
Summary
checkpatch

0 errors, 0 warnings, 0 checks across all 6 commits
dt-binding-check

qcom,q6apm-dai.yaml and qcom,q6apm-lpass-dais.yaml both pass dt_binding_check + dtbs_check
dtb-check

New interrupts_property warnings introduced in shikra.dtsi (4 unique nodes, exit code 1)
sparse-check

sparse-check.sh passed — no new sparse errors
check-uapi-headers

No UAPI header changes detected; passed
check-patch-compliance

All 6 commits fail: "Change is different from the one mentioned in Link" (exit code 1)
tag-check

All commits carry valid FROMGIT: or FROMLIST: prefixes
qcom-next-check
⏭️
N/A — target branch is qcom-6.18.y, not qcom-next/qcom-next-staging

❌ check-patch-compliance

Root cause: The local diff for every commit in the PR does not match the patch referenced by its Link: trailer — the checker script reports "Change is different from the one mentioned in Link" for all 6 commits.
Failure details:

Checking commit: FROMGIT: ASoC: qcom: q6apm: Add support for early buffer mapping on DSP
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add VMID-based SCM assignment
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: qdsp6: generalize GPR service domain
Change is different from the one mentioned in Link

Checking commit: FROMLIST: dt-bindings: sound: qcom,q6apm-dai: add memory-region property
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add MDSP carveout memory and update APM DAIs memory regions
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: q6apm-dai: add carveout SCM assignment for mDSP buffers
Change is different from the one mentioned in Link

##[error]Process completed with exit code 1.

Fix: For each commit, verify that the diff applied in the PR exactly matches the patch at the Link: URL. Common causes:

  • Local adaptations (backport fixups, context adjustments) were made without updating the Link: to point to the correct version.
  • The FROMGIT: commit (patch 1/6) may have been rebased or amended upstream after the Link: was recorded — update the Link: to the final merged/accepted SHA.
  • For FROMLIST: commits, if the mailing-list patch was revised (v2, v3, etc.), the Link: must point to the exact version that matches the applied diff.
  • If intentional local modifications exist (e.g. backport adaptations), the commit message should document them and the Link: should still point to the closest upstream version; however the checker requires a byte-for-byte diff match, so any delta must be removed or the upstream patch must be updated to match.

Reproduce locally:

git clone https://github.com/qualcomm-linux/kernel-checkers.git
bash kernel-checkers/check-patch-compliance.sh \
  --kernel-src <path-to-kernel> \
  --base afef7d241a180e74fd71c5e1882ef95108c6194e \
  --head f993d30249c74a4c3ba0ad6312534a7eb2f34f34

❌ dtb-check

Root cause: Patch 5/6 (shikra.dtsi) adds a new audio_mdsp_carveout_mem reserved-memory node and modifies audio_heap_mem; the resulting DTB introduces new interrupts_property warnings for 4 nodes in shikra.dtsi at line 3377 that were not present in the base tree.
Failure details:

Log Summary: Test failed
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/pcie@45e8000:#interrupt-cells: size is (108), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/mmc@4784000:#interrupt-cells: size is (24), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/ethernet@5d00000:#interrupt-cells: size is (12), expected multiple of 16
../arch/arm64/boot/dts/qcom/shikra.dtsi:3377.4-27: Warning (interrupts_property):
  /soc@0/ethernet@5d20000:#interrupt-cells: size is (12), expected multiple of 16

##[error]Process completed with exit code 1.

Analysis: The warnings all point to shikra.dtsi:3377 — the same source line — which is the interrupts property of the newly added audio_mdsp_carveout_mem node or a nearby node whose line numbering shifted due to the 8-line insertion in the reserved-memory block. The interrupts_property check fires when #interrupt-cells size is not a multiple of 16 bytes. This is a pre-existing issue in the shikra.dtsi tree for PCIe/MMC/Ethernet nodes that was masked before (not present in the base log) but is now surfaced because the PR's DTS change altered the compiled DTB layout or line offsets in a way that the diff-based filter (grep -vFf base_dtbs_errors.log) no longer suppresses them.
Fix options:

  1. Preferred: Investigate whether the interrupts cell counts for pcie@45e8000 (108 bytes), mmc@4784000 (24 bytes), and ethernet@5d00000/5d20000 (12 bytes) are genuinely wrong. If so, fix the #interrupt-cells or interrupts property in shikra.dtsi as part of this PR or in a follow-up.
  2. Workaround: If these are pre-existing baseline warnings that were already present before this PR (just at different line numbers), confirm with the CI maintainer whether the dtb-check baseline needs to be refreshed. The checker uses a line-exact diff filter, so a line-number shift can cause previously-suppressed warnings to re-appear as "new."

Reproduce locally:

# Build DTBs for head and base, then diff the dtc warning output:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) dtbs 2>&1 | \
  grep "shikra" > head_dtbs_errors.log
# Compare against base build output
grep -vFf base_dtbs_errors.log head_dtbs_errors.log

Verdict

2 blockers to fix: check-patch-compliance fails for all 6 commits (diff mismatch vs. Link: URLs) and dtb-check fails with 4 new interrupts_property warnings introduced in shikra.dtsi by patch 5/6.

We are currently encountering a DTB check issue in the PR, which was not flagged in the latest upstream kernel. Since V1 has already been completed, we are proceeding with backporting the required changes. Once V2 is posted, we will revert this temporary fix and incorporate the updates as part of V2.

Justification for the link deviation is that QLI2.O is based on the 6.18 kernel, while the current upstream work targets the latest kernel version. Due to the significant changes between 6.18 and the latest kernel, we had to apply some manual adjustments to ensure the patch applies correctly.

@quicAspratap quicAspratap left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Approved with Justification from developer.

  • Links differ as some API changed in latest upstream kernel.
  • dtb check will be fixed in next version of upstream post.

@sgaud-quic sgaud-quic merged commit d482256 into qualcomm-linux:qcom-6.18.y Jun 19, 2026
6 of 8 checks passed
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.

7 participants