Skip to content

QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB - #906

Merged
Salendarsingh Gaud (sgaud-quic) merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
jpagadal:qcom-6.18.y
Aug 19, 2026
Merged

Salendarsingh Gaud (sgaud-quic) merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
jpagadal:qcom-6.18.y

Conversation

@jpagadal

Copy link
Copy Markdown

Set CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 to reduce the default SWIOTLB pool size from 64 MiB to 2 MiB.

This lowers kernel reserved memory and increases available RAM for user space.

CRs-Fixed: 4490764

Corresponding mainline change: qualcomm-linux/kernel-topics#1644

Validation:
Boot verified on RB3 Gen2, IQ8.
SWIOTLB pool reduced from 64 MiB to 2 MiB.

Set CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 to reduce the default
SWIOTLB pool size from 64 MiB to 2 MiB.

This lowers kernel reserved memory and increases available
RAM for user space.

Signed-off-by: Jagadeesh Pagadala <jpagadal@qti.qualcomm.com>
@qlijarvis

Copy link
Copy Markdown

PR #906 — validate-patch

PR: #906

Verdict Issues Detailed Report
⚠️ 1 Full report

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #906 - QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB
Upstream commit: N/A (vendor-only change)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear explanation of memory optimization
Fixes tag present/correct N/A Not a fix
Authorship preserved Consistent author and sign-off
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/configs/qcom.config Single-line config addition, clean and focused

Issues

  • ⚠️ Integration presence: Commit is missing from both qcom-next and all topic branches. For a vendor-specific config change, this is unexpected — typically QCLINUX: commits should be present in the integration tree before PR submission.

Verdict

The patch itself is technically correct and well-formed. However, the absence from qcom-next/topics suggests this may be a new change that hasn't been integrated yet. Verify integration status before merging.

Final Summary

  1. Lore link present: No — QCLINUX: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only change, not posted upstream
  4. PR present in qcom-next/topics: Fail — 1/1 commit(s) are missing from both qcom-next and topics (per integration_presence_report.md)

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 8d5dbc1b17adf8fe86a41adcda686785e73f5414
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/1
partial_commits: 0/1
missing_commits: 1/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #906 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 0 errors, 0 warnings, 0 checks
dt-binding-check ⏭️ No changes in Documentation/devicetree/bindings
dtb-check ⏭️ No changes in Devicetree
sparse-check ⏭️ Skipping sparse check as nothing changed
check-uapi-headers ⏭️ Skipping uapi check as nothing changed
check-patch-compliance Prefix validation failed
tag-check QCLINUX: prefix used (valid for tag-check but fails check-patch-compliance)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #906 - QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB
Target branch: qcom-6.18.y
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31072200744

Checker Result Summary
checkpatch 0 errors, 0 warnings, 0 checks
dt-binding-check ⏭️ No changes in Documentation/devicetree/bindings
dtb-check ⏭️ No changes in Devicetree
sparse-check ⏭️ Skipping sparse check as nothing changed
check-uapi-headers ⏭️ Skipping uapi check as nothing changed
check-patch-compliance Prefix validation failed
tag-check QCLINUX: prefix used (valid for tag-check but fails check-patch-compliance)

❌ check-patch-compliance

Root cause: The commit uses QCLINUX: prefix, which is not in the allowed list for check-patch-compliance.

Failure details:

Checking commit: QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB
Commit summary does not start with a required prefix

Analysis:

The check-patch-compliance checker only accepts these prefixes:

  • FROMLIST: — Patch posted to mailing list (lore.kernel.org)
  • FROMGIT: — Patch taken from a maintainer git tree
  • UPSTREAM: — Patch merged into Linus's mainline tree
  • BACKPORT: — Upstream patch backported with modifications

The commit uses QCLINUX:, which is a vendor-internal prefix used in the Qualcomm Linux tree for vendor-only changes with no upstream equivalent. This prefix is not accepted by check-patch-compliance.

This is a known limitation of the checker — vendor-only commits with QCLINUX: or PENDING: prefixes will always fail check-patch-compliance because the checker enforces upstream-linkable prefixes only.

Context:

  • This is a config-only change (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2) that reduces SWIOTLB pool size from 64 MiB to 2 MiB.
  • The change is vendor-specific and has no upstream equivalent (it's a Qualcomm-specific tuning decision).
  • The QCLINUX: prefix is appropriate for this type of change in the Qualcomm Linux tree.

Options:

  1. Accept the checker failure — This is a known limitation. The QCLINUX: prefix is correct for vendor-only changes. The checker will always fail for such commits.

  2. Change to FROMLIST: + add Link — Only if this change has been posted upstream (which is unlikely for a vendor-specific config tuning). This would require:

    git commit --amend -m "FROMLIST: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB
    
    Set CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 to reduce the default
    SWIOTLB pool size from 64 MiB to 2 MiB.
    
    This lowers kernel reserved memory and increases available
    RAM for user space.
    
    Link: https://lore.kernel.org/...
    Signed-off-by: Jagadeesh Pagadala <jpagadal@qti.qualcomm.com>"
  3. Remove the prefix entirely — Not recommended, as the target branch qcom-6.18.y requires a prefix tag (see tag-check below).

Reproduce locally:

cd kernel
bash ../kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base 8635749eab9a8a3a2e3533b2077d70c8b16857ba \
  --head 3ea7a82d33430549b62ee2836cc730729b0ca9d6

✅ tag-check

Status: PASS (with caveat)

Analysis:

The target branch is qcom-6.18.y, which is not qcom-next or qcom-next-staging. Therefore, every commit must start with a valid subject prefix.

The commit subject is:

QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB

The QCLINUX: prefix is a valid prefix for the tag-check (it's in the allowed list: FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:, QCLINUX:, PENDING:, WORKAROUND:).

Verdict: ✅ PASS — The commit has a valid subject prefix for the target branch.

Note: While tag-check passes, check-patch-compliance fails because it enforces a stricter subset of prefixes (only upstream-linkable ones). This is a known discrepancy between the two checks.


Verdict

1 blocker (check-patch-compliance) — known limitation for vendor-only commits.

Recommendation:

  • If this is a vendor-only change with no upstream equivalent: Accept the check-patch-compliance failure. The QCLINUX: prefix is correct and appropriate. This is a known limitation of the checker.

  • If this change should be posted upstream: Change the prefix to FROMLIST: and add a Link: trailer pointing to the lore.kernel.org URL after posting.

All other checkers passed or were correctly skipped (no relevant files changed). The patch itself is clean — no coding style issues, no DT/binding changes, no sparse warnings, no UAPI changes.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

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

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

@sgaud-quic
Salendarsingh Gaud (sgaud-quic) merged commit d4de839 into qualcomm-linux:qcom-6.18.y Aug 19, 2026
6 of 9 checks passed
@qswat-orbit-external

Copy link
Copy Markdown

Change task cannot be moved to Dev Complete

CR: 4490764
Change Task: kernel.qli.2.0
Error: GenAI Assisted field must be set before moving change tasks to Development Complete. Please provide GenAI information.

The change task for this CR cannot be automatically moved to Dev Complete due to the error above. Please resolve the issue mentioned in the error and manually change the change task status to Dev Complete in Orbit.

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #906

Job 207697 | SoC shikra-iqs-evk

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

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

  Case 1: GIC
  1. Failed case: GIC
  2. Root cause: Test script parsing bug at line 75 — the script attempts to compare interrupt counts for CPUs 4-7, but shikra-iqs-evk has only 4 CPUs (0-3); the script's awk/field extraction logic incorrectly treats non-numeric tokens ("GICv3", "Level", "arch_timer") from /proc/interrupts as CPU interrupt counts, triggering bash integer comparison errors.
  3. Possible fix: Update the GIC test script to (1) dynamically detect the number of online CPUs from /sys/devices/system/cpu/online instead of hardcoding CPU count, and (2) fix the awk field extraction at line 75 to correctly parse only the numeric interrupt count columns (fields 2 through N-4) from /proc/interrupts, skipping the trailing "GICv3 19 Level arch_timer" descriptor fields.
  4. Detail analysis attachment: failed_case_job207697_1_detailed.md
  Case 2: remoteproc
  1. Failed case: remoteproc
  2. Root cause: remoteproc0 (modem subsystem with firmware qcom/shikra/cqs/qdsp6sw.mbn) remains in 'offline' state instead of auto-booting to 'running' state; this is a pre-existing platform/test configuration issue unrelated to the PR's SWIOTLB size reduction (PR only changes CONFIG_SWIOTLB_DEFAULT_SIZE_MB from 64 to 2 MiB in qcom.config), as evidenced by: (1) no modem boot attempt or error in kernel logs, (2) other remoteprocs (cdsp, lpaicp) boot successfully, (3) no SWIOTLB or DMA allocation failures logged, and (4) modem auto-boot behavior is platform/DT-dependent and not universally expected on all Shikra configurations.
  3. Possible fix: Update the remoteproc test expectations for shikra-iqs-evk to mark modem (remoteproc0) as optional or expected-offline, OR configure the platform DT/firmware to enable modem auto-boot if modem functionality is required for this board variant; the PR itself does not need changes as the SWIOTLB reduction does not affect remoteproc boot sequencing.
  4. Detail analysis attachment: failed_case_job207697_2_detailed.md
  Case 3: ** Probe_Failure_Check — Pre-existing Platform Configuration Issues (Non-Critical)
  1. Failed case: ** Probe_Failure_Check — Pre-existing Platform Configuration Issues (Non-Critical)
  2. Root cause: ** The Probe_Failure_Check test detected pre-existing platform-specific probe failures on shikra-iqs-evk that are unrelated to the PR changes (SWIOTLB config). The failures include: (1) coresight-etm4x ETM0-3 probe failures due to invalid DT configuration (-EINVAL), (2) cpufreq-dt benign duplicate registration (-EEXIST) with functional cpufreq confirmed by passing CPUFreq_Validation test, (3) optional regulatory.db firmware missing (-ENOENT) with fallback to built-in rules, and (4) deferred probe issues for non-critical peripherals (I2C device, audio codec, WiFi regulator) due to missing platform dependencies. None of these failures are caused by or related to the PR's SWIOTLB size reduction.
  3. Possible fix: Mark this test case as PASS with known benign failures for this PR. The PR (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2) does not introduce any new probe failures and does not affect the failing subsystems. The pre-existing failures should be tracked separately as platform bring-up issues for shikra-iqs-evk: (1) Fix coresight ETM DT nodes to provide valid configuration, (2) Investigate cpufreq driver registration order (benign but noisy), (3) Add regulatory.db firmware to rootfs or suppress the warning, (4) Complete platform DT for audio codec clocks and WiFi regulators. For this PR validation, override the Probe_Failure_Check result to PASS since no new failures were introduced.
  4. Detail analysis attachment: failed_case_job207697_3_detailed.md
  Case 4: USBHost
  1. Failed case: USBHost
  2. Root cause: The shikra-iqs-evk board's USB controller is configured in gadget (device) mode rather than host mode, preventing enumeration of external USB devices. The test expects USB host functionality but the board is operating as a USB peripheral. This is a board/test infrastructure configuration issue, not a kernel regression introduced by the PR (which only reduces SWIOTLB pool size).
  3. Possible fix: Configure the shikra-iqs-evk board's USB controller for host mode operation by either: (1) modifying the device tree to set the USB controller's dr_mode property to "host" or "otg" instead of "peripheral", or (2) ensuring the test infrastructure provides the correct device tree overlay for USB host testing, or (3) mark this test as SKIP for boards where USB host hardware is not available or not configured.
  4. Detail analysis attachment: failed_case_job207697_4_detailed.md
  Case 5: BT_SCAN — Test Infrastructure / Environment Dependency
  1. Failed case: BT_SCAN — Test Infrastructure / Environment Dependency
  2. Root cause: BT_SCAN test failed because no external Bluetooth devices were present in the lab environment for discovery. The Bluetooth hardware and driver are fully functional (BT_ON_OFF passed, hci0 powered on successfully, discovery started/stopped correctly), but the test requires at least one external BT device to be discoverable within range, which was not available during this test run.
  3. Possible fix: This is not a kernel regression introduced by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 (SWIOTLB size reduction). The failure is environmental. To resolve: (1) Ensure at least one Bluetooth device (phone, headset, beacon) is powered on and discoverable within RF range of the shikra-iqs-evk board during test execution, OR (2) Mark BT_SCAN as an optional test that requires specific lab infrastructure setup, OR (3) Add a pre-check to skip BT_SCAN gracefully when no external BT devices are configured/available in the test environment.
  4. Detail analysis attachment: failed_case_job207697_5_detailed.md
  Case 6: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: KVM driver initialization failed because the platform does not support EL2 (Hypervisor mode) — kernel boot log shows "kvm [1]: HYP mode not available" at early boot, preventing /dev/kvm device node creation. This is a platform hardware/firmware limitation, not a kernel regression. The subsequent qcom_hwrng crash (synchronous external abort in qcom_rng_read) is unrelated to the KVM test failure and appears to be a pre-existing hardware access issue potentially exacerbated by the PR's SWIOTLB size reduction.
  3. Possible fix: KVM_Driver test failure is expected on Shikra IQS EVK — this platform does not support virtualization (no EL2). Mark this test as "skip" or "not applicable" for Shikra in the LAVA test matrix. The test infrastructure should check for /sys/firmware/devicetree/base/psci/compatible or attempt to read /dev/kvm early and skip gracefully if HYP mode is unavailable. For the qcom_hwrng crash: revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 change and investigate whether qcom_rng driver requires bounce buffering for DMA operations on this SoC.
  4. Detail analysis attachment: failed_case_job207697_6_detailed.md
  Case 7: Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: Synchronous external abort (data abort from external memory system) at PC qcom_rng_read+0xc4 when accessing RNG hardware registers during /dev/hwrng read operation. The crash occurred during the qcom_hwrng test (before KVM_EL2_DTB), likely triggered by insufficient SWIOTLB bounce buffer space (reduced from 64 MiB to 2 MiB by PR#906) causing DMA mapping failure or invalid physical address access for the RNG device on Shikra IQS EVK.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 change in arch/arm64/configs/qcom.config and restore default 64 MiB SWIOTLB size, or increase to at least 8-16 MiB after validating DMA requirements for all Shikra platform devices (RNG, ethernet, WiFi, GPU, etc.). Verify fix by re-running qcom_hwrng test and confirming no synchronous external abort.
  4. Detail analysis attachment: failed_case_job207697_7_detailed.md
  Case 8: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a pre-existing platform/board issue, NOT introduced by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 (SWIOTLB config change). Recommended actions: (1) Verify RNG power domain, clocks, and interconnect configuration in the Shikra IQS EVK device tree; (2) Check if RNG hardware is present and functional on this board variant; (3) If RNG is not supported on Shikra IQS EVK, disable the qcom_hwrng test for this platform or mark the RNG device as status = "disabled" in the DT; (4) Re-run the LAVA job after fixing the RNG hardware configuration to verify KVM_Infra test independently.
  4. Detail analysis attachment: failed_case_job207697_8_detailed.md
  Case 9: Kernel Crash — Synchronous External Abort in qcom_rng Driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng Driver
  2. Root cause: Synchronous external abort (bus error) at qcom_rng_read+0xc4 during hardware RNG register access on shikra-iqs-evk. The fault indicates the RNG hardware MMIO region is inaccessible, likely due to missing power/clock enablement, incorrect IOMMU mapping, or hardware not present/functional on this platform. While the PR reduces SWIOTLB size, this is unlikely to be the direct cause; the crash exposes a pre-existing platform configuration issue where the qcom_rng driver attempts to access non-functional hardware.
  3. Possible fix: Verify qcom_rng hardware support on shikra-iqs-evk: check device tree for qcom,prng-ee node, confirm power domain and clock bindings, and validate IOMMU mapping. If hardware is not present or not functional on this platform, disable CONFIG_HW_RANDOM_QCOM or mark the device as disabled in the device tree. If hardware should be functional, debug power/clock sequencing and IOMMU configuration. The SWIOTLB size change in the PR is not the root cause and can proceed independently.
  4. Detail analysis attachment: failed_case_job207697_9_detailed.md
  Case 10: 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_hwrng test triggered a synchronous external abort (memory access fault) at PC qcom_rng_read+0xc4 when reading from the hardware RNG device. The fault occurred during a memory-mapped I/O read operation (ldr instruction at offset 0xc4), indicating the MMIO region for the RNG hardware was not properly accessible. After the kernel panic, the board entered EDL (Emergency Download) mode for ramdump collection as configured by reboot=panic_warm, preventing the board from rebooting and causing LAVA to timeout after 2400 seconds waiting for the test shell to resume.
  3. Possible fix: This crash is unrelated to the PR (which only changes SWIOTLB config). The root cause is a platform-specific issue on shikra-iqs-evk where the qcom_rng driver's MMIO region is not correctly mapped or the hardware is not powered/clocked when accessed. Immediate mitigation: disable the qcom_hwrng test on shikra-iqs-evk until the platform DT/firmware is fixed. Proper fix: verify the qcom_rng device tree node on shikra-iqs-evk has correct reg property, ensure the RNG hardware block is powered and clocked before driver probe, and confirm IOMMU/SMMU mappings if applicable. To prevent LAVA timeouts on future crashes, consider reducing the lava-test-shell timeout or configuring the LAVA job to detect EDL entry and fail-fast.
  4. Detail analysis attachment: failed_case_job207697_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 access fault (synchronous external abort 0x96000010) in qcom_rng_read+0xc4 during /dev/hwrng read operation in the qcom_hwrng test. The crash triggered a warm reset into ramdump mode, causing LAVA test timeout. The PR reduces SWIOTLB size from 64 MiB to 2 MiB, which may have caused DMA buffer allocation or mapping failures for the RNG hardware, leading to an invalid physical address access.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase it to at least 8 MiB. The qcom_rng driver requires sufficient SWIOTLB bounce buffer space for DMA operations on shikra-iqs-evk. Verify that the RNG hardware DMA requirements are within the new SWIOTLB pool size, or add explicit SWIOTLB reservation for the RNG device in the device tree.
  4. Detail analysis attachment: failed_case_job207697_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: Synchronous external abort at qcom_rng_read+0xc4 during hardware RNG register access; likely caused by DMA mapping failure due to insufficient SWIOTLB bounce buffer space after PR reduced CONFIG_SWIOTLB_DEFAULT_SIZE_MB from 64 MiB to 2 MiB (32x reduction), exhausting bounce buffers needed for qcom_rng DMA operations on shikra-iqs-evk.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase to a safe minimum (e.g., 8-16 MiB) that accommodates qcom_rng and other DMA-constrained devices on shikra-iqs-evk; validate with repeated qcom_hwrng test runs; alternatively, investigate if qcom_rng can use streaming DMA or direct mapping to avoid SWIOTLB dependency.
  4. Detail analysis attachment: failed_case_job207697_12_detailed.md
Job 207698 | SoC purwa-evk

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** The test detected 5 probe/firmware errors in dmesg that are pre-existing platform-specific configuration issues on purwa-evk (x1e80100), completely unrelated to the PR's SWIOTLB size reduction: (1) qcom_qseecom_uefisecapp EBUSY due to TrustZone resource conflict, (2-3) qcom-pcie ENODATA due to missing PCIe PHY init sequences in device tree, (4) qcom-spmi-lpg EINVAL due to invalid LED DT "reg" property, (5) regulatory.db ENOENT due to missing firmware file in rootfs.
  3. Possible fix: Merge the PR as-is — the SWIOTLB configuration change is correct and unrelated to these failures. Separately fix the platform issues: add missing PCIe PHY init sequences to purwa-evk DT, correct the qcom-spmi-lpg LED node "reg" property, include regulatory.db firmware in rootfs, and investigate the QSEECOM TrustZone resource conflict. Alternatively, suppress these 5 known platform-specific probe failures in the Probe_Failure_Check test for purwa-evk.
  4. Detail analysis attachment: failed_case_job207698_1_detailed.md
  Case 2: smmu (test expectation issue — not a kernel crash or SMMU hardware failure)
  1. Failed case: smmu (test expectation issue — not a kernel crash or SMMU hardware failure)
  2. Root cause: Test expects IOMMU group attachments for USB wrapper devices (a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb) and video codec (aa00000.video-codec) which are not DMA-capable or not present on purwa-evk; actual USB controllers have correct IOMMU attachments and kernel log shows no SMMU/IOMMU errors.
  3. Possible fix: Update the smmu test expectations to exclude USB wrapper devices and platform-specific devices that don't perform DMA; the PR (SWIOTLB size reduction) does not cause this failure and is safe to merge.
  4. Detail analysis attachment: failed_case_job207698_2_detailed.md
  Case 3: WiFi Driver Probe — DMA Allocation Failure (PR-introduced regression)
  1. Failed case: WiFi Driver Probe — DMA Allocation Failure (PR-introduced regression)
  2. Root cause: PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 reduces SWIOTLB default size from 64 MiB to 2 MiB via CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2. The ath12k_wifi7_pci driver attempts to allocate 7274496 bytes (~7 MB) for QMI DMA during probe, which exceeds the new 2 MiB SWIOTLB limit, causing "qmi dma allocation failed (7274496 B type 1), will try later with small size". While the driver recovers using a fallback mechanism and successfully loads firmware and creates the WiFi interface (wlP4p1s0), the test harness flags the DMA allocation failure message as a probe error, resulting in test failure.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase it to at least 8 MiB to accommodate the ath12k WiFi driver's QMI DMA allocation requirement. The 2 MiB limit is insufficient for this platform's WiFi hardware initialization. Alternatively, investigate whether the ath12k driver can be modified to request smaller initial DMA allocations that fit within a 2 MiB SWIOTLB pool.
  4. Detail analysis attachment: failed_case_job207698_3_detailed.md
  Case 4: WiFi Driver Probe Warning — DMA Allocation Fallback
  1. Failed case: WiFi Driver Probe Warning — DMA Allocation Fallback
  2. Root cause: PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 reduces SWIOTLB pool size from 64 MiB to 2 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2). The ath12k_wifi7 WiFi driver initially attempts to allocate 7274496 bytes (~7 MB) for QMI DMA, which exceeds the 2 MiB SWIOTLB pool. The driver logs a warning "qmi dma allocation failed (7274496 B type 1), will try later with small size" and successfully falls back to a smaller allocation. The test framework incorrectly treats this transient warning as a failure, even though the driver completes initialization successfully (firmware loads, interface wlP4p1s0 is created and operational).
  3. Possible fix: This is a false positive test failure. The WiFi driver is functioning correctly with adaptive DMA allocation. The test framework should be updated to distinguish between fatal probe failures and non-fatal warnings with successful recovery. If the 2 MiB SWIOTLB size is deemed too aggressive for this platform, revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase it to 8 MiB to accommodate the initial WiFi DMA allocation without triggering the fallback path.
  4. Detail analysis attachment: failed_case_job207698_4_detailed.md
  Case 5: KVM_Driver — /dev/kvm device node not created
  1. Failed case: KVM_Driver — /dev/kvm device node not created
  2. Root cause: KVM driver initialization failed during boot because HYP (EL2 hypervisor) mode is not available on the purwa-evk platform. The kernel log shows "kvm [1]: HYP mode not available" at boot time, preventing the KVM driver from creating the /dev/kvm device node. This is a platform hardware/firmware limitation, not a kernel regression introduced by the PR (which only changes SWIOTLB size configuration).
  3. Possible fix: This is not a PR-introduced regression. The purwa-evk platform does not support KVM/virtualization because it boots under the Gunyah hypervisor (as evidenced by "Hypervisor cold boot, version: gunyah-mobile-c487961e9" in the boot log), which prevents Linux from running in HYP mode. The KVM test suite should be excluded from the purwa-evk CI test matrix, or the test should be updated to skip gracefully when HYP mode is unavailable. No kernel code changes are required.
  4. Detail analysis attachment: failed_case_job207698_5_detailed.md
  Case 6: KVM_EL2_DTB — /dev/kvm unavailable (nested virtualization not supported)
  1. Failed case: KVM_EL2_DTB — /dev/kvm unavailable (nested virtualization not supported)
  2. Root cause: KVM initialization failed with "HYP mode not available" because Purwa EVK is running under Gunyah hypervisor; ARM KVM requires direct EL2 access and cannot operate as a nested hypervisor under Gunyah.
  3. Possible fix: Mark KVM tests as "not applicable" for Purwa EVK in the LAVA test suite configuration; KVM functionality requires bare-metal EL2 access which is not available when Gunyah hypervisor is present.
  4. Detail analysis attachment: failed_case_job207698_6_detailed.md
  Case 7: KVM_Infra — KVM unavailable (HYP mode taken by Gunyah hypervisor)
  1. Failed case: KVM_Infra — KVM unavailable (HYP mode taken by Gunyah hypervisor)
  2. Root cause: KVM requires EL2 (HYP mode) to be available, but the purwa-evk platform is running with Gunyah hypervisor which has already claimed EL2 at boot time (log shows "Hypervisor cold boot, version: gunyah-mobile-c487961e9" and "kvm [1]: HYP mode not available"). This is a platform configuration issue, not a kernel regression introduced by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 (which only changes SWIOTLB size).
  3. Possible fix: This is expected behavior on Gunyah-enabled platforms. Either: (1) disable the KVM test suite for purwa-evk in the LAVA job definition since KVM cannot coexist with Gunyah, or (2) if KVM support is required, rebuild the firmware without Gunyah hypervisor (not recommended as it would break virtualization features that depend on Gunyah).
  4. Detail analysis attachment: failed_case_job207698_7_detailed.md
  Case 8: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Platform does not support KVM virtualization — kernel message "kvm [1]: HYP mode not available" indicates the Purwa EVK hardware lacks EL2 hypervisor mode support required for KVM operation.
  3. Possible fix: This is not a kernel regression introduced by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 (SWIOTLB config change). The failure is a pre-existing platform limitation. Either: (1) exclude KVM tests from the Purwa EVK test suite, or (2) run KVM tests only on platforms with EL2 hypervisor support (e.g., platforms with virtualization-capable SoCs).
  4. Detail analysis attachment: failed_case_job207698_8_detailed.md
Job 207699 | SoC hamoa-evk

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Three pre-existing probe failures detected on hamoa-evk: (1) qcom_qseecom_uefisecapp fails with -EBUSY due to TrustZone resource conflict, (2) qcom-spmi-lpg fails with -EINVAL due to invalid multi-LED "reg" property in device tree, (3) regulatory.db firmware file missing from rootfs (-ENOENT). None are caused by the PR's SWIOTLB size reduction.
  3. Possible fix: These are pre-existing platform/configuration issues unrelated to PR906. The PR (SWIOTLB size reduction) does not affect TrustZone, SPMI/PMIC, or firmware loading. Recommend: (1) suppress these known hamoa-evk probe failures in CI or fix them separately via DT/firmware updates, (2) approve PR906 as the failures are not regressions introduced by this change.
  4. Detail analysis attachment: failed_case_job207699_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Multiple critical masters (USB controllers a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb and video codec aa00000.video-codec) are missing IOMMU group attachments on hamoa-evk, likely due to insufficient SWIOTLB bounce buffer space after PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 reduced CONFIG_SWIOTLB_DEFAULT_SIZE_MB from 64 to 2 MiB, preventing proper DMA mapping for devices requiring bounce buffers.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase it to at least 16 MiB; validate that all critical masters (USB controllers and video codec) successfully attach to IOMMU groups after the change; consider platform-specific SWIOTLB sizing based on actual DMA requirements for hamoa-evk's USB and video subsystems.
  4. Detail analysis attachment: failed_case_job207699_2_detailed.md
  Case 3: WiFi_Firmware_Driver — WiFi driver probe DMA allocation failure
  1. Failed case: WiFi_Firmware_Driver — WiFi driver probe DMA allocation failure
  2. Root cause: PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 reduced SWIOTLB size from 64 MiB to 2 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2). The ath12k_wifi7_pci driver requires ~7 MiB (7274496 bytes) of contiguous DMA memory for QMI firmware loading, but the reduced SWIOTLB pool (rounded up to 4 MiB) cannot satisfy this allocation, causing "qmi dma allocation failed (7274496 B type 1)" during probe on hamoa-evk.
  3. Possible fix: Revert the SWIOTLB size reduction in arch/arm64/configs/qcom.config (remove CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2) to restore the default 64 MiB pool, or increase it to at least 8 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=8) to accommodate the ath12k WiFi driver's DMA requirements on hamoa-evk and similar platforms with WiFi 7 hardware.
  4. Detail analysis attachment: failed_case_job207699_3_detailed.md
  Case 4: WiFi_OnOff
  1. Failed case: WiFi_OnOff
  2. Root cause: ath12k_wifi7 WiFi driver probe fails with "qmi dma allocation failed (7274496 B type 1)" because PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 reduces CONFIG_SWIOTLB_DEFAULT_SIZE_MB from 64 MiB to 2 MiB, making the SWIOTLB pool too small to satisfy the driver's ~7 MB DMA allocation request during QMI firmware handshake on hamoa-evk.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase it to at least 8 MiB to accommodate ath12k_wifi7 driver DMA requirements; alternatively, investigate if the driver can use smaller DMA buffers or enable CONFIG_SWIOTLB_DYNAMIC to allow pool growth.
  4. Detail analysis attachment: failed_case_job207699_4_detailed.md
  Case 5: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Mark KVM tests as "not applicable" or "skip" for Hamoa IoT EVK platform in the LAVA test suite configuration. This is a platform hardware/firmware limitation, not a kernel bug. If virtualization support is required, verify with the platform vendor whether EL2 can be enabled via firmware configuration or if the SoC supports virtualization extensions.
  4. Detail analysis attachment: failed_case_job207699_5_detailed.md
  Case 6: KVM_EL2_DTB — KVM initialization failure (HYP mode not available)
  1. Failed case: KVM_EL2_DTB — KVM initialization failure (HYP mode not available)
  2. Root cause: The hamoa-evk platform does not support EL2 (hypervisor mode), as evidenced by the kernel message "kvm [1]: HYP mode not available" at boot time. CONFIG_KVM is enabled in the kernel configuration, but the ARM CPU on this SoC is not running at EL2 or does not have virtualization extensions enabled in firmware/bootloader, preventing KVM from initializing and creating /dev/kvm.
  3. Possible fix: This is a pre-existing platform limitation, not a regression introduced by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 (which only changes SWIOTLB size). The KVM tests should be excluded from the hamoa-evk test suite, or the platform firmware/bootloader must be updated to enable EL2 mode if the hardware supports it. To verify hardware capability, check CPU feature registers (ID_AA64PFR0_EL1) and bootloader EL configuration.
  4. Detail analysis attachment: failed_case_job207699_6_detailed.md
  Case 7: ** KVM_Infra (also KVM_Driver, KVM_EL2_DTB — same root cause)
  1. Failed case: ** KVM_Infra (also KVM_Driver, KVM_EL2_DTB — same root cause)
  2. Root cause: ** KVM unavailable because the kernel is running at EL1 under the Gunyah hypervisor, which occupies EL2. The Hamoa IoT EVK platform boots with Gunyah hypervisor enabled, preventing Linux KVM from accessing HYP mode. Evidence: CPU: All CPU(s) started at EL1 (line 3088) and kvm [1]: HYP mode not available (line 3710).
  3. Possible fix: To enable KVM on Hamoa IoT EVK, disable the Gunyah hypervisor in the firmware/bootloader configuration or use nested virtualization if supported. This is a platform configuration issue, not a kernel bug. The PR patch (SWIOTLB size reduction) is unrelated and does not cause this failure.
  4. Detail analysis attachment: failed_case_job207699_7_detailed.md
  Case 8: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test framework marked the test run as "unfinished" despite successful completion of all test cases (test runner emitted <LAVA_TEST_RUNNER EXIT> and "lava_test_shell seems to have completed"), likely due to missing or incorrect test completion signal in the LAVA job definition. The underlying test failures (WiFi DMA allocation failure, KVM /dev/kvm absence) are separate issues: WiFi failure is PR-introduced (SWIOTLB size reduced from 64MB to 2MB, insufficient for ath12k_wifi7_pci 7.3MB DMA allocation), while KVM failures are pre-existing (KVM device node not created on hamoa-evk).
  3. Possible fix: Re-trigger the CI job with corrected LAVA test definition that properly signals test completion to LAVA dispatcher. For the WiFi DMA allocation failure introduced by this PR: revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase to at least 8MB to accommodate ath12k WiFi driver DMA requirements (7.3MB allocation observed). KVM failures are pre-existing and unrelated to this PR.
  4. Detail analysis attachment: failed_case_job207699_8_detailed.md
Job 207700 | SoC qcs615-ride

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

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

  Case 1: Kernel Crash — Synchronous External Abort (SWIOTLB exhaustion)
  1. Failed case: Kernel Crash — Synchronous External Abort (SWIOTLB exhaustion)
  2. Root cause: PR reduces SWIOTLB pool size from 64 MiB to 2 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2), causing DMA bounce buffer allocation failure during USB hub enumeration on qcs615-ride. The kernel panicked at 8.073s with "synchronous external abort" in __pi_memcpy_generic+0x2c while copying data via swiotlb_bounce during usb_get_device_descriptor, indicating the SWIOTLB pool was exhausted and unable to provide bounce buffers for USB DMA operations.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 from arch/arm64/configs/qcom.config. The 2 MiB pool is insufficient for qcs615-ride's DMA requirements during boot (USB, PCIe, UFS, display subsystem all compete for bounce buffers). If memory reduction is required, profile actual SWIOTLB usage on this SoC and set a safe minimum (e.g., 16 MiB or 32 MiB), or enable CONFIG_SWIOTLB_DYNAMIC to allow runtime pool expansion.
  4. Detail analysis attachment: failed_case_job207700_1_detailed.md
  Case 2: ** Kernel Crash — SWIOTLB buffer exhaustion during USB DMA mapping
  1. Failed case: ** Kernel Crash — SWIOTLB buffer exhaustion during USB DMA mapping
  2. Root cause: ** PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 reduces SWIOTLB default size from 64 MiB to 2 MiB via CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2. During USB hub enumeration on qcs615-ride, the kernel attempts to map a DMA buffer via SWIOTLB bounce buffering but the 2 MiB pool is exhausted. The swiotlb_bounce() function at offset +0x104 attempts to copy data to/from a bounce buffer that was not successfully allocated, resulting in a synchronous external abort (memory access fault) at __pi_memcpy_generic+0x2c when accessing invalid physical address 0x0000000110994ca0.
  3. Possible fix: Revert the SWIOTLB size reduction in arch/arm64/configs/qcom.config. Remove the line CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase the value to at least 16 MiB. For qcs615-ride with USB, PCIe, and Ethernet devices requiring DMA bounce buffering, 2 MiB is insufficient. Validate the fix by re-running LAVA job 207700 with the reverted config and confirming successful boot to login prompt.
  4. Detail analysis attachment: failed_case_job207700_2_detailed.md
  Case 3: Kernel Crash — Synchronous External Abort (SWIOTLB Buffer Exhaustion)
  1. Failed case: Kernel Crash — Synchronous External Abort (SWIOTLB Buffer Exhaustion)
  2. Root cause: PR reduces SWIOTLB pool size from 64 MiB to 2 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2); during USB device enumeration at boot, xHCI driver attempts DMA mapping via swiotlb_bounce but accesses invalid/unmapped SWIOTLB buffer address (0xffff000090994ca0), triggering synchronous external abort at __pi_memcpy_generic+0x2c in swiotlb_bounce+0x104 on qcs615-ride.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 from arch/arm64/configs/qcom.config or increase to at least 8 MiB; 2 MiB is insufficient for qcs615-ride boot-time DMA requirements (USB, PCIe, storage, remoteproc firmware loading).
  4. Detail analysis attachment: failed_case_job207700_3_detailed.md
  Case 4: ** Kernel Crash — Synchronous External Abort (SWIOTLB)
  1. Failed case: ** Kernel Crash — Synchronous External Abort (SWIOTLB)
  2. Root cause: ** Kernel panic at boot due to synchronous external abort (memory access fault) in __pi_memcpy_generic during SWIOTLB bounce buffer operation. The PR reduced SWIOTLB size from 64 MiB to 2 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2), causing insufficient bounce buffer space for USB device enumeration on qcs615-ride. The crash occurred when the xHCI USB host controller attempted to map a URB for DMA, triggering SWIOTLB allocation that accessed an invalid physical address (0x110994ca0), resulting in a fatal external abort.
  3. Possible fix: Revert the SWIOTLB size reduction for qcs615-ride or increase CONFIG_SWIOTLB_DEFAULT_SIZE_MB to at least 4 MiB. The 2 MiB setting is insufficient for this platform's DMA requirements during USB enumeration. Validate the minimum required SWIOTLB size by testing USB device hotplug scenarios on qcs615-ride hardware.
  4. Detail analysis attachment: failed_case_job207700_4_detailed.md
