Skip to content

dma: swiotlb: introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB Kconfig#707

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

dma: swiotlb: introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB Kconfig#707
jpagadal wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
jpagadal:qcom-6.18.y

Conversation

@jpagadal

Copy link
Copy Markdown

SWIOTLB default pool size is currently fixed at 64 MB via IO_TLB_DEFAULT_SIZE, with runtime override only possible through "swiotlb=" kernel parameter.

Introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB to allow setting the default SWIOTLB size at compile time. This integer option (range: 1–64 MB) depends on CONFIG_SWIOTLB and defaults to 64 MB, preserving existing behavior.

Update IO_TLB_DEFAULT_SIZE to derive from this Kconfig option.

Set CONFIG_SWIOTLB_DEFAULT_SIZE_MB to 2 MB to reduce default SWIOTLB memory footprint.

Default behavior remains unchanged unless configured. Runtime "swiotlb=" override remains supported.

CRs-Fixed: 4490764

@jpagadal jpagadal requested review from a team, quicAspratap, sgaud-quic and trsoni June 13, 2026 17:08
SWIOTLB default pool size is currently fixed at 64 MB via
IO_TLB_DEFAULT_SIZE, with runtime override only possible through
"swiotlb=<nslabs>" kernel parameter.

Introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB to allow setting the default
SWIOTLB size at compile time. This integer option (range: 1–64 MB)
depends on CONFIG_SWIOTLB and defaults to 64 MB, preserving existing
behavior.

Update IO_TLB_DEFAULT_SIZE to derive from this Kconfig option, with
fallback to 64 MB when SWIOTLB is disabled.

Set CONFIG_SWIOTLB_DEFAULT_SIZE_MB to 2 MB to reduce default SWIOTLB
memory footprint.

Default behavior remains unchanged unless configured.
Runtime "swiotlb=" override remains supported.

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

Copy link
Copy Markdown

PR #707 — validate-patch

PR: #707

Verdict Issues Detailed Report
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: ✅ — click to expand

🔍 Patch Validation

PR: #707 - QCLINUX: dma: swiotlb: introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB Kconfig
Upstream commit: N/A (vendor-only QCLINUX: commit)
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream N/A QCLINUX: vendor-only commit
Body preserves rationale Clear problem statement and solution description
Fixes tag present/correct N/A Not a fix; new feature for vendor tree
Authorship preserved Jagadeesh Pagadala jpagadal@qti.qualcomm.com
Backport note (if applicable) N/A Original vendor contribution

Diff

File Status Notes
arch/arm64/configs/qcom.config Sets CONFIG_SWIOTLB_DEFAULT_SIZE_MB=2 for Qualcomm platforms
include/linux/swiotlb.h Proper preprocessor guards; backward compatible fallback
kernel/dma/Kconfig Well-documented Kconfig with range validation and help text

Verdict

Merge as-is. This is a well-structured vendor-only commit that introduces compile-time configurability for SWIOTLB default size, with proper Kconfig integration, backward compatibility, and clear documentation.

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 #707 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Build completed successfully with sparse checks
check-uapi-headers No UAPI header changes
check-patch-compliance FAILED - Invalid commit subject prefix
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable - not a FROMLIST/UPSTREAM commit

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #707 - QCLINUX: dma: swiotlb: introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB Kconfig
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27473666573

Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Build completed successfully with sparse checks
check-uapi-headers No UAPI header changes
check-patch-compliance FAILED - Invalid commit subject prefix
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable - not a FROMLIST/UPSTREAM commit

❌ check-patch-compliance

Root cause: Commit subject uses QCLINUX: prefix which is not a recognized/required prefix for Qualcomm Linux kernel commits.

Failure details:

2026-06-13T17:36:00.1352301Z Checking commit: QCLINUX: dma: swiotlb: introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB Kconfig
2026-06-13T17:36:00.1367503Z Commit summary does not start with a required prefix
2026-06-13T17:36:00.1384407Z ##[error]Process completed with exit code 1.

Fix: Remove the QCLINUX: prefix from the commit subject. The commit should start with the subsystem prefix directly. Change:

QCLINUX: dma: swiotlb: introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB Kconfig

To:

dma: swiotlb: introduce CONFIG_SWIOTLB_DEFAULT_SIZE_MB Kconfig

Or, if this patch is intended to be submitted upstream or is from an upstream mailing list, use the appropriate prefix:

  • UPSTREAM: if already merged in mainline
  • FROMLIST: if posted to mailing lists but not yet merged
  • BACKPORT: if backporting from another kernel version

Reproduce locally:

# Clone the kernel-checkers repo
git clone https://github.com/qualcomm-linux/kernel-checkers.git

# Run the check-patch-compliance checker
cd kernel-checkers
bash check-patch-compliance.sh --kernel-src /path/to/kernel \
  --base 9740e45b352ca1e5d7f40f5754b977d3533dc8b4 \
  --head 09f7a20166f58b5524057c9a9c9ec31a9e800575

Verdict

1 blocker to fix: The commit subject must be updated to remove the QCLINUX: prefix. Use standard kernel subsystem prefix (dma: swiotlb:) or appropriate upstream tracking prefix (UPSTREAM:/FROMLIST:/BACKPORT:) if applicable. Once fixed, amend the commit and force-push to re-trigger CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants