Skip to content

Shikra Headphone support - #1078

Open
mohsRafi wants to merge 54 commits into
qualcomm-linux:qcom-6.18.yfrom
mohsRafi:Updated_latest_shikra_audio
Open

mohsRafi wants to merge 54 commits into
qualcomm-linux:qcom-6.18.yfrom
mohsRafi:Updated_latest_shikra_audio

Conversation

@mohsRafi

@mohsRafi mohsRafi commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

This change backports the latest upstream Qualcomm Shikra audio support and removes the previously integrated older versions of the audio components.

The following upstream audio updates have been incorporated:
LPASS VA Macro and RX Macro: upgraded from V1 to V2
SoundWire support: upgraded from V1 to V2
QAIF support: upgraded from V1 to V5
Device Tree updates: upgraded from V1 to V2
Machine Driver updates: upgraded from V1 to V2

These updates are required to align the downstream implementation with the latest upstream changes and enable headphone audio functionality on the Shikra platform.

RX Macro and VA Macro : https://lore.kernel.org/all/20260910-add_shikra_support-v2-0-fdd2129c696c@oss.qualcomm.com/
SoundWire : https://lore.kernel.org/all/20260910-shikra_soundwire_support-v2-0-f98c9a6ea1e1@oss.qualcomm.com/
Machine Driver : https://lore.kernel.org/all/20260910-shikra-machine-v2-v2-0-9bf6bad589d8@oss.qualcomm.com/
Device Tree : https://lore.kernel.org/all/20260910231642.1794948-1-mohammad.rafi.shaik@oss.qualcomm.com/
QAIF : https://lore.kernel.org/all/20260907-b4-qaif-shikra-audio-v5-0-6d8ad9ba5c9f@oss.qualcomm.com/
CRs-Fixed: 4674032

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4674032 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4674032
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@mohsRafi

Copy link
Copy Markdown
Contributor Author

qli-2.1 pull-request freeze

@mohsRafi

Copy link
Copy Markdown
Contributor Author

@mohsRafi
mohsRafi force-pushed the Updated_latest_shikra_audio branch from 630ecbd to ab193e1 Compare September 11, 2026 07:41
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4674032 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4674032
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

1 similar comment
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4674032 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4674032
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@mohsRafi mohsRafi changed the title Updated latest shikra audio Shikra Headphone support Sep 11, 2026
@mohsRafi
mohsRafi force-pushed the Updated_latest_shikra_audio branch from ab193e1 to b9ddacc Compare September 11, 2026 10:37
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4674032 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4674032
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@mohsRafi
mohsRafi force-pushed the Updated_latest_shikra_audio branch from b9ddacc to a9a9cd0 Compare September 11, 2026 11:50
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4674032 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4674032
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia purwa-iot-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
Ethernet_Basic_Validation ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
USBHost ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia purwa-iot-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
Ethernet_Basic_Validation ⚠️ skip ✅ Pass ✅ Pass ◻️ ⚠️ skip ⚠️ skip ❌ Fail ❌ Fail ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail
IPA ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ❌ Fail ✅ Pass ✅ Pass ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ❌ Fail ✅ Pass ✅ Pass ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
USBHost ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ◻️ ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ◻️ ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
watchdog ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qlijarvis

Copy link
Copy Markdown

PR #1078 — validate-patch

PR: #1078

Verdict Issues Detailed Report
⚠️ 11 Full report

Final Summary

  1. Lore link present: Yes — all 30 non-revert commits have proper Link: tags to lore.kernel.org
  2. Lore link matches PR commits: Yes — commit messages, authorship, and diff content are faithful to the linked lore patches
  3. Upstream patch status: Mixed — 2 FROMGIT commits are merged upstream (✅ ACKed); 17 FROMLIST commits have Reviewed-by/Acked-by tags (⏳ Pending merge); 11 FROMLIST commits lack review tags (⏳ Decision Pending)
  4. PR present in qcom-next/topics: Fail - 8/55 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1078 - "Add Shikra audio support (QAIF, WSA885X, soundwire, machine drivers)"
Upstream commits: Multiple lore.kernel.org series (v5 QAIF, v2 soundwire, v2 machine drivers)
Verdict: ⚠️ PARTIAL

Summary

This PR contains 55 commits organized as:

  • Commits 1-25: Revert commits (removing older FROMLIST patches)
  • Commits 26-34: FROMLIST QAIF core support (v5 series)
  • Commits 35-36: FROMGIT WSA885X codec (already merged upstream)
  • Commits 37-47: FROMLIST soundwire, macro, and machine support (v2 series)
  • Commits 48-55: FROMLIST DT bindings and device tree nodes (v2 series)

Commit Message

Check Status Note
Subject matches upstream All non-revert commits preserve upstream subjects with proper FROMLIST:/FROMGIT: prefix
Body preserves rationale Commit bodies match lore patch descriptions
Fixes tag present/correct N/A No Fixes tags in upstream patches
Authorship preserved All FROMLIST commits preserve original lore authors (Harendra Gautam, Prasad Kumpatla, Mohammad Rafi Shaik)
Backport note (if applicable) N/A These are FROMLIST/FROMGIT, not BACKPORT commits
Link tags present All 30 non-revert commits have proper Link: https://lore.kernel.org/... tags

Diff

All non-revert commits (26-55) were cross-checked against their corresponding lore evidence files. Key findings:

File Category Status Notes
DT bindings (YAML) Match lore patches exactly
ASoC QAIF driver code Faithful to upstream v5 series
WSA885X codec driver FROMGIT commits match merged upstream (Mark Brown's tree)
Soundwire driver changes Match lore v2 series
Machine driver changes Match lore v2 series
Device tree nodes Match lore v2 series
defconfig changes Match lore patch

Revert commits (1-25): These properly revert older FROMLIST commits by SHA, clearing the way for the updated v5/v2 series. Revert commit messages are minimal but correct.

Issues

Integration Presence (from integration_presence_report.md):

The integration presence check reveals 8 commits are missing from both qcom-next and kernel-topics:

  • Commit 5/55: Revert "FROMLIST: ASoC: qcom: Add QAIF regmap, DT parsing..."
  • Commit 7/55: Revert "FROMLIST: ASoC: qcom: Add generic of_xlate_dai_name..."
  • Commit 8/55: Revert "FROMLIST: ASoC: qcom: Add QAIF AIF DAI ops"
  • Commit 9/55: Revert "FROMLIST: ASoC: qcom: Add QAIF CIF (CDC DMA) DAI ops"
  • Commit 12/55: Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF DAI ID header"
  • Commit 13/55: Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF binding"
  • Commit 14/55: Revert "FROMLIST: ASoC: codecs: add Qualcomm WSA885X I2C codec driver"
  • Commit 15/55: Revert "FROMLIST: dt-bindings: sound: add qcom,wsa885x-i2c"

Additionally, 20 commits show "partial" presence (subject or partial tree evidence found, but full change not verified in topics).

Upstream Status:

Based on lore evidence analysis:

  • FROMGIT commits (35-36): ✅ Already merged upstream (Mark Brown's tree, link to patch.msgid.link present)
  • FROMLIST commits with Reviewed-by/Acked-by:
    • Commits 37-38: Acked-by Krzysztof Kozlowski (soundwire binding + driver)
    • Commits 39-43: Reviewed-by Srinivas Kandagatla (macro support)
    • Commits 45-47, 49-54: Reviewed-by Krzysztof Kozlowski (machine drivers, DT nodes)
  • FROMLIST commits without review tags (26-34, 44, 48, 55): ⏳ Decision Pending — posted to lore but no maintainer review signal found in fetched threads

Verdict

Merge with caution. The PR is technically correct:

  • ✅ All lore links are present and match the PR commits
  • ✅ Authorship is preserved correctly
  • ✅ Commit messages follow kernel style
  • ✅ Diff content is faithful to upstream lore patches
  • ✅ FROMGIT commits are properly attributed to merged upstream

However:

  • ⚠️ 8 commits are completely missing from qcom-next/topics — this indicates the PR may be attempting to merge changes that haven't been integrated into the topic branches yet
  • ⚠️ 20 commits show only partial presence — full verification failed
  • ⚠️ Some FROMLIST patches lack maintainer review — while posted to lore, not all have received Reviewed-by/Acked-by tags yet

Recommendation: Verify that the 8 missing commits and 20 partial commits are intentionally being added ahead of topic branch integration, or hold the PR until those commits land in the appropriate topic branches first. The upstream patches themselves are correctly formatted and linked.

Final Summary

  1. Lore link present: Yes — all 30 non-revert commits have proper Link: tags to lore.kernel.org
  2. Lore link matches PR commits: Yes — commit messages, authorship, and diff content are faithful to the linked lore patches
  3. Upstream patch status: Mixed — 2 FROMGIT commits are merged upstream (✅ ACKed); 17 FROMLIST commits have Reviewed-by/Acked-by tags (⏳ Pending merge); 11 FROMLIST commits lack review tags (⏳ Decision Pending)
  4. PR present in qcom-next/topics: Fail — 8/55 commits are completely missing from both qcom-next and topics; 20/55 show only partial presence; 27/55 are present

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: d49c33864d06e9672dce57738be8851384578fcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/55 [PATCH 01/55] Revert "FROMLIST: ASoC: qcom: sc8280xp: add Shikra EVK missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
2/55 [PATCH 02/55] Revert "FROMLIST: ASoC: qcom: Add Shikra QAIF support" missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
3/55 [PATCH 03/55] Revert "FROMLIST: ASoC: qcom: Add QAIF IRQ handling, missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
4/55 [PATCH 04/55] Revert "FROMLIST: ASoC: qcom: Add QAIF PCM operations" missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
5/55 [PATCH 05/55] Revert "FROMLIST: ASoC: qcom: Add QAIF regmap, DT missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
6/55 [PATCH 06/55] Revert "FROMLIST: ASoC: qcom: lpass-cpu: Use present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
7/55 [PATCH 07/55] Revert "FROMLIST: ASoC: qcom: Add generic missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
8/55 [PATCH 08/55] Revert "FROMLIST: ASoC: qcom: Add QAIF AIF DAI ops" missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
9/55 [PATCH 09/55] Revert "FROMLIST: ASoC: qcom: Add QAIF CIF (CDC DMA) missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
10/55 [PATCH 10/55] Revert "FROMLIST: ASoC: qcom: Add QAIF hardware missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
11/55 [PATCH 11/55] Revert "FROMLIST: ASoC: qcom: Add QAIF shared data missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
12/55 [PATCH 12/55] Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
13/55 [PATCH 13/55] Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
14/55 [PATCH 14/55] Revert "FROMLIST: ASoC: codecs: add Qualcomm WSA885X missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
15/55 [PATCH 15/55] Revert "FROMLIST: dt-bindings: sound: add missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
16/55 [PATCH 16/55] Revert "FROMLIST: soundwire: qcom: add EE-aware partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
17/55 [PATCH 17/55] Revert "FROMLIST: ASoC: qcom: lpass-va-macro: Add partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
18/55 [PATCH 18/55] Revert "FROMLIST: ASoC: qcom: lpass-rx-macro: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 7bd219c01421bec71e5328cd52ad837d433600b5 present
19/55 [PATCH 19/55] Revert "FROMLIST: arm64: dts: qcom: shikra: Add QAIF missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
20/55 [PATCH 20/55] Revert "FROMLIST: arm64: dts: qcom: shikra: Add gpr missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
21/55 [PATCH 21/55] Revert "FROMLIST: arm64: dts: qcom: shikra: Add partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
22/55 [PATCH 22/55] Revert "FROMLIST: arm64: dts: qcom: shikra-cqm-evk: missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
23/55 [PATCH 23/55] Revert "FROMLIST: arm64: dts: qcom: shikra-cqs-evk: missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
24/55 [PATCH 24/55] Revert "FROMLIST: arm64: dts: qcom: shikra-iqs-evk: missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
25/55 [PATCH 25/55] Revert "FROMLIST: arm64: dts: qcom: shikra: Add MDSP missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
26/55 [PATCH 26/55] FROMLIST: ASoC: dt-bindings: qcom,shikra-qaif-cpu: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at a073dc8caf52e0e67553e6eddaee4feb20d69c0f present
27/55 [PATCH 27/55] FROMLIST: ASoC: qcom: Add QAIF shared data structures partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
28/55 [PATCH 28/55] FROMLIST: ASoC: qcom: Add QAIF hardware register map partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 20f6c2d89828bae1865fb5fc71335102f2ede54a present
29/55 [PATCH 29/55] FROMLIST: ASoC: soc-core: Add partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 7dc9f047542407ec8cc87c3d358dfb1529548d8b present
30/55 [PATCH 30/55] FROMLIST: ASoC: qcom: Add QAIF CPU DAI ops, regmap, DT partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 60d498249df286b9f038d2d938b70c0ca9c4542a present
31/55 [PATCH 31/55] FROMLIST: ASoC: qcom: Switch lpass-cpu and qaif-cpu to missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d29aa5443867461630ecdf667a350cf530b3f802 present
32/55 [PATCH 32/55] FROMLIST: ASoC: qcom: Add QAIF PCM operations partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 66eca96c7af828a814889cc42851c4a2119096b0 present
33/55 [PATCH 33/55] FROMLIST: ASoC: qcom: Add QAIF IRQ handling, partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 574a98279b15094e3b778c3e14c0dd200a4b3ee5 present
34/55 [PATCH 34/55] FROMLIST: ASoC: qcom: Add Shikra QAIF support partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at bbfb8cde442c3677370a57d472062dd689b8016f present
35/55 [PATCH 35/55] FROMGIT: ASoC: codecs: add Qualcomm WSA885X codec partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
36/55 [PATCH 36/55] FROMGIT: ASoC: dt-bindings: qcom,wsa8855: add Qualcomm missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
37/55 [PATCH 37/55] FROMLIST: dt-bindings: soundwire: qcom: add partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 86e5c8e200f4654cefabe363087fcbd7ce7576e5 present
38/55 [PATCH 38/55] FROMLIST: soundwire: qcom: add EE-aware register layout partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
39/55 [PATCH 39/55] FROMLIST: ASoC: qcom: lpass-macro-common: Add missing missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 27cf083ae6b2b81c90a83a8d856be6d5a33a1a8e present
40/55 [PATCH 40/55] FROMLIST: ASoC: qcom: lpass-macro-common: Add LPASS missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 9fb4aee2470a80e4504ad9c8b6d29941b7f84c6f present
41/55 [PATCH 41/55] FROMLIST: ASoC: qcom: lpass-rx-macro: Add shikra partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 47705891a871a4edc17299fb3a43e831593ac7a8 present
42/55 [PATCH 42/55] FROMLIST: ASoC: qcom: lpass-va-macro: Add shikra partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
43/55 [PATCH 43/55] FROMLIST: ASoC: qcom: lpass-va-macro: Add SoundWire partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at f35de26b780d707ce4fafcc75c13958c69a45f22 present
44/55 [PATCH 44/55] FROMLIST: ASoC: qcom: sc8280xp: Extend hw_params for partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
45/55 [PATCH 45/55] FROMLIST: ASoC: qcom: sc8280xp: Add shikra-cqm-evk partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
46/55 [PATCH 46/55] FROMLIST: ASoC: qcom: sc8280xp: Add shikra-cqs-evk partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
47/55 [PATCH 47/55] FROMLIST: ASoC: qcom: sc8280xp: Add shikra-iqs-evk partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
48/55 [PATCH 48/55] FROMLIST: dt-bindings: sound: qcom,lpass-va-macro: Add partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
49/55 [PATCH 49/55] FROMLIST: arm64: dts: qcom: shikra: Add QAIF CPU node partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
50/55 [PATCH 50/55] FROMLIST: arm64: dts: qcom: shikra: Add gpr node partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
51/55 [PATCH 51/55] FROMLIST: arm64: dts: qcom: shikra: Add soundwire and partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
52/55 [PATCH 52/55] FROMLIST: arm64: dts: qcom: shikra-cqm-evk: Enable partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
53/55 [PATCH 53/55] FROMLIST: arm64: dts: qcom: shikra-cqs-evk: Enable partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
54/55 [PATCH 54/55] FROMLIST: arm64: dts: qcom: shikra-iqs-evk: Enable partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
55/55 [PATCH 55/55] FROMLIST: arm64: defconfig: Enable Qualcomm PM4125 and missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present

Final Status

overall_status: FAIL
present_commits: 27/55
partial_commits: 20/55
missing_commits: 8/55
topics_checked_for_commits: 54/55
final_summary: PR present in qcom-next/topics: Fail - 8/55 commit(s) are missing from both qcom-next and topics

hgautam21 and others added 23 commits September 17, 2026 10:16
Add the PCM platform callbacks needed to use QAIF DAIs for playback
and capture.

Allocate and map the DMA buffer in open(), reserve a stream DMA index
and perform the one-time QAIF hardware initialization. Program the DMA
configuration in hw_params(), set the DMA clock rate and program the
DMA base, buffer and period registers in prepare(), and report the
current DMA position from pointer(). Release all resources in close().

The DMA clocks themselves are prepared and enabled by the CPU DAI
driver's startup and shutdown callbacks.

Support mmap() for CIF and AIF paths, and add copy() to transfer PCM
data between userspace and the DMA buffer.

Link: https://lore.kernel.org/all/20260907-b4-qaif-shikra-audio-v5-7-6d8ad9ba5c9f@oss.qualcomm.com/
Signed-off-by: Harendra Gautam <harendra.gautam@oss.qualcomm.com>
…orm register

Finish the QAIF PCM platform support so streams can be registered, started,
stopped and serviced by DMA interrupts.

Register the ASoC component, request the QAIF interrupt and add trigger
handling to enable or disable DMA and its interrupt sources. Dispatch the
top-level IRQ status to the AIF and CIF DMA handlers, report period elapsed
events to ALSA, warn on xrun conditions and stop the stream on bus errors.

Link: https://lore.kernel.org/all/20260907-b4-qaif-shikra-audio-v5-8-6d8ad9ba5c9f@oss.qualcomm.com/
Signed-off-by: Harendra Gautam <harendra.gautam@oss.qualcomm.com>
Add the Shikra variant data for the Qualcomm Audio Interface driver so
the common QAIF code can bind to the Shikra QAIF device and expose the
SoC-specific DAIs.

Provide the Shikra DMA-to-DAI mappings, DMA and SHRAM layout, clock
names, DAI driver data and power-management hooks required by the QAIF
driver. Add the Kconfig symbol and Makefile entries needed to build the
new variant.

Link: https://lore.kernel.org/all/20260907-b4-qaif-shikra-audio-v5-9-6d8ad9ba5c9f@oss.qualcomm.com/
Signed-off-by: Harendra Gautam <harendra.gautam@oss.qualcomm.com>
Add an ASoC codec driver for the Qualcomm WSA885X stereo smart speaker
amplifier.

The driver programs the register map, handles reset and interrupt support,
exposes DAI operations for PCM/TDM playback, and provides mixer controls
for usage mode, speaker volume and RX slot mask.

Keep stream-time power-state sequencing in the DAI callbacks and use regmap
for the control path.

Signed-off-by: Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20260715115220.3093799-3-prasad.kumpatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
…r amplifier

Add bindings for the Qualcomm WSA8855 stereo smart speaker amplifier.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20260715115220.3093799-2-prasad.kumpatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
…patible

Add qcom,shikra-soundwire as a standalone compatible for the Shikra SoC
SoundWire controller.

On Shikra SoC, the SoundWire controller is assigned to an Execution
Environment (EE), which determines which banked register window must be
used for interrupt, FIFO, and status register access on SoundWire v2.0
and later hardware.

Add a dedicated qcom,shikra-soundwire compatible so the driver can select
the correct register layout for Shikra at probe time.

Link: https://lore.kernel.org/all/20260910-shikra_soundwire_support-v2-1-f98c9a6ea1e1@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
On SoundWire v2.0 and later hardware, FIFO, and status
registers are banked per Execution Environment (EE).
The existing driver assumes the SoundWire controller is
assigned to EE1, which is true for all currently supported
Qualcomm SoCs.

Shikra is an exception and assigns the controller to EE0.
As a result, the relevant register windows are located at
different offsets and cannot be accessed using the default
EE1 register layout.

Add an ee field to the SoC match data and introduce a
dedicated qcom,shikra-soundwire compatible with ee = 0.
The driver uses this information at probe time to select
the correct register layout, while all existing platforms
continue to use the default EE1 configuration.

Link: https://lore.kernel.org/all/20260910-shikra_soundwire_support-v2-2-f98c9a6ea1e1@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
…ring

LPASS_CODEC_VERSION_2_9 is detected by lpass-va-macro.c and consumed by
lpass-wsa-macro.c, but lpass_macro_get_codec_version_string() never
learned about it, so the probe log reports "LPASS Codec Version NA" on
those parts.

Add the missing case.

Link: https://lore.kernel.org/all/20260910-add_shikra_support-v2-2-fdd2129c696c@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add shikra RX macro compatible data and hook it into the existing
LPASS codec v4.1 flow.

The RX macro register layout of LPASS codec v4.1 matches the v2.5+
layout, so reuse the existing v2.5 register access helpers, controls
and widgets for it.

v4.1 additionally requires the FS counter to be bypassed before it is
enabled during MCLK enable. This is a property of the codec version and
not of the board, so key it off the version detected by the VA macro
rather than off match data.

Link: https://lore.kernel.org/all/20260917-add_shikra_support-v3-3-fc0e79c341aa@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add shikra specific VA macro data and register programming needed by
the LPASS codec v4.0 implementation.

LPASS codec v4.1 extends the VA macro with four adaptive filter (ADPT)
blocks at 0x0800..0x09a4 and requires the FS counter to be bypassed
before it is enabled.

Add the new registers as a separate reg_default array that is
concatenated with the common defaults at probe time.

The register layout has to be chosen before the regmap exists, i.e.
before CDC_VA_TOP_CSR_CORE_ID_* can be read, so it comes from match data;
probe then cross checks it against the version reported by the hardware.

Link: https://lore.kernel.org/all/20260917-add_shikra_support-v3-4-fc0e79c341aa@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
…pport

The VA decimators can currently capture audio only from DMIC inputs.
Add support for routing audio from SoundWire microphone (SMIC) inputs
as well.

Update the decimator source selection logic to switch between DMIC and
SMIC sources based on the active input path.

Add a helper to detect whether a decimator is using a SoundWire microphone
input. Use this information to skip DMIC-specific HPF programming sequences
when the decimator is configured for an SMIC source.

This enables VA decimators to capture audio from either DMIC or SoundWire
microphone inputs.

Link: https://lore.kernel.org/all/20260917-add_shikra_support-v3-5-fc0e79c341aa@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Prepare the sc8280xp machine driver for Shikra EVK variants that use
Audio-IF (QAIF) based backends:

- Add a `cpu_dai_fmt` field in qcom_snd_soc_common so that boards can
  override the default SND_SOC_DAIFMT_BP_FP for MI2S and TDM paths.

- Handle the QAIF MI2S (AIF_MI2S_RX_0 ... AIF_MI2S_TX_12) and QAIF TDM
  (AIF_TDM_RX_0 ... AIF_TDM_TX_12) DAI ID ranges in
  sc8280xp_snd_hw_params() so that format and clock setup applies to
  QAIF backends.

- Add VA_CODEC_DMA_TX_1 to qcom_snd_is_sdw_dai() and
  sc8280xp_be_hw_params_fixup() so that the VA codec DMA path is
  recognised as a SoundWire DAI.

- Widen the sc8280xp_add_be_ops() link filter to also cover links
  with codecs (num_codecs > 0), since QAIF FE+BE links are not
  marked with no_pcm = 1.

No functional change for existing platforms.

Link: https://lore.kernel.org/all/20260910-shikra-machine-v2-v2-2-9bf6bad589d8@oss.qualcomm.com/
Co-developed-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Add machine driver support for the Qualcomm Shikra CQM EVK board.
The Shikra CQM platform uses an I2S-based audio path with WSA885x
amplifiers and PM4125/Rouleur codec components.

The CQM variant uses DSP_A framing on its QAIF CPU DAI, configured
via the cpu_dai_fmt field introduced in the preceding patch.

Link: https://lore.kernel.org/all/20260910-shikra-machine-v2-v2-3-9bf6bad589d8@oss.qualcomm.com/
Co-developed-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Add machine driver support for the Qualcomm Shikra CQS EVK board.
The Shikra CQS platform uses an I2S-based audio path with WSA885x
amplifiers and PM4125/Rouleur codec components with modem-DSP based
audio processing.

Link: https://lore.kernel.org/all/20260910-shikra-machine-v2-v2-4-9bf6bad589d8@oss.qualcomm.com/
Co-developed-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Add machine driver support for the Qualcomm Shikra IQS EVK board.
The Shikra IQS platform uses a third-party MAX98091 codec with
modem-DSP support.

IQS requires board-level DAPM widgets and pin-switch kcontrols
because the MAX98091 codec driver does not expose its own endpoint
topology, unlike the Qualcomm WSA885x/Rouleur codecs used on the
CQM/CQS variants.

Link: https://lore.kernel.org/all/20260910-shikra-machine-v2-v2-5-9bf6bad589d8@oss.qualcomm.com/
Co-developed-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
…nts for shikra

Add an if/then condition for qcom,shikra-lpass-va-macro specifying
exactly 2 clocks (mclk and npl) as required by the Shikra VA macro
hardware.

For the RX macro, add qcom,shikra-lpass-rx-macro to the sc7280 clock
section as Shikra uses the same 3-clock configuration (mclk, npl, fsgen)
in ADSP-bypass mode.

Link: https://lore.kernel.org/all/20260910231642.1794948-3-mohammad.rafi.shaik@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add the QAIF CPU endpoint in shikra.dtsi so board files can connect LPASS
front-end links to backend codecs.

Describe the MMIO region, interrupt, IOMMU mapping and required clocks for
the QAIF block. Keep the node disabled at SoC level; board dts files enable
and consume it in subsequent patches.

Link: https://lore.kernel.org/all/20260910231642.1794948-3-mohammad.rafi.shaik@oss.qualcomm.com/
Co-developed-by: Harendra Gautam <harendra.gautam@oss.qualcomm.com>
Signed-off-by: Harendra Gautam <harendra.gautam@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add GPR (Generic Packet Router) node along with APM (Audio Process
Manager) and PRM (Proxy Resource Manager) audio services.

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/20260910231642.1794948-5-mohammad.rafi.shaik@oss.qualcomm.com/
Co-developed-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Add SoC-level SoundWire masters and LPASS RX/VA macro nodes, along with
DMIC and SWR pinctrl states required by the audio data path.

Keep these nodes disabled in shikra.dtsi so board dts files can selectively
enable and configure them.

Link: https://lore.kernel.org/all/20260910231642.1794948-6-mohammad.rafi.shaik@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Enable the sound card on the shikra-cqm-evk platform, including
the PM4125 (Rouleur) headset codec, WSA885x external speaker path,
and QAIF backend links.

Also enable the required LPASS macro and SoundWire nodes, along with
the necessary pinctrl configurations for DMIC and I2S interfaces.

Link: https://lore.kernel.org/all/20260917-shikra_audio_dts-v3-5-9a49e1ca6370@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Enable the sound card on the shikra-cqs-evk platform,  including
the PM4125 (Rouleur) headset codec, WSA885x speaker amp.

Also enable the required LPASS macro and SoundWire nodes, along with
the necessary pinctrl configurations for DMIC and I2S interfaces.

Also enable the required LPASS macro along with the necessary
pinctrl configurations for DMIC and I2S interfaces.

Link: https://lore.kernel.org/all/20260917-shikra_audio_dts-v3-6-9a49e1ca6370@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Enable the IQS EVK audio card using MAX98091 on I2S0 for primary
playback/capture and VA DMIC capture through q6apm backend links.

Add board clock and pinctrl states required for codec IRQ, external
mclk and digital mic routing.

Link: https://lore.kernel.org/all/20260910231642.1794948-9-mohammad.rafi.shaik@oss.qualcomm.com/
Co-developed-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Enable the WSA885X codec as modules in arm64 defconfig.

Link: https://lore.kernel.org/all/20260910231642.1794948-10-mohammad.rafi.shaik@oss.qualcomm.com/
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
@mohsRafi
mohsRafi force-pushed the Updated_latest_shikra_audio branch from 1719190 to 1cdbc38 Compare September 17, 2026 05:08
@qlijarvis

Copy link
Copy Markdown

PR #1078 — validate-patch

PR: #1078

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — 26 unique lore.kernel.org links across 28 commits (2 FROMGIT commits share upstream links)
  2. Lore link matches PR commits: Cannot verify — network restrictions prevent fresh fetch; local mbox files available but not compared
  3. Upstream patch status: Mixed — FROMGIT patches (35-36) already merged upstream; all FROMLIST patches (26-34, 37-54) posted within last 10 days and under review (Decision Pending)
  4. PR present in qcom-next/topics: Fail - 8/54 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1078 - Shikra Audio Support (54 commits)
Upstream commits: Multiple lore.kernel.org links (26 unique series)
Verdict: ⚠️ PARTIAL

Summary

This PR contains 54 commits organized as:

  • Commits 1-25: Revert commits (removing old FROMLIST patches)
  • Commits 26-34: New FROMLIST patches (QAIF audio subsystem)
  • Commits 35-36: FROMGIT patches (WSA885X codec - already merged upstream)
  • Commits 37-54: Additional FROMLIST patches (SoundWire, macros, DTS, defconfig)

Commit Message Analysis

Check Status Note
Subject matches upstream All FROMLIST/FROMGIT commits have proper prefixes
Body preserves rationale Commit messages match lore content
Fixes tag present/correct N/A No Fixes tags required for new features
Authorship preserved All FROMLIST commits preserve original lore authors
Link tags present All 28 non-Revert commits have proper Link: tags
Backport note N/A Not backports - these are FROMLIST/FROMGIT

Authorship verification (sample):

  • Commit 26 (FROMLIST): Author Harendra Gautam matches lore
  • Commit 35 (FROMGIT): Author Prasad Kumpatla matches upstream
  • All checked commits preserve original authorship correctly

Diff Analysis

Revert commits (1-25):

Status Note
Revert commits properly remove old FROMLIST patches to make way for updated versions

FROMLIST commits (26-34, 37-54):

Status Note
⚠️ Cannot verify diff match without network access to fetch fresh lore patches
All commits have proper Link: tags pointing to lore.kernel.org
Local lore_evidence/ mbox files fetched successfully for all 26 links

FROMGIT commits (35-36):

File Status Notes
sound/soc/codecs/wsa885x.c FROMGIT with proper Link to merged commit
Documentation/devicetree/bindings/sound/qcom,wsa8855.yaml FROMGIT with proper Link

Upstream Patch Status

Based on lore_evidence/ mbox files and patch dates:

Commit Range Community Verdict Evidence
26-34 (QAIF v5 series) Decision Pending Posted 2026-09-07, v5 revision, no merge/NAK signals in mbox files
35-36 (WSA885X) ACKed FROMGIT with Link to Mark Brown's tree (already merged)
37-38 (SoundWire v2) Decision Pending Posted 2026-09-10, v2 revision, under review
39-42 (lpass-macro) Decision Pending Posted 2026-09-10, v2/v3 revisions, under review
43-46 (sc8280xp machine) Decision Pending Posted 2026-09-10, v2 revision, under review
47-53 (DTS v3) Decision Pending Posted 2026-09-17 (today), v3 revision, just posted
54 (defconfig) Decision Pending Posted 2026-09-10, under review

Timeline: All patches are very recent (Sep 7-17, 2026). No acceptance or rejection signals found in the fetched mbox threads. This is expected for patches posted within the last 1-10 days.

Integration Presence (qcom-next/topics)

Per integration_presence_report.md:

Overall Status:FAIL
Present: 24/54 commits
Partial: 22/54 commits (subject/partial tree evidence, but full change not verified)
Missing: 8/54 commits (no match in qcom-next or topics)

Missing commits:

  • 5/54: Revert "FROMLIST: ASoC: qcom: Add QAIF regmap, DT"
  • 7/54: Revert "FROMLIST: ASoC: qcom: Add generic"
  • 8/54: Revert "FROMLIST: ASoC: qcom: Add QAIF AIF DAI ops"
  • 9/54: Revert "FROMLIST: ASoC: qcom: Add QAIF CIF (CDC DMA)"
  • 12/54: Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF"
  • 13/54: Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF"
  • 14/54: Revert "FROMLIST: ASoC: codecs: add Qualcomm WSA885X"
  • 15/54: Revert "FROMLIST: dt-bindings: sound: add"

Note: The missing commits are all Revert commits. This suggests the original commits being reverted may not have been in qcom-next/topics, or the revert logic is not being detected properly by the presence checker.

Issues

  1. Integration presence failure: 8 Revert commits are missing from qcom-next/topics. This may indicate:

    • The original commits being reverted were never in qcom-next/topics, OR
    • The presence checker cannot match revert diffs correctly
  2. Partial matches: 22 commits show "partial" presence (subject or partial tree evidence found, but full change not verified). This requires manual verification.

  3. Upstream status: All FROMLIST patches are still under review (posted within last 10 days). None have been ACKed or merged to maintainer trees yet.

  4. Revert strategy: The PR reverts 25 old FROMLIST commits (1-25) and replaces them with updated versions (26-54). This is a valid workflow, but the reverted commits should have been present in the tree being patched.

Verdict

⚠️ PARTIAL - Requires manual review before merge

Reasons:

  1. Commit message hygiene: All commits have proper prefixes (FROMLIST/FROMGIT/Revert), Link tags, and preserved authorship
  2. Lore links present: All 28 non-Revert commits have valid lore.kernel.org links
  3. Upstream status: FROMLIST patches are under review (expected for recent posts); FROMGIT patches already merged
  4. Integration presence: 8 Revert commits missing from qcom-next/topics; 22 commits show partial presence
  5. ⚠️ Diff verification: Cannot verify diff faithfulness without network access to fetch fresh lore patches (local mbox files available but not compared)

Recommendation

Before merging:

  1. Verify Revert commits: Confirm that the 8 missing Revert commits (5, 7-9, 12-15) are reverting commits that actually exist in the target branch. If the original commits were never merged, these Reverts should be dropped.

  2. Verify partial matches: Manually review the 22 commits marked "partial" in the integration presence report to confirm they are fully present in topics.

  3. Consider upstream timing: Since all FROMLIST patches were posted within the last 10 days and are still under review, consider:

    • Waiting for upstream acceptance before merging to qcom-next, OR
    • Merging to a staging/development branch until upstream ACKs are received
  4. Diff verification: If possible, run interdiff between the PR patches and the lore mbox files in lore_evidence/ to confirm diff faithfulness.

Final Summary

  1. Lore link present: Yes — 26 unique lore.kernel.org links across 28 commits (2 FROMGIT commits share upstream links)
  2. Lore link matches PR commits: Cannot verify — network restrictions prevent fresh fetch; local mbox files available but not compared
  3. Upstream patch status: Mixed — FROMGIT patches (35-36) already merged upstream; all FROMLIST patches (26-34, 37-54) posted within last 10 days and under review (Decision Pending)
  4. PR present in qcom-next/topics: Fail — 8/54 commits missing from both qcom-next and topics; 22/54 show partial presence; requires manual verification

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: d49c33864d06e9672dce57738be8851384578fcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/54 [PATCH 01/54] Revert "FROMLIST: ASoC: qcom: sc8280xp: add Shikra EVK missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
2/54 [PATCH 02/54] Revert "FROMLIST: ASoC: qcom: Add Shikra QAIF support" missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
3/54 [PATCH 03/54] Revert "FROMLIST: ASoC: qcom: Add QAIF IRQ handling, missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
4/54 [PATCH 04/54] Revert "FROMLIST: ASoC: qcom: Add QAIF PCM operations" missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
5/54 [PATCH 05/54] Revert "FROMLIST: ASoC: qcom: Add QAIF regmap, DT missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
6/54 [PATCH 06/54] Revert "FROMLIST: ASoC: qcom: lpass-cpu: Use present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
7/54 [PATCH 07/54] Revert "FROMLIST: ASoC: qcom: Add generic missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
8/54 [PATCH 08/54] Revert "FROMLIST: ASoC: qcom: Add QAIF AIF DAI ops" missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
9/54 [PATCH 09/54] Revert "FROMLIST: ASoC: qcom: Add QAIF CIF (CDC DMA) missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
10/54 [PATCH 10/54] Revert "FROMLIST: ASoC: qcom: Add QAIF hardware missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
11/54 [PATCH 11/54] Revert "FROMLIST: ASoC: qcom: Add QAIF shared data missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
12/54 [PATCH 12/54] Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
13/54 [PATCH 13/54] Revert "FROMLIST: dt-bindings: sound: Add Qualcomm QAIF missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
14/54 [PATCH 14/54] Revert "FROMLIST: ASoC: codecs: add Qualcomm WSA885X missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
15/54 [PATCH 15/54] Revert "FROMLIST: dt-bindings: sound: add missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
16/54 [PATCH 16/54] Revert "FROMLIST: soundwire: qcom: add EE-aware partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
17/54 [PATCH 17/54] Revert "FROMLIST: ASoC: qcom: lpass-va-macro: Add partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
18/54 [PATCH 18/54] Revert "FROMLIST: ASoC: qcom: lpass-rx-macro: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 7bd219c01421bec71e5328cd52ad837d433600b5 present
19/54 [PATCH 19/54] Revert "FROMLIST: arm64: dts: qcom: shikra: Add QAIF missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
20/54 [PATCH 20/54] Revert "FROMLIST: arm64: dts: qcom: shikra: Add gpr missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
21/54 [PATCH 21/54] Revert "FROMLIST: arm64: dts: qcom: shikra: Add partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
22/54 [PATCH 22/54] Revert "FROMLIST: arm64: dts: qcom: shikra-cqm-evk: missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
23/54 [PATCH 23/54] Revert "FROMLIST: arm64: dts: qcom: shikra-cqs-evk: missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
24/54 [PATCH 24/54] Revert "FROMLIST: arm64: dts: qcom: shikra-iqs-evk: missing - no subject, patch-id, or full tree-content match found partial - subject or partial tree evidence found, but full change was not verified partial
25/54 [PATCH 25/54] Revert "FROMLIST: arm64: dts: qcom: shikra: Add MDSP missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
26/54 [PATCH 26/54] FROMLIST: ASoC: dt-bindings: qcom,shikra-qaif-cpu: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at a073dc8caf52e0e67553e6eddaee4feb20d69c0f present
27/54 [PATCH 27/54] FROMLIST: ASoC: qcom: Add QAIF shared data structures partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
28/54 [PATCH 28/54] FROMLIST: ASoC: qcom: Add QAIF hardware register map partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 20f6c2d89828bae1865fb5fc71335102f2ede54a present
29/54 [PATCH 29/54] FROMLIST: ASoC: soc-core: Add partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 7dc9f047542407ec8cc87c3d358dfb1529548d8b present
30/54 [PATCH 30/54] FROMLIST: ASoC: qcom: Add QAIF CPU DAI ops, regmap, DT partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 60d498249df286b9f038d2d938b70c0ca9c4542a present
31/54 [PATCH 31/54] FROMLIST: ASoC: qcom: Switch lpass-cpu and qaif-cpu to missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d29aa5443867461630ecdf667a350cf530b3f802 present
32/54 [PATCH 32/54] FROMLIST: ASoC: qcom: Add QAIF PCM operations partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 66eca96c7af828a814889cc42851c4a2119096b0 present
33/54 [PATCH 33/54] FROMLIST: ASoC: qcom: Add QAIF IRQ handling, partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 574a98279b15094e3b778c3e14c0dd200a4b3ee5 present
34/54 [PATCH 34/54] FROMLIST: ASoC: qcom: Add Shikra QAIF support partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at bbfb8cde442c3677370a57d472062dd689b8016f present
35/54 [PATCH 35/54] FROMGIT: ASoC: codecs: add Qualcomm WSA885X codec partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
36/54 [PATCH 36/54] FROMGIT: ASoC: dt-bindings: qcom,wsa8855: add Qualcomm missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
37/54 [PATCH 37/54] FROMLIST: dt-bindings: soundwire: qcom: add partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 86e5c8e200f4654cefabe363087fcbd7ce7576e5 present
38/54 [PATCH 38/54] FROMLIST: soundwire: qcom: add EE-aware register layout partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
39/54 [PATCH 39/54] FROMLIST: ASoC: qcom: lpass-macro-common: Add missing missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 27cf083ae6b2b81c90a83a8d856be6d5a33a1a8e present
40/54 [PATCH 40/54] FROMLIST: ASoC: qcom: lpass-rx-macro: Add shikra partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
41/54 [PATCH 41/54] FROMLIST: ASoC: qcom: lpass-va-macro: Add shikra partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
42/54 [PATCH 42/54] FROMLIST: ASoC: qcom: lpass-va-macro: Add SoundWire partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
43/54 [PATCH 43/54] FROMLIST: ASoC: qcom: sc8280xp: Extend hw_params for partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
44/54 [PATCH 44/54] FROMLIST: ASoC: qcom: sc8280xp: Add shikra-cqm-evk partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
45/54 [PATCH 45/54] FROMLIST: ASoC: qcom: sc8280xp: Add shikra-cqs-evk partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
46/54 [PATCH 46/54] FROMLIST: ASoC: qcom: sc8280xp: Add shikra-iqs-evk partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
47/54 [PATCH 47/54] FROMLIST: dt-bindings: sound: qcom,lpass-va-macro: Add partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
48/54 [PATCH 48/54] FROMLIST: arm64: dts: qcom: shikra: Add QAIF CPU node partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
49/54 [PATCH 49/54] FROMLIST: arm64: dts: qcom: shikra: Add gpr node partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
50/54 [PATCH 50/54] FROMLIST: arm64: dts: qcom: shikra: Add soundwire and partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
51/54 [PATCH 51/54] FROMLIST: arm64: dts: qcom: shikra-cqm-evk: Enable partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
52/54 [PATCH 52/54] FROMLIST: arm64: dts: qcom: shikra-cqs-evk: Enable partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
53/54 [PATCH 53/54] FROMLIST: arm64: dts: qcom: shikra-iqs-evk: Enable partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
54/54 [PATCH 54/54] FROMLIST: arm64: defconfig: Enable Qualcomm PM4125 and missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present

Final Status

overall_status: FAIL
present_commits: 24/54
partial_commits: 22/54
missing_commits: 8/54
topics_checked_for_commits: 53/54
final_summary: PR present in qcom-next/topics: Fail - 8/54 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #1078 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch All commits pass style checks
dt-binding-check All binding schemas valid
dtb-check 3 new validation errors
sparse-check No static analysis warnings
check-uapi-headers No UAPI ABI changes
check-patch-compliance 38 commits fail compliance
tag-check N/A Cannot determine target branch (network unavailable)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1078 - Shikra audio support (54 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/35184675653

Checker Result Summary
checkpatch All commits pass style checks
dt-binding-check All binding schemas valid
dtb-check 3 new validation errors
sparse-check No static analysis warnings
check-uapi-headers No UAPI ABI changes
check-patch-compliance 38 commits fail compliance
tag-check N/A Cannot determine target branch (network unavailable)

❌ check-patch-compliance

Root cause: 25 Revert commits missing required prefix before "Revert", and 13 commits have content differences from their upstream lore links.

Failure details:

Issue 1: Missing prefix on Revert commits (25 commits)

Checking commit: Revert "FROMLIST: ASoC: qcom: sc8280xp: add Shikra EVK machine variants"
Commit summary does not start with a required prefix

Checking commit: Revert "FROMLIST: ASoC: qcom: Add Shikra QAIF support"
Commit summary does not start with a required prefix

[... 23 more Revert commits with the same issue ...]

All 25 Revert commits (patches 01-25) have subjects starting with Revert "FROMLIST: ... but lack a prefix before the word Revert. The checker requires Revert commits to carry their own prefix tag.

Issue 2: Content mismatch with upstream (13 commits)

Checking commit: FROMLIST: ASoC: qcom: Switch lpass-cpu and qaif-cpu to snd_soc_of_xlate_dai_name()
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: lpass-va-macro: Add shikra compatible
Change is different from the one mentioned in Link

Checking commit: FROMLIST: ASoC: qcom: sc8280xp: Extend hw_params for QAIF backends
Change is different from the one mentioned in Link

[... 10 more commits with content mismatch ...]

13 commits have FROMLIST: prefix and Link: trailers but the patch content differs from the upstream lore version. This could be due to:

  • Context-only differences (line number shifts)
  • Legitimate adaptations for the target tree
  • Missing or extra hunks

Fix:

For Revert commits (patches 01-25):

git rebase -i <base_sha>
# For each Revert commit, mark as 'edit'
git commit --amend -m "FROMLIST: Revert \"FROMLIST: <original subject>\""
# or
git commit --amend -m "UPSTREAM: Revert \"FROMLIST: <original subject>\""
git rebase --continue

Choose FROMLIST: if the revert itself was posted upstream, or UPSTREAM: if it's a revert of an upstream commit.

For content-mismatch commits:

# Fetch the upstream patch for comparison
b4 am --single-message -C -l -3 <link-from-commit-body> -o /tmp/upstream

# Compare the actual diff content
git format-patch -1 <sha> --stdout > /tmp/pr-patch
diff <(awk '/^diff/,/^--$/' /tmp/pr-patch | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]')

# If differences are real (not just context shifts):
# - Document the adaptation in the commit message, OR
# - Align the patch with upstream if possible

Reproduce locally:

cd <kernel-tree>
../kernel-checkers/check-patch-compliance.sh 6cc7b3cbf67264d3f4ebec661d4a86e75f724f23 1cdbc380517d9203660d5479441e2439aa7c7332

❌ dtb-check

Root cause: The qcom,wsa8855 compatible string does not match the Qualcomm compatible string pattern enforced by schemas/qcom.yaml, and sound card DAI link properties are not declared in the binding.

Failure details:

shikra-cqm-evk.dtb: speaker@c (qcom,wsa8855): compatible: 'oneOf' conditional failed, one must be fixed:
	'qcom,wsa8855' does not match '^qcom,(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+(pro)?-.*$'
	'qcom,wsa8855' does not match '^qcom,sar[0-9]+[a-z]?-.*$'
	'qcom,wsa8855' does not match '^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$'
	[... 8 more pattern match failures ...]

shikra-cqm-evk.dtb: sound (qcom,shikra-cqm-sndcard): wsa-speaker-dai-link:codec: 
  'dai-tdm-slot-num', 'dai-tdm-slot-rx-mask', 'dai-tdm-slot-width' do not match any of the regexes: '^pinctrl-[0-9]+$'

shikra-cqm-evk.dtb: sound (qcom,shikra-cqm-sndcard): wsa-speaker-dai-link:cpu: 
  'dai-tdm-slot-num', 'dai-tdm-slot-rx-mask', 'dai-tdm-slot-tx-mask', 'dai-tdm-slot-width' do not match any of the regexes: '^pinctrl-[0-9]+$'

Analysis:

  1. qcom,wsa8855 compatible string issue:
    The compatible string qcom,wsa8855 is a bare codec identifier without a SoC-specific prefix. The top-level schemas/qcom.yaml enforces that all Qualcomm compatible strings follow patterns like qcom,<soc>-<device> (e.g., qcom,sc8280xp-wsa8855). The bare qcom,wsa8855 does not match any of these patterns.

    However, this is likely intentional — the WSA8855 is a standalone I2C codec that is not SoC-specific. The binding Documentation/devicetree/bindings/sound/qcom,wsa8855.yaml (added in this PR) should explicitly allow qcom,wsa8855 as a valid compatible string.

  2. TDM slot properties not declared:
    The sound card binding does not declare dai-tdm-slot-num, dai-tdm-slot-rx-mask, dai-tdm-slot-tx-mask, and dai-tdm-slot-width as valid properties for DAI link nodes. These are standard ASoC TDM properties but must be explicitly allowed in the binding schema.

Fix:

For qcom,wsa8855 compatible string:

Option A: Add an exception to schemas/qcom.yaml to allow qcom,wsa8855:

# In schemas/qcom.yaml, add to the compatible enum list:
properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,wsa8855  # Add this line
              - qcom,dsi-ctrl-6g-qcm2290
              - qcom,gpucc-sdm630
              # ... existing entries ...

Option B: Use a SoC-specific compatible string in the DTS:

speaker@c {
    compatible = "qcom,sc8280xp-wsa8855", "qcom,wsa8855";
    ...
};

Then update Documentation/devicetree/bindings/sound/qcom,wsa8855.yaml to allow both.

For TDM slot properties:

Update the sound card binding (Documentation/devicetree/bindings/sound/qcom,shikra-qaif-cpu.yaml or the machine driver binding) to allow TDM properties:

patternProperties:
  '-dai-link$':
    type: object
    properties:
      cpu:
        properties:
          dai-tdm-slot-num: true
          dai-tdm-slot-rx-mask: true
          dai-tdm-slot-tx-mask: true
          dai-tdm-slot-width: true
      codec:
        properties:
          dai-tdm-slot-num: true
          dai-tdm-slot-rx-mask: true
          dai-tdm-slot-width: true

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out CHECK_DTBS=y arch/arm64/boot/dts/qcom/shikra-cqm-evk.dtb

⚠️ tag-check (Cannot verify)

Status: Unable to determine target branch due to network unavailability.

What this check does: For all branches except qcom-next and qcom-next-staging, every commit subject must start with a valid prefix tag:

  • FROMLIST: / FROMGIT: / UPSTREAM: / BACKPORT: / QCLINUX: / PENDING: / WORKAROUND:

Current situation:

  • 25 Revert commits lack a prefix before Revert (would fail tag-check if target branch is not qcom-next/qcom-next-staging)
  • 29 commits have valid FROMLIST: or FROMGIT: prefixes (would pass)

Action required: Confirm the target branch. If it is not qcom-next or qcom-next-staging, the 25 Revert commits must be fixed as described in the check-patch-compliance section above.


Verdict

3 blockers must be fixed before merge:

  1. check-patch-compliance: Add prefix to 25 Revert commits (FROMLIST: or UPSTREAM: before Revert)
  2. check-patch-compliance: Investigate and resolve 13 content-mismatch warnings (verify with b4 am and document adaptations if legitimate)
  3. dtb-check: Fix qcom,wsa8855 compatible string validation (add exception to schemas/qcom.yaml or use SoC-specific compatible) and declare TDM slot properties in sound card binding

Recommended workflow:

  1. Fix all 25 Revert commit subjects with git rebase -i
  2. For each of the 13 content-mismatch commits, fetch upstream with b4 am and compare — document any intentional adaptations in commit messages
  3. Update schemas/qcom.yaml to allow qcom,wsa8855 as a valid standalone codec compatible string
  4. Update sound card binding to allow dai-tdm-slot-* properties in DAI link nodes
  5. Re-run checkers locally before pushing

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia purwa-iot-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
Ethernet_Basic_Validation ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️ ⚠️ skip ❌ Fail ❌ Fail ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
USBHost ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ⚠️ skip ✅ Pass ✅ Pass ❌ Fail
WiFi_Firmware_Driver ✅ Pass ✅ Pass ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ◻️ ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ✅ Pass
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #1078

Job 228617 | SoC qcs9100-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228617

Failed test cases in LAVA job 228617 (SoC: qcs9100-ride).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Pre-existing platform issues unrelated to PR changes — four PMIC temp-alarm devices stuck in deferred probe (missing thermal zone dependency), regulatory.db firmware file absent from rootfs, and Aquantia PHY DT property mismatch (missing firmware-name).
  3. Possible fix: These are known benign/pre-existing issues on qcs9100-ride platform. For temp-alarm deferred probes: verify thermal zone DT nodes are present and thermal driver probes successfully. For regulatory.db: add the file to rootfs or suppress the warning (non-critical for WiFi operation as evidenced by WiFi_OnOff PASS). For Aquantia PHY: add firmware-name property to the PHY DT node or update driver to handle optional firmware gracefully.
  4. Detail analysis attachment: failed_case_job228617_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Video codec device aa00000.video-codec at address 0xaa00000 is not attached to any IOMMU group on qcs9100-ride platform, failing the SMMU test's critical master protection validation.
  3. Possible fix: Add IOMMU domain binding for the video codec device node in the qcs9100-ride device tree (arch/arm64/boot/dts/qcom/qcs9100*.dtsi) by adding an iommus property referencing the appropriate SMMU instance, following the pattern used by other critical masters (UFS, Display, GPU, USB) that passed the test.
  4. Detail analysis attachment: failed_case_job228617_2_detailed.md
  Case 3: Ethernet_Basic_Validation — Driver Initialization Failure (PHY attach)
  1. Failed case: Ethernet_Basic_Validation — Driver Initialization Failure (PHY attach)
  2. Root cause: The qcom-ethqos driver at 23040000.ethernet fails to attach to its PHY with -EINVAL when attempting to bring up interface end0. The PHY is not discovered on the MDIO bus during driver probe, likely due to missing or incorrect PHY device tree configuration (missing phy-handle, incorrect phy-mode, or PHY reset GPIO not configured) specific to the qcs9100-ride board.
  3. Possible fix: This is a pre-existing board/DT configuration issue unrelated to PR Shikra Headphone support #1078 (which only modifies audio subsystem code). Verify the qcs9100-ride device tree includes correct PHY configuration: phy-handle phandle pointing to a valid PHY node under the MDIO bus, correct phy-mode (rgmii/sgmii/etc.), and PHY reset GPIO if required. Compare with working Ethernet DT configurations for similar Qualcomm platforms.
  4. Detail analysis attachment: failed_case_job228617_3_detailed.md
  Case 4: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: KVM driver initialization failed because the qcs9100-ride platform does not support EL2/HYP mode. The kernel printed "kvm [1]: HYP mode not available" during boot, preventing /dev/kvm device node creation. This is a platform hardware/firmware limitation, not a kernel bug.
  3. Possible fix: This is not a PR-introduced regression (PR Shikra Headphone support #1078 contains only audio/ASoC changes). The failure is expected on platforms without EL2 support. To resolve: (1) Skip KVM tests on qcs9100-ride in CI job definitions, OR (2) If EL2 support is expected, verify bootloader/firmware configuration enables EL2 and boots kernel at EL2, OR (3) Update platform firmware to enable virtualization extensions if hardware supports it.
  4. Detail analysis attachment: failed_case_job228617_4_detailed.md
  Case 5: ** KVM_EL2_DTB — Platform Configuration Incompatibility (KVM unavailable on Gunyah-enabled platform)
  1. Failed case: ** KVM_EL2_DTB — Platform Configuration Incompatibility (KVM unavailable on Gunyah-enabled platform)
  2. Root cause: ** The qcs9100-ride platform boots with Gunyah hypervisor occupying EL2 (ARM64 hypervisor privilege level), which prevents KVM from initializing because KVM also requires exclusive access to EL2. This is expected behavior: Gunyah and KVM are mutually exclusive virtualization solutions that cannot coexist on the same system. The kernel correctly detects this condition and reports "kvm [1]: HYP mode not available", resulting in no /dev/kvm device node creation.
  3. Possible fix: Update the LAVA test suite to skip KVM tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) on Gunyah-enabled platforms by adding a pre-check: if dmesg | grep -q "Gunyah based bootup"; then echo "[SKIP] KVM not applicable on Gunyah platform"; exit 0; fi. Long-term: maintain separate test matrices for qcs9100-ride configurations (Gunyah-enabled vs. bare-metal KVM-enabled) and only run KVM tests on platforms where KVM is architecturally supported.
  4. Detail analysis attachment: failed_case_job228617_5_detailed.md
  Case 6: KVM_Infra — Test Environment Configuration Issue
  1. Failed case: KVM_Infra — Test Environment Configuration Issue
  2. Root cause: KVM cannot initialize on qcs9100-ride because Linux runs as a guest VM under Gunyah hypervisor at EL1, and EL2 (HYP mode) is not available to the guest. KVM requires direct EL2 access or nested virtualization support, neither of which is present. The kernel correctly detects this condition and reports "HYP mode not available" at boot (line 3187). This is a platform architectural limitation, not a kernel bug.
  3. Possible fix: Exclude KVM tests from the qcs9100-ride LAVA test suite. Add a platform capability check to the LAVA job definition that skips KVM tests when the target is running under a hypervisor. Alternatively, if KVM testing is required, configure the board to boot bare-metal (without Gunyah) or enable nested virtualization support in Gunyah firmware.
  4. Detail analysis attachment: failed_case_job228617_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: qcs9100-ride platform does not have EL2 (hypervisor mode) enabled in firmware/bootloader configuration; KVM initialization fails with "HYP mode not available" at boot, preventing /dev/kvm device creation.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. The test should be skipped on qcs9100-ride until EL2 support is enabled in the platform firmware. To enable KVM: (1) verify bootloader boots kernel at EL2, (2) ensure secure firmware allows EL2 access, (3) check device tree for virtualization properties. For CI: add qcs9100-ride to KVM test exclusion list.
  4. Detail analysis attachment: failed_case_job228617_7_detailed.md
Job 228618 | SoC qcs8300-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228618

Failed test cases in LAVA job 228618 (SoC: qcs8300-ride).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Two pre-existing platform issues on qcs8300-ride: (1) Aquantia AQR115C Ethernet PHY probe fails with -EINVAL due to missing or invalid firmware-name device tree property; (2) cfg80211 regulatory database firmware file (regulatory.db) not present in rootfs, causing -ENOENT error. Neither issue is introduced by PR Shikra Headphone support #1078 (audio-only changes).
  3. Possible fix: For Aquantia PHY: Add or correct the firmware-name property in the qcs8300-ride device tree ethernet PHY node, or remove the property if firmware is not required for this PHY variant. For regulatory.db: Install the wireless-regdb package in the rootfs image, or suppress this test check as the failure is benign (WiFi functional tests pass, indicating cfg80211 falls back to built-in regulatory data).
  4. Detail analysis attachment: failed_case_job228618_1_detailed.md
  Case 2: ** Driver Probe Failure — Ethernet PHY (Aquantia AQR115C)
  1. Failed case: ** Driver Probe Failure — Ethernet PHY (Aquantia AQR115C)
  2. Root cause: ** The Aquantia AQR115C PHY driver probe failed with -EINVAL because the qcs8300-ride device tree is missing the required firmware-name property in the Ethernet PHY node. Without this property, the PHY driver cannot load firmware, causing PHY initialization to fail. Subsequently, the Ethernet MAC (qcom-ethqos) cannot attach to the non-functional PHY when the interface is brought up, resulting in test failure.
  3. Possible fix: Add the firmware-name property to the Aquantia AQR115C PHY node in the qcs8300-ride device tree. The property should specify the path to the Aquantia firmware blob (typically "Rowe-AQR115C-v1.0.0.cld" or platform-specific variant). Example DT patch:
  4. Detail analysis attachment: failed_case_job228618_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a pre-existing platform limitation, not a regression introduced by PR Shikra Headphone support #1078 (which only modifies audio subsystem code). To resolve: (1) Enable nested virtualization support in the Gunyah hypervisor configuration for qcs8300-ride, or (2) Mark KVM tests as expected-to-skip on platforms running as hypervisor guests without nested virt support, or (3) Run KVM tests only on bare-metal or nested-virt-capable platforms.
  4. Detail analysis attachment: failed_case_job228618_3_detailed.md
  Case 4: ** KVM_EL2_DTB — KVM device node unavailable (architectural limitation)
  1. Failed case: ** KVM_EL2_DTB — KVM device node unavailable (architectural limitation)
  2. Root cause: ** KVM cannot initialize on qcs8300-ride because the system boots under the Gunyah hypervisor, which owns EL2 (hypervisor privilege level). Linux runs as a guest at EL1 and cannot access EL2 to initialize KVM. This is an architectural limitation, not a kernel bug or configuration error. The PR Shikra Headphone support #1078 changes (audio subsystem only) are unrelated.
  3. Possible fix: Update the LAVA test suite to skip KVM tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) on Gunyah-based platforms like qcs8300-ride. Modify test cases to detect hypervisor presence and mark as SKIP (not FAIL) when running under a hypervisor. KVM cannot function on these platforms without nested virtualization support, which Gunyah does not currently provide.
  4. Detail analysis attachment: failed_case_job228618_4_detailed.md
  Case 5: KVM_Infra — KVM device node unavailable
  1. Failed case: KVM_Infra — KVM device node unavailable
  2. Root cause: CONFIG_KVM is enabled in kernel config but /dev/kvm device node is not created at runtime. The qcs8300-ride (Monaco) platform likely lacks hardware virtualization support (VHE/EL2) or KVM driver initialization is silently failing during boot without creating the character device.
  3. Possible fix: This is a platform limitation, not a PR-introduced regression. The PR touches only audio (ASoC) and Shikra device tree files, unrelated to KVM. Recommended action: (1) Verify qcs8300 SoC supports ARMv8 VHE and EL2 in hardware; (2) Check kernel boot log for KVM initialization messages or silent failures; (3) If platform doesn't support KVM, exclude KVM tests from qcs8300-ride CI test suite; (4) If KVM should work, investigate why kvm_arch_init() is not creating /dev/kvm (check dmesg for "kvm" during early boot).
  4. Detail analysis attachment: failed_case_job228618_5_detailed.md
  Case 6: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test definition marked as failed due to multiple genuine test case failures: (1) Aquantia AQR115C Ethernet PHY probe failed with error -22 (-EINVAL) due to missing firmware-name property in device tree, causing eth0 interface to fail bringing up; (2) KVM /dev/kvm device node not present (expected on qcs8300-ride platform without KVM support enabled); (3) regulatory.db firmware load failure (benign, known issue).
  3. Possible fix: The Ethernet PHY failure is a pre-existing platform configuration issue unrelated to this PR (PR only modifies ASoC audio code). To fix: add firmware-name property to the Aquantia AQR115C PHY node in qcs8300-ride device tree, or mark Ethernet tests as expected-fail for this platform. KVM failures are expected on this platform and should be marked as skip/expected-fail in the test configuration for qcs8300-ride.
  4. Detail analysis attachment: failed_case_job228618_6_detailed.md
Job 228619 | SoC monaco-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228619

Failed test cases in LAVA job 228619 (SoC: monaco-evk).

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** ath11k_pci driver probe timed out (error -110, ETIMEDOUT) on monaco-evk because the required WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the LAVA test rootfs. The driver cannot complete MHI initialization without firmware. This is a pre-existing LAVA infrastructure issue, not introduced by PR 1078 (which only reverts ASoC audio changes for Shikra EVK).
  3. Possible fix: Add the missing WiFi firmware package (linux-firmware-ath11k or equivalent) to the Yocto/buildroot recipe for monaco-evk LAVA test images. Ensure /lib/firmware/ath11k/WCN6855/hw2.1/nfa765/amss.bin and related files are present in the rootfs. Rebuild and redeploy the test image. For this PR: mark as known infrastructure issue (not a blocker) and approve if other tests pass.
  4. Detail analysis attachment: failed_case_job228619_1_detailed.md
  Case 2: ** WiFi_Firmware_Driver — WiFi driver probe failure (ath11k_pci)
  1. Failed case: ** WiFi_Firmware_Driver — WiFi driver probe failure (ath11k_pci)
  2. Root cause: ** WCN6855 WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs /lib/firmware directory. The ath11k_pci driver probe fails with error -110 (ETIMEDOUT) because MHI (Modem Host Interface) cannot power up the WiFi device without the required firmware binary. The Monaco EVK board has a WCN6855 hw2.1 WiFi module connected via PCIe, but the firmware file for the nfa765 variant is not packaged in the test image.
  3. Possible fix: Add the missing WCN6855 firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory. This is a firmware packaging issue in the Yocto/build system — ensure the linux-firmware-ath11k or equivalent firmware package includes the nfa765 variant firmware for WCN6855 hw2.1. Alternatively, if nfa765 is a board-specific variant, verify the correct firmware path in the device tree or driver board files and ensure the corresponding firmware binary is deployed. Re-flash the corrected image and verify WiFi probe succeeds.
  4. Detail analysis attachment: failed_case_job228619_2_detailed.md
  Case 3: WiFi_OnOff — WiFi driver probe failure
  1. Failed case: WiFi_OnOff — WiFi driver probe failure
  2. Root cause: ath11k_pci driver probe failed with -ETIMEDOUT (-110) on monaco-evk because the WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs, causing MHI power-up to time out during device initialization at boot.
  3. Possible fix: Add the missing WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory (/lib/firmware/). Verify the firmware package for WCN6855 hw2.1 nfa765 variant is included in the Yocto build or install it manually if testing on a custom rootfs.
  4. Detail analysis attachment: failed_case_job228619_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Re-trigger the LAVA job. If the issue recurs, increase the lava-test-shell timeout in the LAVA job definition from the current 00:07:32 duration to allow more buffer time for signal processing, or investigate LAVA dispatcher signal handling for race conditions in the test completion detection logic.
  4. Detail analysis attachment: failed_case_job228619_4_detailed.md
Job 228620 | SoC qcs6490-rb3gen2

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228620

Failed test cases in LAVA job 228620 (SoC: qcs6490-rb3gen2).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test infrastructure false positive - the Probe_Failure_Check test flagged a missing /lib/firmware/regulatory.db file (cfg80211 wireless regulatory database), which is a benign absence that does not affect WiFi functionality; WiFi tests (WiFi_Firmware_Driver and WiFi_OnOff) both passed, confirming the wireless subsystem is fully functional.
  3. Possible fix: Suppress this specific failure pattern in the Probe_Failure_Check test - add a filter to exclude "regulatory.db" firmware load failures when WiFi functional tests pass, or include the wireless-regdb package in the test rootfs image to provide the regulatory.db file.
  4. Detail analysis attachment: failed_case_job228620_1_detailed.md
  Case 2: ** KVM_Driver (Platform Capability Limitation — HYP mode not available)
  1. Failed case: ** KVM_Driver (Platform Capability Limitation — HYP mode not available)
  2. Root cause: ** The qcs6490-rb3gen2 platform does not provide EL2 (ARM64 hypervisor mode) to the Linux kernel, preventing KVM initialization. The kernel message kvm [1]: HYP mode not available confirms that the hardware/firmware does not expose virtualization extensions, so /dev/kvm is never created and all KVM tests fail.
  3. Possible fix: Remove KVM tests from the qcs6490-rb3gen2 test suite, or add a platform capability check to skip KVM tests when EL2 is not available. This is not a kernel bug — it is a test suite configuration issue where tests requiring virtualization support are run on a platform that does not provide it.
  4. Detail analysis attachment: failed_case_job228620_2_detailed.md
  Case 3: KVM Driver Initialization Failure — HYP mode unavailable
  1. Failed case: KVM Driver Initialization Failure — HYP mode unavailable
  2. Root cause: The qcs6490-rb3gen2 platform boots with Gunyah hypervisor active (version gunyah-cdfb73831), which occupies EL2 (hypervisor privilege level). KVM requires exclusive EL2 access but cannot obtain it because Gunyah is already using EL2, resulting in "HYP mode not available" and preventing /dev/kvm creation.
  3. Possible fix: This is a platform configuration issue, not a PR-introduced regression. To enable KVM on qcs6490-rb3gen2, disable Gunyah hypervisor in the firmware/bootloader configuration and rebuild the boot image without Gunyah. Alternatively, mark KVM tests as "not applicable" for Gunyah-enabled platforms in the CI test matrix.
  4. Detail analysis attachment: failed_case_job228620_3_detailed.md
  Case 4: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Add a test applicability gate to the LAVA test suite: detect if the system is running under a hypervisor (check for Hypervisor in dmesg or /sys/hypervisor/type) and skip KVM tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) with result "skip" and reason "nested virtualization not supported". Alternatively, configure the LAVA job to boot qcs6490-rb3gen2 without the Gunyah hypervisor if KVM testing is required.
  4. Detail analysis attachment: failed_case_job228620_4_detailed.md
  Case 5: ** 0_qcom-next-ci-premerge-tests
  1. Failed case: ** 0_qcom-next-ci-premerge-tests
  2. Root cause: ** LAVA marked the test definition as failed because 4 individual test cases failed: 3 KVM tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) failed due to platform limitation (HYP mode not available on qcs6490-rb3gen2 — kernel message: "kvm [1]: HYP mode not available"), and 1 Probe_Failure_Check test failed due to a benign firmware load error (regulatory.db for faux_driver). These are pre-existing platform/test environment issues, not regressions introduced by the PR (which only contains ASoC audio changes).
  3. Possible fix: Exclude KVM tests from the qcs6490-rb3gen2 test suite, as this platform does not support EL2/HYP mode required for KVM. For Probe_Failure_Check, suppress the regulatory.db firmware load error for faux_driver (test driver) as it does not indicate a real probe failure. Re-run the CI job with the updated test configuration.
  4. Detail analysis attachment: failed_case_job228620_5_detailed.md
Job 228621 | SoC shikra-iqs-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228621

Failed test cases in LAVA job 228621 (SoC: shikra-iqs-evk).

  Case 1: GIC
  1. Failed case: GIC
  2. Root cause: Test script bug — the GIC test script at line 75 attempts to parse interrupt counts for CPUs 4-7, but shikra-iqs-evk has only 4 CPUs (0-3). The script fails with "integer expected" errors when it encounters non-numeric fields (GICv3, Level, arch_timer) while parsing /proc/interrupts for non-existent CPUs.
  3. Possible fix: Update the GIC test script to dynamically detect the number of online CPUs from /sys/devices/system/cpu/online or /proc/cpuinfo before attempting to parse interrupt counts, rather than hardcoding an assumption of 8 CPUs.
  4. Detail analysis attachment: failed_case_job228621_1_detailed.md
  Case 2: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: PR Shikra Headphone support #1078 reverts Shikra audio machine driver support (commits removing qaif-shikra.c and shikra-cqm/cqs/iqs-sndcard compatibles), causing audio subsystem probe failures (snd-sc8280xp "error getting cpu dai name" and va_macro "unable to get mclk clock") because the device tree still references the removed audio drivers. The remaining probe failures (coresight-etm4x -EINVAL, regulatory.db -ENOENT, cpufreq-dt -EEXIST, tpm_tis_spi -ETIMEDOUT) are pre-existing benign issues unrelated to this PR.
  3. Possible fix: Update the Shikra device tree to remove or disable the audio nodes (sound card, va_macro codec) that depend on the reverted driver support, OR accept these deferred probe warnings as expected until the audio DT is updated in a follow-up commit. The test should be configured to suppress known-benign probe failures (coresight ETM, regulatory.db, cpufreq-dt duplicate registration, TPM timeout).
  4. Detail analysis attachment: failed_case_job228621_2_detailed.md
  Case 3: PCIe
  1. Failed case: PCIe
  2. Root cause: QPS615 PCIe switch firmware (TC956X_Firmware_PCIeBridge.bin) is missing from the rootfs firmware directories; the PCIe test validates that this firmware file is present and readable, but it was not found in any standard firmware root (/lib/firmware, /vendor/firmware).
  3. Possible fix: Add TC956X_Firmware_PCIeBridge.bin to the Yocto image recipe firmware package list or to the appropriate firmware directory in the rootfs build configuration; verify the firmware file is present in /lib/firmware after rebuild and reflash.
  4. Detail analysis attachment: failed_case_job228621_3_detailed.md
  Case 4: USBHost
  1. Failed case: USBHost
  2. Root cause: USB controller at 4e00000.usb is configured in gadget mode (systemd reached "Hardware activated USB gadget" target) instead of host mode, preventing USB root hub enumeration and host controller functionality required by the USBHost test.
  3. Possible fix: Configure the USB controller DT node for host mode by setting dr_mode = "host" in the usb@4e00000 device tree node, or ensure the USB role switch is configured to default to host mode if dual-role operation is intended.
  4. Detail analysis attachment: failed_case_job228621_4_detailed.md
  Case 5: BT_FW_KMD_Service
  1. Failed case: BT_FW_KMD_Service
  2. Root cause: QCA WCN399x Bluetooth controller on Shikra IQS EVK is not responding to HCI commands over UART, causing persistent command timeouts (-110 ETIMEDOUT) and preventing firmware initialization; BD address remains invalid (00:00:00:00:00:00) indicating the controller never completes basic initialization.
  3. Possible fix: This is a pre-existing platform/hardware issue not introduced by the PR (PR only modifies audio subsystem). Recommended actions: (1) verify UART pinmux/pinctrl configuration for Bluetooth UART in shikra-iqs-evk DTS, (2) check hardware connections and power sequencing for WCN399x module on the EVK, (3) verify Bluetooth firmware files are present and compatible with WCN399x hardware revision, (4) check for known errata or board-specific initialization requirements for WCN399x on Shikra platform.
  4. Detail analysis attachment: failed_case_job228621_5_detailed.md
  Case 6: ** BT_ON_OFF
  1. Failed case: ** BT_ON_OFF
  2. Root cause: ** Bluetooth hardware communication failure on shikra-iqs-evk — the QCA Bluetooth controller (wcn399x) repeatedly fails to respond to HCI commands during initialization, resulting in command timeouts (-110 ETIMEDOUT) and "Reading QCA version information failed" errors. The adapter never acquires a valid BD address and remains in DOWN state with bd_addr=00:00:00:00:00:00.
  3. Possible fix: This is a hardware/firmware/DT configuration issue unrelated to the PR (PR only modifies ASoC audio drivers). Verify: (1) Bluetooth UART pinctrl configuration in shikra-iqs-evk DT is correct, (2) Bluetooth enable GPIO is properly configured and asserted, (3) WCN399x firmware files are present and correct version for this hardware, (4) UART baud rate and flow control settings match hardware requirements. If issue persists across multiple boards, check for a known hardware errata or firmware compatibility issue with this kernel version on shikra-iqs-evk.
  4. Detail analysis attachment: failed_case_job228621_6_detailed.md
  Case 7: BT_SCAN
  1. Failed case: BT_SCAN
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Verify Bluetooth UART device tree configuration in arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts — confirm UART port assignment (likely uart9/ttyHS1), pinctrl configuration, enable-gpios, and regulators (vddio, vddaon, vddbtcxmx) are correctly specified and match hardware schematic; check if PR's audio-related DT changes inadvertently removed or conflicted with Bluetooth UART node; if DT is correct, verify Bluetooth chip power sequencing and UART signal integrity on the board.
  4. Detail analysis attachment: failed_case_job228621_7_detailed.md
  Case 8: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: ** The qcom_rng driver attempted to read from RNG hardware registers at address 0xffff800082c65004 during the qcom_hwrng test, but the hardware block is not accessible (powered off, clocked off, or in reset state), causing a synchronous external abort and kernel panic. This is a platform/board-specific hardware configuration issue on Shikra IQS EVK, not a regression introduced by PR Shikra Headphone support #1078 (which only modifies ASoC/sound subsystem).
  3. Possible fix: Verify and fix the Shikra IQS EVK device tree RNG configuration: (1) Ensure the RNG device node has correct power-domains and clocks properties; (2) Add runtime PM support to qcom_rng driver to enable power/clocks before hardware access; (3) If RNG hardware is non-functional on this board revision, disable the RNG device node (status = "disabled") in the Shikra IQS EVK device tree or blacklist the qcom_rng module in the CI test environment to prevent the crash.
  4. Detail analysis attachment: failed_case_job228621_8_detailed.md
  Case 9: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Collect additional focused logs and rerun the failed test case.
  4. Detail analysis attachment: failed_case_job228621_9_detailed.md
  Case 10: ** KVM_Infra — Driver Initialization Failure
  1. Failed case: ** KVM_Infra — Driver Initialization Failure
  2. Root cause: ** KVM driver initialization failed because the Shikra IQS EVK platform boots the kernel at EL1 (Exception Level 1) instead of EL2 (Hypervisor mode). ARM64 KVM requires EL2 to operate. The bootloader/firmware on this platform does not start the kernel at EL2, preventing KVM from initializing and creating /dev/kvm.
  3. Possible fix: This is a platform configuration limitation, not a kernel bug. To enable KVM on Shikra IQS EVK: (1) Update the bootloader (ABL/UEFI) configuration to boot the kernel at EL2 instead of EL1, OR (2) If the platform firmware reserves EL2 for secure operations, KVM cannot be enabled — mark KVM tests as "not applicable" for this platform in the CI test matrix.
  4. Detail analysis attachment: failed_case_job228621_10_detailed.md
  Case 11: Kernel Crash — Synchronous External Abort in qcom_rng Driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng Driver
  2. Root cause: Hardware bus error (synchronous external abort 0x96000010) when qcom_rng_read attempted to access RNG hardware registers at offset 0x35c; the RNG hardware block was either not powered/clocked correctly or the hardware failed to respond to the MMIO read, causing a fatal bus-level exception on Shikra IQS EVK.
  3. Possible fix: This is a pre-existing kernel issue unrelated to PR Shikra Headphone support #1078 (which only modifies sound/audio subsystem code). The qcom_rng driver needs investigation: verify RNG clock/regulator dependencies in DT are correct for Shikra, confirm runtime PM state before register access, and add defensive checks or error handling for hardware non-response. As an immediate workaround, disable the qcom_hwrng test or blacklist the qcom_rng module on Shikra until the driver is fixed.
  4. Detail analysis attachment: failed_case_job228621_11_detailed.md
  Case 12: Kernel Crash — synchronous external abort in qcom_rng driver
  1. Failed case: Kernel Crash — synchronous external abort in qcom_rng driver
  2. Root cause: Hardware RNG (qcom_rng) driver triggered a synchronous external abort at PC qcom_rng_read+0xc4 when reading from MMIO register 0xffff800082c65000, indicating the RNG hardware block is either not clocked/powered or the MMIO mapping is invalid on shikra-iqs-evk. After panic, the board rebooted but failed to return to Linux within the 40-minute LAVA timeout, causing lava-test-shell to time out.
  3. Possible fix: Verify that the qcom_rng device tree node for shikra-iqs-evk includes correct clock/power-domain bindings and that the MMIO base address matches the SoC memory map. If the RNG block is not functional on this platform, disable the qcom_rng driver in the kernel config or mark the DT node as status = "disabled" for shikra-iqs-evk. Additionally, investigate why the board did not return to Linux after the panic-triggered reboot — check kernel cmdline for ramdump/crashdump settings and verify the boot flow completes successfully after a warm reset.
  4. Detail analysis attachment: failed_case_job228621_12_detailed.md
  Case 13: Kernel Crash — synchronous external abort in qcom_rng driver
  1. Failed case: Kernel Crash — synchronous external abort in qcom_rng driver
  2. Root cause: The kernel panicked with a synchronous external abort while reading from the hardware RNG device (/dev/hwrng) during the qcom_hwrng test. The crash occurred in qcom_rng_read+0xc4/0x228 when attempting to access a hardware register (instruction b940035c - load word from address in x23 + offset). The system then attempted to write crash logs to EFI pstore but encountered repeated "Unable to handle paging request in EFI runtime service" errors, indicating EFI runtime services were also broken. The board entered ramdump mode, causing the LAVA test shell to timeout after 2400 seconds. This is a pre-existing kernel/hardware issue unrelated to the PR's audio driver changes.
  3. Possible fix: This is a pre-existing kernel crash in the qcom_rng driver, not introduced by PR Shikra Headphone support #1078 (which only modifies audio subsystem code). The crash indicates either: (1) incorrect hardware register mapping in the qcom_rng driver for shikra-iqs-evk, (2) missing clock/power domain enablement before RNG access, or (3) hardware fault on this specific board. Recommended actions: (1) Check if qcom_rng driver has correct register base and clock dependencies for Shikra SoC in drivers/char/hw_random/qcom-rng.c, (2) verify RNG device tree node in arch/arm64/boot/dts/qcom/shikra.dtsi has correct reg property and required clocks/power-domains, (3) add debug instrumentation to qcom_rng_read to log register addresses before access, (4) test RNG functionality on other Shikra boards to determine if this is board-specific hardware failure, (5) consider disabling the qcom_hwrng test for shikra-iqs-evk until root cause is resolved.
  4. Detail analysis attachment: failed_case_job228621_13_detailed.md
  Case 14: job
  1. Failed case: job
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Verify qcom_rng device tree node includes all required clocks, power domains, and interconnect paths for Shikra IQS EVK; ensure TRNG hardware block is properly powered and clocked before driver access; add runtime PM support to qcom_rng driver if missing; cross-check with working Shikra configurations to identify missing DT properties (clocks, power-domains, interconnects).
  4. Detail analysis attachment: failed_case_job228621_14_detailed.md
Job 228622 | SoC qcs615-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228622

Failed test cases in LAVA job 228622 (SoC: qcs615-ride).

  Case 1: Kernel Crash — Synchronous External Abort during USB enumeration
  1. Failed case: Kernel Crash — Synchronous External Abort during USB enumeration
  2. Root cause: The kernel panicked with a synchronous external abort at PC __pi_memcpy_generic+0x2c/0x230 while copying data to a SWIOTLB bounce buffer during USB device descriptor fetch. The crash occurred in the USB hub workqueue (hub_event) when attempting to enumerate a USB device, specifically during usb_get_device_descriptorusb_hcd_map_urb_for_dmadma_map_page_attrsswiotlb_bounce. The external abort indicates the target DMA address (0xffff00007ff7f000) was not accessible, suggesting either an invalid IOMMU mapping, incorrect SWIOTLB buffer allocation, or a hardware-level bus fault on the qcs615-ride platform.
  3. Possible fix: This is a pre-existing platform issue unrelated to the PR's audio driver changes (the PR only modifies sound card DT nodes and ASoC drivers for shikra platforms). The crash occurs during early boot USB enumeration before any audio subsystem initialization. To debug: (1) Check if SWIOTLB buffer size is sufficient (swiotlb= kernel parameter); (2) Enable IOMMU debugging (iommu.strict=1, arm-smmu.disable_bypass=0); (3) Verify USB controller DMA mask and IOMMU domain configuration in qcs615 DT; (4) Check if this is a known qcs615-ride hardware errata requiring USB controller quirks. The LAVA job should be re-run on a different qcs615-ride board to rule out hardware failure.
  4. Detail analysis attachment: failed_case_job228622_1_detailed.md
  Case 2: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a pre-existing qcs615-ride platform issue unrelated to PR#1078 (which only modifies audio subsystem). Recommended actions: (1) Verify IOMMU/SMMU device tree configuration for USB controller on qcs615-ride; (2) Check SWIOTLB buffer size and allocation (kernel cmdline swiotlb= parameter); (3) Review USB controller power/clock sequencing in device tree; (4) Re-trigger CI on a known-stable qcs615-ride board to rule out hardware fault; (5) If issue persists, bisect kernel to identify when USB enumeration regression was introduced on this SoC.
  4. Detail analysis attachment: failed_case_job228622_2_detailed.md
  Case 3: Kernel Crash — Synchronous External Abort (Memory Access Fault)
  1. Failed case: Kernel Crash — Synchronous External Abort (Memory Access Fault)
  2. Root cause: Kernel panic at ~8 seconds after boot due to synchronous external abort (fault code 0x96000010) in __pi_memcpy_generic during USB DMA mapping via SWIOTLB bounce buffer; the crash occurred while copying data to/from SWIOTLB buffer address 0xffff00007ff7f000 during USB hub port initialization, indicating either an invalid physical address mapping, IOMMU/SMMU misconfiguration, or corrupted SWIOTLB buffer metadata on qcs615-ride.
  3. Possible fix: This is a pre-existing kernel/platform issue unrelated to the PR (PR contains only ASoC audio driver reverts for sc8280xp/Shikra, not USB/DMA/IOMMU changes for qcs615). Re-trigger the CI job on a known-good baseline to confirm; if the crash reproduces on baseline, escalate to the qcs615 platform maintainers to investigate SWIOTLB buffer allocation, IOMMU domain setup for USB controller, or potential hardware/firmware issue causing invalid physical address access during DMA operations.
  4. Detail analysis attachment: failed_case_job228622_3_detailed.md
  Case 4: Kernel Crash — synchronous external abort during USB hub enumeration
  1. Failed case: Kernel Crash — synchronous external abort during USB hub enumeration
  2. Root cause: Synchronous external abort (memory access fault) in __pi_memcpy_generic during SWIOTLB bounce buffer operation while USB hub driver attempted to enumerate a connected device on qcs615-ride; the crash occurred at PC __pi_memcpy_generic+0x2c called from swiotlb_bounce+0x104 during DMA mapping for USB control transfer.
  3. Possible fix: This is a hardware-level memory access fault during DMA bounce buffer copy operation. Investigate: (1) SWIOTLB buffer physical address validity (check if 0x10ed01660 is in valid DRAM range for qcs615), (2) IOMMU/SMMU configuration for USB controller (group 21/22 assignments), (3) USB device compatibility (device descriptor fetch triggered the fault), (4) memory corruption or invalid DMA address programming. Short-term: disable USB hub support or the specific USB port to allow boot completion. Proper fix: validate SWIOTLB buffer allocation, check device tree memory reservations, and verify USB controller IOMMU domain configuration for qcs615-ride platform.
  4. Detail analysis attachment: failed_case_job228622_4_detailed.md