Job 207701 | SoC qcs8300-ride

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** Pre-existing platform configuration issues on qcs8300-ride: (1) xhci-hcd USB controller hardware setup timeout (-ETIMEDOUT) due to missing/incorrect power/clock/reset configuration in device tree or bootloader initialization failure; (2) Aquantia AQR115C Ethernet PHY device tree property error (-EINVAL) due to missing or malformed firmware-name property. Not caused by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906's SWIOTLB size reduction.
  3. Possible fix: (1) For xhci-hcd: Verify and fix USB controller power/clock/reset configuration in qcs8300-ride device tree; check bootloader USB initialization sequence. (2) For Aquantia PHY: Add or correct firmware-name property in the Aquantia PHY device tree node for qcs8300-ride. (3) For regulatory.db: No action needed (benign). These are board-specific fixes unrelated to the PR under test.
  4. Detail analysis attachment: failed_case_job207701_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase to a minimum of 16 MiB for qcs8300 platforms with IOMMU-enabled USB. Alternatively, use CONFIG_SWIOTLB_DYNAMIC=y (already enabled) with a higher minimum pool size, or exclude USB-heavy platforms from the 2 MiB constraint.
  4. Detail analysis attachment: failed_case_job207701_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: KVM cannot initialize on QCS8300-Ride because the platform runs under Gunyah hypervisor (version gunyah-1cb9db980), which occupies EL2 privilege level. KVM requires direct EL2 access to create /dev/kvm device node, but nested virtualization is not supported. CONFIG_KVM is enabled but KVM driver never initializes (no KVM init messages in dmesg), resulting in missing /dev/kvm device node.
  3. Possible fix: This is a platform limitation, not a kernel bug. Mark KVM_Driver test as "skip" or "not applicable" for QCS8300-Ride and other Gunyah-based platforms in the LAVA test suite. KVM functionality requires bare-metal or VHE-capable hypervisor environments; it cannot coexist with Gunyah hypervisor on the same system.
  4. Detail analysis attachment: failed_case_job207701_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: QCS8300 Ride platform runs under Gunyah hypervisor at EL2, preventing KVM from initializing. KVM requires EL2 access to create /dev/kvm, but Gunyah already occupies EL2, making nested virtualization impossible. This is an expected architectural limitation, not a regression.
  3. Possible fix: Mark KVM_EL2_DTB, KVM_Driver, and KVM_Infra tests as SKIP (not FAIL) for QCS8300 and other Gunyah-based platforms in the LAVA test suite. Add platform detection logic to the test runner to automatically skip KVM tests when running under a hypervisor at EL2.
  4. Detail analysis attachment: failed_case_job207701_4_detailed.md
  Case 5: KVM_Infra — /dev/kvm device node unavailable
  1. Failed case: KVM_Infra — /dev/kvm device node unavailable
  2. Root cause: KVM cannot initialize on qcs8300-ride because the system is running under the Gunyah hypervisor (detected at boot: "Hypervisor cold boot, version: gunyah-1cb9db980"). KVM requires direct access to EL2 (hypervisor mode) to function, but when Linux runs as a guest under Gunyah, it operates at EL1 and cannot access EL2 virtualization extensions. Nested virtualization is not supported in this configuration.
  3. Possible fix: This is a platform limitation, not a regression introduced by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 (which only changes SWIOTLB size). KVM tests should be skipped on qcs8300-ride when running under Gunyah hypervisor. Add a platform-specific test skip condition in the LAVA test definition to detect Gunyah presence (check for "Hypervisor" string in early boot log or /sys/hypervisor/type) and skip all KVM tests when a hypervisor is detected.
  4. Detail analysis attachment: failed_case_job207701_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM device node /dev/kvm not created because the system is running as a guest under Gunyah hypervisor (EL2 already occupied), preventing KVM from initializing its virtualization services which require EL2 access.
  3. Possible fix: This is expected behavior on qcs8300-ride when running under Gunyah hypervisor. KVM tests should be skipped on platforms where Linux runs as a hypervisor guest. Add platform detection logic to skip KVM tests when dmesg | grep -i "gunyah\|hypervisor" indicates guest mode, or configure the LAVA job to exclude KVM tests for qcs8300-ride.
  4. Detail analysis attachment: failed_case_job207701_6_detailed.md
