Skip to content

QCLINUX: arm64: configs: qcom.config: Enable CONFIG_SWIOTLB_DYNAMIC#642

Open
jpagadal wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
jpagadal:qcom-6.18.y
Open

QCLINUX: arm64: configs: qcom.config: Enable CONFIG_SWIOTLB_DYNAMIC#642
jpagadal wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
jpagadal:qcom-6.18.y

Conversation

@jpagadal
Copy link
Copy Markdown

@jpagadal jpagadal commented Jun 1, 2026

Enable CONFIG_SWIOTLB_DYNAMIC to reduce static SWIOTLB memory reservation by allowing the bounce buffer pool to grow dynamically based on runtime DMA requirements.

Limit the swiotlb memory reservation to 2MB from 64MB - by setting swiotlb=128 kernel command line arg.
Enabling CONFIG_SWIOTLB_DYNAMIC to support PR - qualcomm-linux/meta-qcom#2302

CRs-Fixed: 4490764

Enable CONFIG_SWIOTLB_DYNAMIC to reduce static SWIOTLB memory reservation
by allowing the bounce buffer pool to grow dynamically based on runtime
DMA requirements.

Signed-off-by: Jagadeesh Pagadala <jpagadal@qti.qualcomm.com>
@jpagadal jpagadal requested review from a team, quic-tingweiz, rrnayak and trsoni June 1, 2026 12:36
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

1 similar comment
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4490764 is not eligible for merge.

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

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

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

@qlijarvis
Copy link
Copy Markdown

PR #642 — validate-patch

PR: #642

Verdict Issues Detailed Report
N/A 0 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: Not checked — QCLINUX: vendor-only commit
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #642 - QCLINUX: arm64: configs: qcom.config: Enable CONFIG_SWIOTLB_DYNAMIC
Upstream commit: N/A (vendor-only commit)
Verdict: ⏭️ N/A (validation not applicable)

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: prefix indicates vendor-only change
Body preserves rationale Clear explanation of config change purpose
Fixes tag present/correct N/A Not a bug fix
Authorship preserved Signed-off-by present
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
arch/arm64/configs/qcom.config Single-line config addition, alphabetically placed

Issues

None. This is a vendor-only configuration change with no upstream equivalent.

Verdict

This is a vendor-specific configuration change (QCLINUX: prefix) that enables dynamic SWIOTLB allocation. The commit message clearly explains the rationale (reducing static memory reservation), the change is minimal and correctly formatted, and authorship is properly attributed. Validation against lore.kernel.org is not applicable for QCLINUX: commits.

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: Not checked — QCLINUX: vendor-only commit

@qlijarvis
Copy link
Copy Markdown

PR #642 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance QCLINUX: prefix not accepted
tag-check Valid prefix present

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #642 - QCLINUX: arm64: configs: qcom.config: Enable CONFIG_SWIOTLB_DYNAMIC
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/26755354643
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ⏭️ No C/H file changes
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance QCLINUX: prefix not accepted
tag-check Valid prefix present

❌ check-patch-compliance

Root cause: The commit uses the QCLINUX: prefix, which is not in the checker's allowed list of prefixes (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: QCLINUX: arm64: configs: qcom.config: Enable CONFIG_SWIOTLB_DYNAMIC
Commit summary does not start with a required prefix

Analysis:

This is a known limitation of the check-patch-compliance checker. The commit subject starts with QCLINUX:, which is a valid vendor-internal prefix used in the Qualcomm kernel tree for vendor-only changes with no upstream equivalent. However, the check-patch-compliance checker only accepts upstream-linkable prefixes:

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

The checker does not accept:

  • QCLINUX: (vendor-only)
  • PENDING: (work-in-progress)
  • WORKAROUND: (temporary fix)

Why this happens:

This is a config-only change (arch/arm64/configs/qcom.config) that enables CONFIG_SWIOTLB_DYNAMIC for the Qualcomm vendor kernel. It has no upstream equivalent because:

  1. It's a kernel config change specific to the vendor tree
  2. Upstream kernel configs are maintained per-architecture, not per-vendor
  3. This change is appropriate for the vendor tree but would not be submitted upstream

Options:

  1. Accept the failure — This is expected behavior for vendor-only commits. The QCLINUX: prefix correctly identifies this as a vendor-specific change. The checker limitation is documented and known.

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

    git commit --amend -m "FROMLIST: arm64: configs: qcom.config: Enable CONFIG_SWIOTLB_DYNAMIC"
    # Add Link: <lore-url> to commit body

    However, this would be incorrect if the patch was never posted upstream.

Recommendation: Accept the failure. The QCLINUX: prefix is correct for this vendor-only config change. The checker's limitation is known and documented in the skill reference (Section 7 of log-patterns.md).

Reproduce locally:

cd /path/to/kernel
bash ../kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base b7cce9a3884a873855693af8591d4c9c469cd17e \
  --head f8de07e02064e4ff340793d9d415c0ca1d7a961f

✅ tag-check

Status: PASS

The target branch is qcom-6.18.y, which is not qcom-next or qcom-next-staging, so the subject-prefix check is mandatory.

The commit subject QCLINUX: arm64: configs: qcom.config: Enable CONFIG_SWIOTLB_DYNAMIC starts with a valid prefix (QCLINUX:), which is one of the required prefixes for non-qcom-next branches:

  • FROMLIST:
  • FROMGIT:
  • UPSTREAM:
  • BACKPORT:
  • QCLINUX: ✓ (used here)
  • PENDING:
  • WORKAROUND:

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


Verdict

1 known limitation (not a blocker):

The check-patch-compliance failure is a known checker limitation for vendor-only commits using the QCLINUX: prefix. This is documented behavior and does not indicate a problem with the patch itself.

All other checkers passed or were correctly skipped:

  • checkpatch — No style issues
  • ⏭️ dt-binding-check, dtb-check, sparse-check, check-uapi-headers — Correctly skipped (no relevant file changes)
  • tag-check — Valid QCLINUX: prefix present

Recommendation: Merge as-is. The patch is clean and follows vendor tree conventions. The check-patch-compliance failure is expected for QCLINUX:-prefixed commits and does not block merge.

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

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

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.

4 participants