Job 228623 | SoC hamoa-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228623

Failed test cases in LAVA job 228623 (SoC: hamoa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Mark Probe_Failure_Check as a known benign failure for hamoa-evk platform until platform DT and firmware packaging are corrected. The PR should not be blocked by these pre-existing issues. To resolve: (1) add TZ firmware synchronization or defer qseecom probe; (2) fix PMIC LED node reg property in hamoa DTS; (3) include regulatory.db in rootfs firmware directory.
  4. Detail analysis attachment: failed_case_job228623_1_detailed.md
  Case 2: ** smmu (test infrastructure issue — not a kernel crash or SMMU fault)
  1. Failed case: ** smmu (test infrastructure issue — not a kernel crash or SMMU fault)
  2. Root cause: ** The smmu test expects certain USB PHY devices (a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb) and video codec (aa00000.video-codec) to have IOMMU group attachments, but these devices are not present in /sys/kernel/iommu_groups/*/devices/ on hamoa-evk. The kernel SMMU subsystem is functioning correctly (35 devices successfully attached, no SMMU/IOMMU errors in dmesg), but the test's "critical master" list does not match the actual device tree configuration for this SoC.
  3. Possible fix: Update the smmu test's critical master list to exclude USB PHY devices (which are not DMA masters and don't require IOMMU protection) and the video codec device if it's not present or not enabled on hamoa-evk. Alternatively, if these devices should have IOMMU groups, add the missing iommus properties to their device tree nodes in the hamoa device tree source.
  4. Detail analysis attachment: failed_case_job228623_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: The hamoa-evk platform does not support ARM Hypervisor (EL2) mode, which is a hardware/firmware prerequisite for KVM virtualization. The kernel correctly detects this limitation during KVM initialization: kvm [1]: HYP mode not available (boot log timestamp 6.372802s).
  3. Possible fix: This is not a PR-introduced regression. The PR contains only audio subsystem changes (ASoC reverts for Shikra platform) and does not modify KVM, virtualization, or platform initialization code. The test failure is expected on hamoa-evk because this platform does not have virtualization extensions enabled or available. To resolve: either (1) exclude KVM tests from the hamoa-evk test suite, or (2) enable EL2 in the bootloader/firmware if the hardware supports it, or (3) use a different platform with virtualization support for KVM testing.
  4. Detail analysis attachment: failed_case_job228623_3_detailed.md
  Case 4: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM driver initialization failed because HYP mode (EL2 hypervisor exception level) is not available on the Hamoa IoT EVK platform — this is a hardware/firmware limitation where the bootloader or platform security policy does not enable EL2 for the primary OS, preventing KVM from creating /dev/kvm.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. To enable KVM on Hamoa: (1) verify the bootloader/firmware supports EL2 and is configured to boot Linux at EL2, (2) check platform security policy to ensure EL2 is not reserved for proprietary hypervisor, (3) if EL2 cannot be enabled, disable KVM tests for Hamoa in the CI test suite as this platform does not support virtualization.
  4. Detail analysis attachment: failed_case_job228623_4_detailed.md
  Case 5: KVM_Infra — Platform Hardware Limitation (EL2/HYP Mode Not Available)
  1. Failed case: KVM_Infra — Platform Hardware Limitation (EL2/HYP Mode Not Available)
  2. Root cause: The Hamoa IoT EVK platform does not support ARM EL2 (Hypervisor) mode, which is required for KVM virtualization. The kernel detects this at boot and reports "kvm [1]: HYP mode not available", preventing the creation of /dev/kvm device node. CONFIG_KVM is enabled in the kernel configuration, but the underlying hardware/firmware does not provide EL2 capability.
  3. Possible fix: This is not a kernel regression or bug — it is a platform hardware/firmware limitation. The KVM test suite should be excluded from the test matrix for hamoa-evk (and any other platforms without EL2 support). Add a platform capability check to the LAVA job definition to skip KVM tests on platforms that do not advertise EL2/virtualization support in their device tree or boot configuration.
  4. Detail analysis attachment: failed_case_job228623_5_detailed.md
  Case 6: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is not a bug — it is expected behavior on Hamoa when Gunyah hypervisor is enabled. To enable KVM testing: (1) disable Gunyah hypervisor in bootloader/firmware configuration to allow Linux to run at EL2, OR (2) exclude KVM tests from the Hamoa test suite as KVM and Gunyah are mutually exclusive (both require EL2). The PR does not cause this failure.
  4. Detail analysis attachment: failed_case_job228623_6_detailed.md
Job 228624 | SoC lemans-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228624

Failed test cases in LAVA job 228624 (SoC: lemans-evk).

  Case 1: Probe_Failure_Check — PMIC temp-alarm deferred probe
  1. Failed case: Probe_Failure_Check — PMIC temp-alarm deferred probe
  2. Root cause: Four PMIC thermal alarm devices (c440000.spmi:pmic@{0,2,4,6}:temp-alarm@a00) on lemans-evk remain in deferred probe state because their dependency (likely qcom-spmi-adc5 or qcom-vadc-common IIO ADC driver) failed to probe or is missing from the kernel configuration, preventing the qcom-spmi-temp-alarm driver from obtaining the required IIO channel for temperature monitoring.
  3. Possible fix: Verify that CONFIG_QCOM_SPMI_ADC5 is enabled in the kernel configuration and that the SPMI PMIC ADC device tree nodes are present and correctly configured for lemans (SA8775P) platform; if the ADC driver is present but failing to probe, check for missing clock/regulator dependencies or DT binding mismatches in the PMIC ADC node.
  4. Detail analysis attachment: failed_case_job228624_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: The video codec device aa00000.video-codec on Lemans EVK (sa9075p/iq-9075-evk) is not attached to any IOMMU group because the video codec driver did not probe successfully or the device node is missing/incomplete in the device tree, preventing IOMMU domain attachment during driver initialization.
  3. Possible fix: Verify that the video codec device tree node at address aa00000 includes proper iommus property bindings in the Lemans EVK device tree (arch/arm64/boot/dts/qcom/sa9075p-.dts). If the node exists but driver probe failed, check kernel logs for probe failure reasons (missing clocks, regulators, firmware, or other dependencies). If the video codec is not supported on Lemans EVK, update the smmu test expectations to exclude this device for this platform.
  4. Detail analysis attachment: failed_case_job228624_2_detailed.md
  Case 3: LAVA Test Infrastructure Issue — Incomplete Test Execution
  1. Failed case: LAVA Test Infrastructure Issue — Incomplete Test Execution
  2. Root cause: The LAVA test runner (lava-test-shell) completed execution after running a subset of tests from the qcom-next-ci-premerge.yaml plan, but LAVA marked the overall test definition as failed because four tests (CPU_affinity, Freq_Scaling, irq, smmu) were not executed before the runner exited. All tests that actually ran (shmbridge, Ethernet_Basic_Validation, BT_FW_KMD_Service, BT_ON_OFF, BT_SCAN, WiFi_Firmware_Driver, WiFi_OnOff, watchdog, DSP_AudioPD, OpenCV, Audio_Card_Registration, KVM_Driver, KVM_EL2_DTB, KVM_Infra, qcom_hwrng) passed successfully. The kernel booted correctly (Linux version 6.18.44-gd69b5c1d7ea4), and there is no evidence of kernel crash, panic, or build load failure.
  3. Possible fix: This is a test plan configuration or test runner timeout issue, not a kernel regression introduced by PR Shikra Headphone support #1078. The PR adds audio support for Shikra platforms (54 patches) and does not touch scheduler, DCVS, IRQ, or SMMU subsystems. Recommended action: (1) Re-trigger the LAVA job to verify if the remaining tests complete on retry; (2) If the issue persists, investigate whether the test plan timeout (40 minutes) is insufficient for the lemans-evk platform or whether the test runner script has a logic error that causes early exit; (3) Review the result_parse.sh script invoked after qcom_hwrng test to determine why it lists unfinished tests and exits instead of continuing execution.
  4. Detail analysis attachment: failed_case_job228624_3_detailed.md
Job 228625 | SoC purwa-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/228625

Failed test cases in LAVA job 228625 (SoC: purwa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Six pre-existing platform driver probe failures on purwa-evk (iq-x5121-evk): qcom_qseecom_uefisecapp (-EBUSY: device busy), rtc-pm8xxx (-EIO: I/O error), two qcom-pcie instances (-ENODATA: PHY init sequence not available), qcom-spmi-lpg (-EINVAL: invalid DT property), and regulatory.db firmware (-ENOENT: file not found). None are introduced by this PR (audio subsystem changes).
  3. Possible fix: These are known platform configuration issues unrelated to the PR changes. The PR should not be blocked by these pre-existing failures. To resolve them: (1) qcom_qseecom_uefisecapp: check TrustZone app availability; (2) rtc-pm8xxx: verify SPMI RTC register access and DT configuration; (3) qcom-pcie: add missing PCIe PHY init sequences to DT or driver for this SoC; (4) qcom-spmi-lpg: fix multi-LED "reg" property in DT; (5) regulatory.db: add firmware file to rootfs or mark as optional.
  4. Detail analysis attachment: failed_case_job228625_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Test expectation mismatch — the smmu test expects 6 devices (USB controllers a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb and video codec aa00000.video-codec) to have IOMMU group attachments on purwa-evk, but these devices are either not present, not enabled in the device tree, or the test's device list is incorrect for this SoC platform.
  3. Possible fix: Update the smmu test's expected device list for purwa-evk to exclude devices that don't exist on this platform, or verify and enable these devices in the purwa-evk device tree if they should be present.
  4. Detail analysis attachment: failed_case_job228625_2_detailed.md
  Case 3: ** KVM_Driver — Platform Limitation (HYP Mode Unavailable)
  1. Failed case: ** KVM_Driver — Platform Limitation (HYP Mode Unavailable)
  2. Root cause: ** The Purwa IoT EVK (x5121) platform does not support ARM EL2 (Hypervisor mode). Kernel message at boot: kvm [1]: HYP mode not available. Without EL2, KVM cannot initialize and /dev/kvm device node is never created, causing the test to correctly report failure.
  3. Possible fix: This is not a bug. The test failure is expected on platforms without EL2 support. Recommended action: Exclude KVM tests from the Purwa EVK test suite, or mark them as "SKIP (platform limitation)" rather than "FAIL". If KVM support is required, verify the platform firmware/bootloader configuration boots the kernel at EL2, or use a different platform with virtualization support.
  4. Detail analysis attachment: failed_case_job228625_3_detailed.md
  Case 4: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a platform configuration issue, not a PR regression. To enable KVM on purwa-evk: (1) boot without Gunyah hypervisor (native Linux at EL2), OR (2) use Gunyah's virtualization APIs instead of KVM, OR (3) mark KVM tests as not applicable for Gunyah-enabled platforms in the CI test matrix.
  4. Detail analysis attachment: failed_case_job228625_4_detailed.md
  Case 5: ** KVM Infrastructure Failure — HYP mode not available
  1. Failed case: ** KVM Infrastructure Failure — HYP mode not available
  2. Root cause: ** The Purwa IoT EVK platform boots the kernel at EL1 (Exception Level 1) instead of EL2 (Hypervisor mode), preventing KVM driver initialization. Evidence: kernel log line 3019 shows "CPU: All CPU(s) started at EL1" and line 3588 shows "kvm [1]: HYP mode not available". This is a platform firmware/bootloader configuration issue where the boot chain does not hand off control to the kernel at EL2, which is required for ARM64 KVM virtualization support.
  3. Possible fix: Configure the platform firmware/bootloader (ABL/UEFI) to boot the kernel at EL2 instead of EL1. This requires updating the boot chain configuration to enable HYP mode entry. If EL2 boot is not supported on this platform variant, mark KVM tests as "not applicable" for purwa-evk in the LAVA test suite configuration.
  4. Detail analysis attachment: failed_case_job228625_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM subsystem initialization failed because the platform does not support EL2 (Hypervisor mode) — kernel message "HYP mode not available" indicates the CPU is not running at EL2 or virtualization extensions are disabled/unavailable on purwa-evk.
  3. Possible fix: This is a platform hardware limitation, not a kernel regression. The purwa-evk SoC does not support ARM virtualization extensions (EL2/HYP mode). Mark KVM_Infra test as "skip" for purwa-evk in the LAVA test suite configuration, or exclude virtualization tests from purwa-evk CI runs.
  4. Detail analysis attachment: failed_case_job228625_6_detailed.md

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