Job 207702 | SoC monaco-evk

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: ath11k_pci WiFi driver probe failed with error -110 (ETIMEDOUT) on monaco-evk because MHI firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs (error -2), causing MHI power-up timeout and cascading probe failure; this is a pre-existing firmware packaging issue unrelated to the PR's SWIOTLB size reduction.
  3. Possible fix: Add the missing WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs image for monaco-evk; verify the firmware path matches the driver's request and that the file is present in /lib/firmware/ before the ath11k_pci module loads.
  4. Detail analysis attachment: failed_case_job207702_1_detailed.md
  Case 2: WiFi Driver Probe Failure — Missing Firmware
  1. Failed case: WiFi Driver Probe Failure — Missing Firmware
  2. Root cause: ath11k_pci driver probe failed with error -110 (ETIMEDOUT) on monaco-evk because the required WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the filesystem (error -2 = ENOENT), causing MHI power-up to timeout during driver initialization.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs /lib/firmware/ directory in the build image for monaco-evk. This is a build/packaging issue unrelated to the PR's SWIOTLB configuration change.
  4. Detail analysis attachment: failed_case_job207702_2_detailed.md
  Case 3: WiFi_OnOff — ath11k_pci Driver Probe Failure
  1. Failed case: WiFi_OnOff — ath11k_pci Driver Probe Failure
  2. Root cause: The ath11k_pci WiFi driver probe failed with error -110 (ETIMEDOUT) on Monaco EVK because MHI firmware loading failed (error -2, ENOENT) and subsequent MHI power-up timed out. The PR reduces SWIOTLB size from 64 MiB to 2 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2), which is insufficient for the ath11k_pci driver's DMA requirements during MHI initialization on this platform. The MHI subsystem requires bounce buffers for firmware DMA transfers, and the reduced SWIOTLB pool exhausts during the power-up sequence, causing the -110 timeout.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 to the default 64 MiB, or increase it to at least 16 MiB to accommodate MHI/ath11k DMA requirements on Monaco EVK. Validate the minimum required SWIOTLB size for all target platforms (especially those with PCIe WiFi/modem devices) before reducing the default pool size.
  4. Detail analysis attachment: failed_case_job207702_3_detailed.md
  Case 4: Driver Probe Failure — ath11k_pci WiFi driver
  1. Failed case: Driver Probe Failure — ath11k_pci WiFi driver
  2. Root cause: ath11k_pci driver probe failed with error -110 (ETIMEDOUT) during MHI power-up and firmware load. The PR reduces CONFIG_SWIOTLB_DEFAULT_SIZE_MB from 64 MiB to 2 MiB, which is insufficient for the ath11k_pci driver's DMA requirements during initialization on monaco-evk (WCN6855 WiFi chip). The MHI bus failed to load firmware (ath11k/WCN6855/hw2.1/nfa765/amss.bin returned -ENOENT initially, but the subsequent MHI power-up timeout at -110 indicates DMA/bounce buffer exhaustion preventing proper device initialization).
  3. Possible fix: Revert the SWIOTLB size reduction for monaco-evk or increase CONFIG_SWIOTLB_DEFAULT_SIZE_MB to at least 8 MiB (test incrementally: 4 MiB, 8 MiB, 16 MiB) to ensure sufficient bounce buffer space for ath11k_pci MHI DMA operations. Alternatively, investigate whether the WCN6855 PCIe device can use 64-bit DMA addressing to avoid SWIOTLB dependency, or add platform-specific SWIOTLB sizing based on SoC requirements.
  4. Detail analysis attachment: failed_case_job207702_4_detailed.md
Job 207703 | SoC qcs9100-ride

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** Test detected 3 classes of pre-existing probe/firmware issues on qcs9100-ride platform: (1) 4 PMIC temp-alarm devices stuck in deferred probe due to missing thermal driver dependency or DT mismatch; (2) cfg80211 regulatory.db firmware file not present in rootfs (benign for non-wireless workloads); (3) Aquantia AQR115C Ethernet PHY probe failure due to missing firmware-name DT property (error -22 EINVAL from DT parsing, not DMA-related). None of these failures are caused by or related to the PR's SWIOTLB size reduction from 64 MiB to 2 MiB.
  3. Possible fix: These are pre-existing platform issues unrelated to PR 906. No action required for this PR. To fix the underlying issues separately: (1) Ensure qpnp-temp-alarm driver is built and loaded, verify DT thermal zone bindings for qcs9100 PMICs; (2) Add regulatory.db to rootfs /lib/firmware/ if wireless regulatory enforcement is needed; (3) Add firmware-name = "..." property to Aquantia PHY DT node in arch/arm64/boot/dts/qcom/qcs9100-ride.dts if PHY firmware is required, or mark as optional in driver if not needed for this board variant.
  4. Detail analysis attachment: failed_case_job207703_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase it to at least 8 MiB; alternatively, investigate why the video codec driver requires such large SWIOTLB allocations during probe and optimize its DMA usage or ensure it uses streaming DMA APIs that don't rely on SWIOTLB bounce buffering.
  4. Detail analysis attachment: failed_case_job207703_2_detailed.md
  Case 3: USBHost
  1. Failed case: USBHost
  2. Root cause: Test infrastructure issue — no external USB devices physically connected to any of the three USB host ports (Bus 001, 002, 003) on the qcs9100-ride board; only USB root hubs enumerated successfully. This is NOT a kernel regression or driver failure.
  3. Possible fix: Connect at least one functional USB device (keyboard, mouse, flash drive, or hub with downstream devices) to one of the USB host ports on the qcs9100-ride board before running the USBHost test. If USB devices are already connected, verify physical cable integrity and port functionality.
  4. Detail analysis attachment: failed_case_job207703_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test infrastructure issue — qcom_hwrng test executed successfully and reported PASS via LAVA signal, but its result file (qcom_hwrng.res) was not found by result_parse.sh in the Runner directory, causing LAVA to mark the test run as "unfinished" and fail the overall test definition.
  3. Possible fix: Re-trigger the LAVA job; if the issue recurs, investigate the qcom_hwrng test's result file write path and permissions, or check if result_parse.sh is searching the correct directory for .res files. This is not a kernel regression introduced by PR QCLINUX: arm64: configs: qcom: reduce SWIOTLB size to 2 MiB #906 (SWIOTLB config change).
  4. Detail analysis attachment: failed_case_job207703_4_detailed.md
Job 207704 | SoC qcs6490-rb3gen2

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** Two pre-existing firmware load failures unrelated to the PR: (1) regulatory.db firmware missing for cfg80211 wireless regulatory database (benign — WiFi functional tests passed), and (2) renesas_usb_fw.mem firmware missing for xhci-pci-renesas USB host controller (causes USBHost test failure — no USB devices enumerated).
  3. Possible fix: For regulatory.db: suppress this failure in the Probe_Failure_Check test — WiFi_OnOff and WiFi_Firmware_Driver tests passed, confirming WiFi is fully functional. For xhci-pci-renesas: install the missing Renesas USB firmware package (renesas_usb_fw.mem) in the rootfs image, or if the PCIe USB controller is not required for this platform, blacklist the xhci-pci-renesas driver to prevent probe attempts.
  4. Detail analysis attachment: failed_case_job207704_1_detailed.md
  Case 2: ** USBHost
  1. Failed case: ** USBHost
  2. Root cause: ** Renesas xHCI USB 3.0 host controller (PCIe device 0001:04:00.0) driver probe failed with error -2 (ENOENT) because required firmware file renesas_usb_fw.mem is missing from /lib/firmware/ in the test rootfs image.
  3. Possible fix: Add the Renesas USB firmware file to the rootfs image by installing the linux-firmware package or manually copying renesas_usb_fw.mem to /lib/firmware/. This is a pre-existing image packaging issue unrelated to the PR's SWIOTLB configuration change.
  4. Detail analysis attachment: failed_case_job207704_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: KVM driver initialization failed because HYP mode (EL2) is not available on the qcs6490-rb3gen2 platform. The kernel message kvm [1]: HYP mode not available at boot time indicates the platform does not support virtualization extensions required for KVM.
  3. Possible fix: This is a pre-existing platform limitation, not a regression introduced by the PR (which only changes SWIOTLB size). The KVM_Driver test should be skipped or marked as expected-fail for qcs6490-rb3gen2 in the LAVA test suite, as this platform does not support KVM/virtualization.
  4. Detail analysis attachment: failed_case_job207704_3_detailed.md
  Case 4: KVM_EL2_DTB — Platform Configuration Issue (EL1 Boot)
  1. Failed case: KVM_EL2_DTB — Platform Configuration Issue (EL1 Boot)
  2. Root cause: The qcs6490-rb3gen2 platform booted the kernel at Exception Level 1 (EL1) instead of Exception Level 2 (EL2), preventing KVM from initializing. KVM requires EL2 (hypervisor mode) to provide virtualization support. The kernel correctly detected this condition and reported "HYP mode not available", causing /dev/kvm to not be created and all KVM-dependent tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) to fail.
  3. Possible fix: This is a platform/bootloader configuration issue, not a kernel regression. The qcs6490-rb3gen2 board firmware/bootloader must be configured to boot the kernel at EL2 if KVM support is required. If KVM is not supported on this platform, these tests should be excluded from the test suite for this SoC. The PR (SWIOTLB size reduction) is unrelated and should not be blocked by this failure.
  4. Detail analysis attachment: failed_case_job207704_4_detailed.md
  Case 5: KVM Infrastructure Test Failure — HYP Mode Not Available
  1. Failed case: KVM Infrastructure Test Failure — HYP Mode Not Available
  2. Root cause: KVM driver initialization failed because the qcs6490-rb3gen2 platform boots with Gunyah hypervisor already running at EL2, leaving Linux kernel at EL1 without HYP mode access required for KVM operation. CONFIG_KVM is enabled in kernel config but cannot create /dev/kvm device node due to architectural constraint.
  3. Possible fix: This is a platform configuration issue, not a kernel regression. The test expectation is incorrect for this platform. Either: (1) disable KVM tests for platforms running under Gunyah hypervisor, or (2) reconfigure the platform firmware to boot Linux at EL2 without Gunyah if KVM functionality is required. The PR patch (SWIOTLB size reduction) is unrelated and did not cause this failure.
  4. Detail analysis attachment: failed_case_job207704_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM initialization failed at boot with "HYP mode not available" — the qcs6490-rb3gen2 (Kodiak) platform does not support EL2 hypervisor mode, which is required for KVM functionality. This is a pre-existing platform limitation, not introduced by the PR (which only changes SWIOTLB size configuration).
  3. Possible fix: This is not a regression. The KVM test suite should be excluded from the qcs6490-rb3gen2 CI test matrix, as this platform does not support virtualization. If KVM support is required, use a platform that boots with EL2 enabled (e.g., SM8450, SM8550, or other platforms with hypervisor support).
  4. Detail analysis attachment: failed_case_job207704_6_detailed.md
Job 207705 | SoC lemans-evk

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

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

  Case 1: Probe_Failure_Check — Deferred Probe (PMIC temp-alarm devices) + Benign Firmware Load Errors
  1. Failed case: Probe_Failure_Check — Deferred Probe (PMIC temp-alarm devices) + Benign Firmware Load Errors
  2. Root cause: Four PMIC temp-alarm devices (c440000.spmi:pmic@{0,2,4,6}:temp-alarm@a00) remain in deferred probe state at test time, indicating a missing or late-probing thermal zone dependency. The firmware load errors (regulatory.db, Bluetooth firmware) are known benign false positives — WiFi_OnOff and BT_ON_OFF tests both passed, confirming WiFi and Bluetooth are fully functional. The PR change (reducing SWIOTLB size from 64 MiB to 2 MiB) does not affect PMIC thermal driver dependencies or firmware loading paths.
  3. Possible fix: The deferred probe issue is a pre-existing platform/DT configuration problem on lemans-evk, not introduced by this PR. The test should suppress firmware load errors when corresponding functional tests pass (per lava-known-benign-failures.md rules 2 & 3). To resolve the deferred probe warnings: verify the thermal zone driver (qcom-spmi-temp-alarm) dependencies are met in the device tree, ensure all required thermal zone nodes are present, and confirm the thermal subsystem probe order allows temp-alarm devices to bind successfully before the Probe_Failure_Check test runs.
  4. Detail analysis attachment: failed_case_job207705_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Video codec device (aa00000.video-codec) is missing IOMMU group attachment — the device exists in the device tree but failed to attach to an IOMMU group during boot, causing the SMMU test's critical master protection check to fail. This is NOT related to the PR's SWIOTLB size reduction (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2), as SWIOTLB is a fallback DMA mechanism and does not affect IOMMU group attachment. The failure is a pre-existing platform/driver issue on lemans-evk where the video codec driver probe or IOMMU binding is incomplete.
  3. Possible fix: Investigate why the video codec device at aa00000.video-codec is not attaching to an IOMMU group on lemans-evk. Check: (1) device tree iommus property for aa00000.video-codec, (2) video codec driver probe status in dmesg (search for "aa00000" or "video-codec" probe messages), (3) whether the video codec driver is built as a module and not yet loaded during the test. This is a platform-specific issue unrelated to the PR; the PR can proceed if other tests pass.
  4. Detail analysis attachment: failed_case_job207705_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: PR reduces SWIOTLB size from 64 MiB to 2 MiB (CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2), causing video codec device (aa00000.video-codec) to fail IOMMU group attachment on lemans-evk, resulting in SMMU test failure and probe check warnings for PMIC temp-alarm devices.
  3. Possible fix: Revert CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 or increase to a value that supports video codec IOMMU initialization (test with 8 MiB or 16 MiB); validate that aa00000.video-codec successfully attaches to an IOMMU group after adjustment.
  4. Detail analysis attachment: failed_case_job207705_3_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.

5 participants