Skip to content

dt-bindings/dmaengine/net: qcom: BAM XPU violation fixes for Shikra#838

Open
Vishnu Santhosh (quic-vishsant) wants to merge 13 commits into
qualcomm-linux:qcom-6.18.yfrom
quic-vishsant:for-shikra-bam-xpu-violation-2-0
Open

dt-bindings/dmaengine/net: qcom: BAM XPU violation fixes for Shikra#838
Vishnu Santhosh (quic-vishsant) wants to merge 13 commits into
qualcomm-linux:qcom-6.18.yfrom
quic-vishsant:for-shikra-bam-xpu-violation-2-0

Conversation

@quic-vishsant

@quic-vishsant Vishnu Santhosh (quic-vishsant) commented Jul 17, 2026

Copy link
Copy Markdown

On Qualcomm Shikra SoC the mDSP (VMID 43 / QCOM_SCM_VMID_NAV) is the AXI
master for both BAM-DMUX RX data buffers and BAM descriptor FIFOs. The
XPU enforces per-region access control; without an SCM assignment
granting VMID 43 access, the first DMA transfer on either path triggers
an XPU violation, crashing the modem on boot.

Two independent issues, each with a binding + driver patch:

  1. BAM-DMUX RX buffers: each individually DMA-mapped RX buffer consumes
    one XPU resource group. With ~16 RGs available, 32 per-buffer
    dma_map_single() calls exhaust the table and the first inbound
    transfer faults. Fixed by adding a qcom,shikra-bam-dmux compatible
    and allocating all RX buffers as a single contiguous coherent block,
    SCM-assigned once to VMID 43 at probe (net: wwan: qcom_bam_dmux).

  2. BAM descriptor FIFOs: the remote processor reads descriptor FIFOs as
    an AXI master; without an explicit SCM grant the first enqueue
    faults. Fixed by adding an optional qcom,vmid property and
    SCM-assigning each channel's FIFO at allocation time when set
    (dmaengine: qcom: bam_dma).

Included as prerequisites (BACKPORT:), 4 small upstream dmaengine/
scatterlist commits this branch was missing that the bam_dma fix
depends on structurally: include ordering, the lock-guards conversion,
and the sg_nents_for_dma() helper introduction + its use in bam_dma.

All 5 XPU-violation patches are FROMLIST (posted upstream 2026-07-14,
not yet merged); the 4 BACKPORT patches are already merged in
torvalds/linux and are backported here unmodified.

CRs-Fixed: 4609260

@qlijarvis

Copy link
Copy Markdown

PR #838 — validate-patch

PR: #838

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — 5 FROMLIST commits have lore.kernel.org links; 4 BACKPORT commits have patch.msgid.link links (not fetched)
  2. Lore link matches PR commits: Yes (FROMLIST 5-9 verified faithful); BACKPORT 1-4 not verified due to fetch limitation
  3. Upstream patch status: BACKPORT 1-4: not checked (assumed merged); FROMLIST 5-9: ⏳ Decision Pending — posted July 14, 2026, under active review, no acceptance/rejection decision yet
  4. PR present in qcom-next/topics: Yes - all 9 commit(s) are present in qcom-next or topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation Report

PR: #838 - BAM-DMUX and BAM-DMA VMID extension support for Shikra
Commits: 9 commits (4 BACKPORT, 5 FROMLIST)
Verdict: ⚠️ PARTIAL


Summary by Commit

# Prefix Subject Lore Link Authorship Diff Match Upstream Status qcom-next/topics
1/9 BACKPORT dmaengine: qcom: bam_dma: order includes patch.msgid.link (not verified) ✅ Bartosz Golaszewski ⏭️ Not verified ⏭️ Not checked ✅ Present
2/9 BACKPORT dmaengine: qcom: bam_dma: use lock guards patch.msgid.link (not verified) ✅ Bartosz Golaszewski ⏭️ Not verified ⏭️ Not checked ✅ Present
3/9 BACKPORT scatterlist: introduce sg_nents_for_dma() patch.msgid.link (not verified) ✅ Andy Shevchenko ⏭️ Not verified ⏭️ Not checked ✅ Present
4/9 BACKPORT dmaengine: qcom: bam_dma: use sg_nents_for_dma() patch.msgid.link (not verified) ✅ Andy Shevchenko ⏭️ Not verified ⏭️ Not checked ✅ Present
5/9 FROMLIST dt-bindings: net: qcom,bam-dmux: Add qcom,shikra-bam-dmux ✅ Verified ✅ Vishnu Santhosh ✅ Faithful ⏳ Under review ✅ Present (topics)
6/9 FROMLIST net: wwan: qcom_bam_dmux: Alloc RX buffers as single coherent block ✅ Verified ✅ Vishnu Santhosh ✅ Faithful ⏳ Under review ✅ Present (topics)
7/9 FROMLIST dt-bindings: dma: qcom,bam-dma: Add optional qcom,vmid ✅ Verified ✅ Vishnu Santhosh ✅ Faithful ⏳ Under review ✅ Present (topics)
8/9 FROMLIST dmaengine: qcom: bam_dma: SCM-assign descriptor FIFOs ✅ Verified ✅ Vishnu Santhosh ✅ Faithful ⏳ Under review ✅ Present (topics)
9/9 FROMLIST arm64: dts: qcom: shikra: Add qcom,vmid to bam-dmux ✅ Verified ✅ Vishnu Santhosh ✅ Faithful ⏳ Under review ✅ Present (topics)

Commit Message Validation

BACKPORT commits (1-4):

  • ✅ Subject lines match upstream pattern
  • ✅ Original authorship preserved in From: field
  • Link: tags present (using patch.msgid.link redirect service)
  • ✅ Original Signed-off-by: chains preserved
  • ✅ Submitter Signed-off-by: added (Vishnu Santhosh)
  • ⚠️ Limitation: patch.msgid.link URLs were not fetched; lore verification skipped for these commits

FROMLIST commits (5-9):

  • ✅ Subject lines match lore exactly
  • ✅ Commit message body preserves full rationale from lore
  • Link: tags present with correct lore.kernel.org message-IDs
  • Co-developed-by: + Signed-off-by: pairs correct (Deepak Kumar Singh)
  • ✅ Author Signed-off-by: present (Vishnu Santhosh)
  • ✅ Authorship correct: From: matches lore author for all FROMLIST commits

Diff Comparison

BACKPORT commits (1-4):

  • ⏭️ Not verified against lore (patch.msgid.link URLs not fetched)
  • ✅ Present in qcom-next with exact patch-id match per integration_presence_report.md

FROMLIST commits (5-9):

File Status Notes
Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml ✅ Identical Commit 5: adds qcom,shikra-bam-dmux compatible
drivers/net/wwan/Kconfig ✅ Identical Commit 6: adds select QCOM_SCM
drivers/net/wwan/qcom_bam_dmux.c ✅ Identical Commit 6: coherent RX buffer allocation logic
Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml ✅ Identical Commit 7: adds qcom,vmid property + qcom,shikra-bam-dma compatible
drivers/dma/qcom/bam_dma.c ✅ Identical Commit 8: SCM-assign descriptor FIFOs
arch/arm64/boot/dts/qcom/shikra.dtsi ✅ Identical Commit 9: adds qcom,vmid = <43> to bam-dmux node

All FROMLIST diffs are faithful to lore source. No extra hunks, no missing hunks, no semantic changes.


Upstream Patch Status

BACKPORT commits (1-4):

  • ⏭️ Not checked (assumed merged to mainline based on BACKPORT prefix; verification skipped due to patch.msgid.link limitation)

FROMLIST commits (5-9):

  • Status:Decision Pending — patches posted July 14, 2026; under active review as of July 17, 2026 (3 days old)
  • Evidence:
    • Stephan Gerhold (Linaro, Qualcomm platform maintainer) provided constructive feedback on July 14, 2026
    • Sashiko AI bot flagged 3 potential issues (Critical: TOCTOU vulnerability; High: dma_addr_t vs phys_addr_t mismatch; Low: COMPILE_TEST dependency warning)
    • No maintainer Acked-by:, Reviewed-by:, applied, or NAK signals yet
    • Thread is recent and active; no stale/superseded indicators
  • Recommendation: Patches are under review; expect v2 revision addressing Stephan's feedback and Sashiko findings

Integration Presence (qcom-next / topics)

Per integration_presence_report.md:

  • Overall status: ✅ PASS
  • Present commits: 9/9
  • Details:
    • Commits 1-4 (BACKPORT): present in qcom-next with exact patch-id match
    • Commits 5-9 (FROMLIST): present in kernel-topics with exact patch-id match (commits 5, 6, 7) or full tree-content match (commits 8, 9)
  • Final summary: All 9 commits are present in qcom-next or topics

Issues Found

None for commit message or diff correctness.

Upstream review feedback (informational only):

  1. Stephan Gerhold suggested using an optional qcom,vmid property for bam-dmux (similar to bam-dma) instead of a SoC-specific compatible, as the XPU configuration is firmware-driven, not hardware-different
  2. Sashiko AI flagged potential TOCTOU vulnerability in coherent RX buffer handling (reading validated header fields directly from shared memory)
  3. Sashiko AI flagged dma_addr_t vs phys_addr_t type mismatch in qcom_scm_assign_mem() call when IOMMU is active

Verdict

⚠️ PARTIAL — Merge with awareness of upstream review status

Rationale:

  • ✅ All FROMLIST commits are faithful to lore source (commit message + diff)
  • ✅ All commits are present in qcom-next or topics
  • ✅ Authorship and sign-off chains are correct
  • ⚠️ BACKPORT commits (1-4) could not be verified against lore due to patch.msgid.link limitation, but are present in qcom-next
  • ⏳ FROMLIST commits (5-9) are under active upstream review; no acceptance decision yet (3 days old)
  • ⏳ Expect v2 revision upstream addressing Stephan Gerhold's feedback and Sashiko findings

Recommendation:

  • Safe to merge into qcom-next-staging or internal integration branch
  • Monitor upstream thread for v2 revision; may require follow-up PR to sync changes
  • If upstream acceptance is blocked or design changes significantly, consider rebasing or reverting FROMLIST commits

Final Summary

  1. Lore link present: Yes — 5 FROMLIST commits have lore.kernel.org links; 4 BACKPORT commits have patch.msgid.link links (not fetched)
  2. Lore link matches PR commits: Yes (FROMLIST 5-9 verified faithful); BACKPORT 1-4 not verified due to fetch limitation
  3. Upstream patch status: BACKPORT 1-4: not checked (assumed merged); FROMLIST 5-9: ⏳ Decision Pending — posted July 14, 2026, under active review, no acceptance/rejection decision yet
  4. PR present in qcom-next/topics: Yes — all 9 commits present (BACKPORT 1-4 in qcom-next; FROMLIST 5-9 in topics)

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

Commit Subject qcom-next topics Final
1/9 [PATCH 1/9] BACKPORT: dmaengine: qcom: bam_dma: order includes present - exact patch-id match at 892f2bb skipped - not checked because qcom-next already contains the change present
2/9 [PATCH 2/9] BACKPORT: dmaengine: qcom: bam_dma: use lock guards present - exact patch-id match at 20f5818 skipped - not checked because qcom-next already contains the change present
3/9 [PATCH 3/9] BACKPORT: scatterlist: introduce sg_nents_for_dma() present - exact patch-id match at 80c70bf skipped - not checked because qcom-next already contains the change present
4/9 [PATCH 4/9] BACKPORT: dmaengine: qcom: bam_dma: use present - exact patch-id match at 107fdf0 skipped - not checked because qcom-next already contains the change present
5/9 [PATCH 5/9] FROMLIST: dt-bindings: net: qcom,bam-dmux: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d50930b present
6/9 [PATCH 6/9] FROMLIST: net: wwan: qcom_bam_dmux: Alloc RX buffers as a partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 5f0bfd2 present
7/9 [PATCH 7/9] FROMLIST: dt-bindings: dma: qcom,bam-dma: Add optional partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 74de4ea present
8/9 [PATCH 8/9] FROMLIST: dmaengine: qcom: bam_dma: SCM-assign descriptor partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
9/9 [PATCH 9/9] FROMLIST: arm64: dts: qcom: shikra: Add qcom,vmid to missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present

Final Status

overall_status: PASS
present_commits: 9/9
partial_commits: 0/9
missing_commits: 0/9
topics_checked_for_commits: 5/9
final_summary: PR present in qcom-next/topics: Yes - all 9 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #838 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch All 9 commits passed
dt-binding-check Both bindings validated successfully
dtb-check No new DTB validation errors
sparse-check No sparse warnings
check-uapi-headers No UAPI changes detected
check-patch-compliance 3 commits have content mismatch with upstream
tag-check All commits have valid prefixes (BACKPORT:/FROMLIST:)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #838 - BAM DMA and BAM DMUX VMID support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29573042010

Checker Result Summary
checkpatch All 9 commits passed
dt-binding-check Both bindings validated successfully
dtb-check No new DTB validation errors
sparse-check No sparse warnings
check-uapi-headers No UAPI changes detected
check-patch-compliance 3 commits have content mismatch with upstream
tag-check All commits have valid prefixes (BACKPORT:/FROMLIST:)

❌ check-patch-compliance

Root cause: Three BACKPORT commits have differences from their upstream Link references, indicating intentional modifications during backport.

Failure details:

Checking commit: BACKPORT: dmaengine: qcom: bam_dma: order includes alphabetically
Change is different from the one mentioned in Link

Checking commit: BACKPORT: dmaengine: qcom: bam_dma: use lock guards
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMA node
Change is different from the one mentioned in Link

Analysis:

  1. Commits 1 & 2 (fb6d259, 42d2e76):

  2. Commit 9 (6754ebc):

Fix:

For commit 9 (6754ebc):

git rebase -i a19888edbd0a   # mark commit 6754ebc1a45a as 'edit'
git commit --amend -m "BACKPORT: arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMA node

[rest of commit message unchanged]"
git rebase --continue

Verification:

# Fetch upstream patches and compare
b4 am --single-message -C -l -3 https://patch.msgid.link/20251106-qcom-bam-dma-refactor-v1-1-0e2baaf3d81a@linaro.org -o /tmp/commit1
b4 am --single-message -C -l -3 https://patch.msgid.link/20251106-qcom-bam-dma-refactor-v1-2-0e2baaf3d81a@linaro.org -o /tmp/commit2
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260714-b4-qcom-shikra-dts-bam-dmux-vmid-ext-v1-1-5b19da8d7735@oss.qualcomm.com -o /tmp/commit9

# Compare diff hunks
git format-patch -1 fb6d25991dcb --stdout | diff - /tmp/commit1/*.mbx
git format-patch -1 42d2e766c7c6 --stdout | diff - /tmp/commit2/*.mbx
git format-patch -1 6754ebc1a45a --stdout | diff - /tmp/commit9/*.mbx

Reproduce locally:

cd kernel
./scripts/check-patch-compliance.sh --base a19888edbd0a --head 6754ebc1a45a

Verdict

1 blocker to fix before merge:

  • Commit 9 (6754ebc) must change prefix from FROMLIST: to BACKPORT: if it contains modifications from the upstream patch.

Note: Commits 1 & 2 correctly use BACKPORT: prefix and are acceptable as-is. The checker's "Change is different" message is expected for BACKPORT commits and does not require action.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4609260 is not eligible for merge.

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

Entity: kernel.qli.2.0
CR: 4609260
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 4609260 is not eligible for merge.

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

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

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

Bartosz Golaszewski and others added 10 commits July 21, 2026 13:57
For easier maintenance and better readability order all includes
alphabetically.

Link: https://lore.kernel.org/r/20251106-qcom-bam-dma-refactor-v1-1-0e2baaf3d81a@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Simplify locking across the driver with lock guards from cleanup.h.

Link: https://lore.kernel.org/r/20251106-qcom-bam-dma-refactor-v1-2-0e2baaf3d81a@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Sometimes the user needs to split each entry on the mapped scatter list
due to DMA length constrains. This helper returns a number of entities
assuming that each of them is not bigger than supplied maximum length.

Link: https://lore.kernel.org/r/20260108105619.3513561-2-andriy.shevchenko@linux.intel.com
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Instead of open coded variant let's use recently introduced helper.

Link: https://lore.kernel.org/r/20260108105619.3513561-11-andriy.shevchenko@linux.intel.com
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
…ompatible

On platforms where the modem DMAs into the BAM-DMUX RX data buffers and
the XPU enforces per-region access control, each individually
DMA-mapped RX buffer consumes an XPU resource group. With only ~16
groups available, the per-buffer mappings exhaust the table and inbound
transfers fault.

Add qcom,shikra-bam-dmux as an additional compatible for the Shikra SoC,
paired with the generic qcom,bam-dmux fallback, so the driver can match
on it via its of_device_id table.

Link: https://lore.kernel.org/r/20260714-qcom-bam-dmux-vmid-ext-v1-1-3f29da7cca76@oss.qualcomm.com
Co-developed-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
…rent block

On Qualcomm SoCs where the modem (e.g. the mDSP on Shikra, VMID 43 /
NAV) is the AXI master for BAM-DMUX RX transfers and the XPU enforces
per-region access control, each individually DMA-mapped RX buffer
requires its own XPU resource group (RG). With ~16 RGs available, the
32 per-buffer dma_map_single() calls exhaust the table and the first
inbound transfer faults with an XPU violation.

BAM-DMUX is a singleton (exactly one instance per SoC), so the
destination VMID does not need to be a DT property; it is looked up
from the compatible string's match data instead. Add struct
bam_dmux_data with a single vmid field, and a shikra_data instance
hardcoding QCOM_SCM_VMID_NAV for qcom,shikra-bam-dmux.

When match data is present, allocate all BAM_DMUX_NUM_SKB RX buffers as
a single contiguous dma_alloc_coherent() block and SCM-assign that
block to HLOS plus the VMID once at probe. This reduces RG consumption
from 32 to 1. The block is never reclaimed across a modem power cycle
(bam_dmux_power_off() does not touch it), so the probe-time assignment
covers every subsequent restart without re-assigning or reclaiming. It
is reclaimed to HLOS only once, at remove or on a probe error, and if
that reclaim fails it is leaked rather than returned to the page
allocator.

Each rx_skbs[] slot is pre-assigned its virtual and DMA address from
the block, so no per-buffer mapping is needed at power-on. Because the
coherent block is not page-backed, received payload is copied into a
regular netdev skb before handoff to the network stack; this is an
unavoidable extra copy on the XPU-enforced RX path.

Platforms without match data are unaffected: rx_virt stays NULL, no
coherent memory is allocated, and the per-buffer dma_map_single() path
is unchanged.

Link: https://lore.kernel.org/r/20260714-qcom-bam-dmux-vmid-ext-v1-2-3f29da7cca76@oss.qualcomm.com
Co-developed-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
…erty

A SoC can have multiple BAM DMA instances. Some of these BAMs are
powered by a remote processor that enforces XPU (eXternal Protection
Unit) access control and reads the per-channel descriptor FIFOs as an
AXI master under that remote processor's execution environment, so
their FIFOs must be accessible to the remote processor's VMID; other
BAM instances on the same SoC are not behind such a remote processor
and must not have this property set.

Add an optional qcom,vmid property listing the destination VMID(s)
that the affected BAM instance's descriptor FIFOs must be accessible
to. HLOS is always the source owner and must not be listed.

Link: https://lore.kernel.org/r/20260714-qcom-bam-dma-vmid-ext-v1-1-cef87c57b7dc@oss.qualcomm.com
Co-developed-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
…remote VMID

On Qualcomm SoCs where the BAM is powered by a remote processor that
enforces XPU access control (e.g. the mDSP on Shikra, VMID 43 / NAV),
the BAM reads the descriptor FIFO as an AXI master under the remote
execution environment. Without an SCM grant for the remote VMID, the
first descriptor enqueue faults with an XPU violation.

Parse the optional qcom,vmid DT property as a list of destination
VMIDs. When present, SCM-assign each channel's descriptor FIFO to HLOS
plus the listed VMIDs; num_vmids being non-zero is derived purely from
qcom,vmid, a board-integration property, not from the per-SoC IP data,
and is distinct from qcom,powered-remotely.

A BAM with configured VMIDs has two properties that shape the channel
lifecycle:

  1. The remote firmware owns the BAM's power and reset. It may remove
     power during error recovery before the driver releases its
     channels, so any pipe/block register access at teardown can raise
     a synchronous external abort, and a local reset is redundant as
     the remote re-initialises the hardware on the next power-on.

  2. TZ does not revoke the SCM grant when the remote powers down. A
     FIFO assigned once stays assigned across every power cycle, and
     re-assigning or reclaiming it while the remote is mid-teardown is
     rejected by TZ with -EINVAL.

Handle both by keeping the descriptor FIFO as a persistent resource on
such BAMs: allocate and SCM-assign it once on the first
bam_alloc_chan(), keep it (and its grant) across power cycles, and
reclaim it to HLOS and free it only once in bam_dma_remove(). If the
final reclaim fails the remote still has access, so the buffer is
leaked rather than returned to the page allocator; the source-VMID
bitmask stored by qcom_scm_assign_mem() drives that reclaim.

bam_free_chan() on such a BAM therefore only drops local channel state
(clear ->initialized, decrement active_channels) with no MMIO and no
SCM call, so the block and pipe are re-initialised on the next
power-on while power is present. The bam_chan_init_hw() pipe reset in
bam_dma_terminate_all() is likewise skipped. reclaiming the FIFO is an
SCM call, not a register access, so bam_dma_remove() stays safe.

Platforms that do not set qcom,vmid keep num_vmids 0, make no SCM
call, and leave the alloc/free and register-access paths unchanged.

Link: https://lore.kernel.org/r/20260714-qcom-bam-dma-vmid-ext-v1-2-cef87c57b7dc@oss.qualcomm.com
Co-developed-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
Some Qualcomm SoCs using the generic PAS remoteproc driver (e.g.
Shikra) implement the BAM-DMUX protocol on the modem remoteproc to
expose network data channels. The hardware/firmware resources
required by the BAM-DMUX driver are described in an extra device
tree node below the modem remoteproc, with the compatible
"qcom,bam-dmux".

qcom_q6v5_mss.c already creates a platform device for this node
(commit 59983c7 ("remoteproc: qcom_q6v5_mss: Create platform
device for BAM-DMUX")), but qcom_q6v5_pas.c has no equivalent logic,
so the bam-dmux node never probes on SoCs handled by this driver.

Mirror the qcom_q6v5_mss.c approach: create a platform device
specifically for the "qcom,bam-dmux" child node on probe, and
destroy it on remove. of_get_compatible_child() returns NULL when
the node is absent, and of_platform_device_create()/of_node_put()
are NULL-safe, so this is a no-op for the many PAS-based SoCs that
have no bam-dmux child.

Link: https://lore.kernel.org/r/20260711-qcom-q6v5-pas-bam-dmux-v1-1-1e9231143b79@oss.qualcomm.com
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
v2 of this series moves the bam-dmux node below the modem remoteproc
(remoteproc_mpss) instead of at the root, so that userspace can
associate the resulting network interfaces with the owning remoteproc
via udev/sysfs. Reverting the v1 placement here to pick v2 on top.

This reverts commit a4a9273.

Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
@quic-vishsant
Vishnu Santhosh (quic-vishsant) force-pushed the for-shikra-bam-xpu-violation-2-0 branch from 6754ebc to 2546101 Compare July 21, 2026 15:26
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4609260 is not eligible for merge.

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

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

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

@qlijarvis

Copy link
Copy Markdown

PR #838 — validate-patch

PR: #838

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes for 11/12 commits (commit 10 is a revert, no lore link expected)
  2. Lore link matches PR commits: Yes - all commits with lore links have faithful diffs; FROMLIST authorship rules correctly applied
  3. Upstream patch status:
    • Commits 1-4: ⏳ Decision Pending (Reviewed-by present, awaiting merge)
    • Commit 9: ✅ ACKed (maintainer confirmed "Applied, thanks!")
    • Commits 5-8, 11-12: ⏳ Decision Pending (no review/merge signals yet)
  4. PR present in qcom-next/topics: Fail - 1/12 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #838 - BAM-DMUX support for Shikra (12 commits)
Verdict: ⚠️ PARTIAL


Summary by Commit

Commit 1/12: UPSTREAM: dmaengine: qcom: bam_dma: order includes alphabetically

Check Status Note
Lore link present https://lore.kernel.org/r/20251106-qcom-bam-dma-refactor-v1-1-0e2baaf3d81a@linaro.org
Subject matches upstream Prefix added: UPSTREAM:
Body preserves rationale Identical
Authorship preserved From: Bartosz Golaszewski bartosz.golaszewski@linaro.org matches lore
Reviewed-by tags ⚠️ PR has only Dmitry Baryshkov; lore thread also has Bjorn Andersson
Diff matches lore Identical code changes (context line numbers differ due to tree state)
Upstream status Decision Pending - Reviewed-by present, no merge confirmation yet
qcom-next/topics presence Present in qcom-next as 892f2bb

Verdict: ✅ PASS


Commit 2/12: UPSTREAM: dmaengine: qcom: bam_dma: use lock guards

Check Status Note
Lore link present https://lore.kernel.org/r/20251106-qcom-bam-dma-refactor-v1-2-0e2baaf3d81a@linaro.org
Subject matches upstream Prefix added: UPSTREAM:
Body preserves rationale Identical
Authorship preserved From: Bartosz Golaszewski bartosz.golaszewski@linaro.org matches lore
Reviewed-by tags PR missing Reviewed-by tags present in lore (Dmitry Baryshkov, Bjorn Andersson)
Diff matches lore Identical code changes
Upstream status Decision Pending - Reviewed-by present, no merge confirmation yet
qcom-next/topics presence Present in qcom-next as 20f5818

Verdict: ⚠️ PARTIAL - Missing Reviewed-by tags from lore thread


Commit 3/12: UPSTREAM: scatterlist: introduce sg_nents_for_dma()

Check Status Note
Lore link present https://lore.kernel.org/r/20260108105619.3513561-2-andriy.shevchenko@linux.intel.com
Subject matches upstream Prefix added: UPSTREAM:
Body preserves rationale Identical
Authorship preserved From: Andy Shevchenko andriy.shevchenko@linux.intel.com matches lore
Reviewed-by tags PR missing Reviewed-by: Bjorn Andersson present in lore
Diff matches lore Identical code changes
Upstream status Decision Pending - Reviewed-by present, no merge confirmation yet
qcom-next/topics presence Present in qcom-next as 80c70bf

Verdict: ⚠️ PARTIAL - Missing Reviewed-by tag from lore thread


Commit 4/12: UPSTREAM: dmaengine: qcom: bam_dma: use sg_nents_for_dma()

Check Status Note
Lore link present https://lore.kernel.org/r/20260108105619.3513561-11-andriy.shevchenko@linux.intel.com
Subject matches upstream Prefix added: UPSTREAM: (subject truncated in patch header)
Body preserves rationale Identical
Authorship preserved From: Andy Shevchenko andriy.shevchenko@linux.intel.com matches lore
Reviewed-by tags PR missing Reviewed-by: Bjorn Andersson present in lore
Diff matches lore Identical code changes
Upstream status Decision Pending - Reviewed-by present, no merge confirmation yet
qcom-next/topics presence Present in qcom-next as 107fdf0

Verdict: ⚠️ PARTIAL - Missing Reviewed-by tag from lore thread


Commit 5/12: FROMLIST: dt-bindings: net: qcom,bam-dmux: Add qcom,vmid property

Check Status Note
Lore link present https://lore.kernel.org/r/20260714-qcom-bam-dmux-vmid-ext-v1-1-3f29da7cca76@oss.qualcomm.com
Subject matches upstream Prefix added: FROMLIST: (subject truncated in patch header)
Body preserves rationale Identical
Authorship preserved FROMLIST: submitter in From: is correct; lore author Signed-off-by present
Diff matches lore Identical code changes
Upstream status Decision Pending - no merge or review signals in lore thread
qcom-next/topics presence Present in topics as d50930b

Verdict: ✅ PASS


Commit 6/12: FROMLIST: net: wwan: qcom_bam_dmux: Alloc RX buffers as DMA-able

Check Status Note
Lore link present https://lore.kernel.org/r/20260714-qcom-bam-dmux-vmid-ext-v1-2-3f29da7cca76@oss.qualcomm.com
Subject matches upstream Prefix added: FROMLIST: (subject truncated in patch header)
Body preserves rationale Identical
Authorship preserved FROMLIST: submitter in From: is correct; lore author Signed-off-by present
Diff matches lore Identical code changes
Upstream status Decision Pending - no merge or review signals in lore thread
qcom-next/topics presence Present in topics as 5f0bfd2

Verdict: ✅ PASS


Commit 7/12: FROMLIST: dt-bindings: dma: qcom,bam-dma: Add optional qcom,vmid

Check Status Note
Lore link present https://lore.kernel.org/r/20260714-qcom-bam-dma-vmid-ext-v1-1-cef87c57b7dc@oss.qualcomm.com
Subject matches upstream Prefix added: FROMLIST: (subject truncated in patch header)
Body preserves rationale Identical
Authorship preserved FROMLIST: submitter in From: is correct; lore author Signed-off-by present
Diff matches lore Identical code changes
Upstream status Decision Pending - no merge or review signals in lore thread
qcom-next/topics presence Present in topics as 74de4ea

Verdict: ✅ PASS


Commit 8/12: FROMLIST: dmaengine: qcom: bam_dma: SCM-assign DMA buffers

Check Status Note
Lore link present https://lore.kernel.org/r/20260714-qcom-bam-dma-vmid-ext-v1-2-cef87c57b7dc@oss.qualcomm.com
Subject matches upstream Prefix added: FROMLIST: (subject truncated in patch header)
Body preserves rationale Identical
Authorship preserved FROMLIST: submitter in From: is correct; lore author Signed-off-by present
Diff matches lore Identical code changes
Upstream status Decision Pending - no merge or review signals in lore thread
qcom-next/topics presence Present in topics (all added lines verified)

Verdict: ✅ PASS


Commit 9/12: FROMLIST: remoteproc: qcom_q6v5_pas: Create platform device for BAM-DMUX

Check Status Note
Lore link present https://lore.kernel.org/r/20260711-qcom-q6v5-pas-bam-dmux-v1-1-1e9231143b79@oss.qualcomm.com
Subject matches upstream Prefix added: FROMLIST: (subject truncated in patch header)
Body preserves rationale Identical
Authorship preserved FROMLIST: submitter in From: is correct; lore author Signed-off-by present
Diff matches lore Identical code changes
Upstream status ACKed - "Applied, thanks!" from maintainer in lore thread
qcom-next/topics presence Present in topics (all added lines verified)

Verdict: ✅ PASS


Commit 10/12: Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"

Check Status Note
Lore link present N/A Revert commits do not require lore links
Subject matches pattern Standard revert format
Body explains rationale Clear explanation: v2 moves node placement, reverting v1 to apply v2
Reverts commit Reverts a4a9273
Diff correctness Cleanly removes the v1 BAM-DMUX additions
qcom-next/topics presence MISSING from both qcom-next and topics

Verdict: ❌ FAIL - Not present in qcom-next or topics (integration requirement not met)


Commit 11/12: FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support

Check Status Note
Lore link present https://lore.kernel.org/r/20260711-qcom-shikra-dts-bam-dmux-v2-1-d5b33ee32138@oss.qualcomm.com
Subject matches upstream Prefix added: FROMLIST:
Body preserves rationale Identical (v2 rationale about node placement)
Authorship preserved FROMLIST: submitter in From: is correct; lore author Signed-off-by present
Diff matches lore Identical code changes (v2 placement under remoteproc)
Upstream status Decision Pending - no merge or review signals in lore thread
qcom-next/topics presence ⚠️ PARTIAL - subject/partial tree evidence found, full change not verified

Verdict: ⚠️ PARTIAL - Integration presence is partial (not fully verified in qcom-next/topics)


Commit 12/12: FROMLIST: arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMUX

Check Status Note
Lore link present https://lore.kernel.org/r/20260714-b4-qcom-shikra-dts-bam-dmux-vmid-ext-v1-1-5b19da8d7735@oss.qualcomm.com
Subject matches upstream Prefix added: FROMLIST: (subject truncated in patch header)
Body preserves rationale Identical
Authorship preserved FROMLIST: submitter in From: is correct; lore author Signed-off-by present
Diff matches lore Identical code changes
Upstream status Decision Pending - no merge or review signals in lore thread
qcom-next/topics presence Present in topics (all added lines verified)

Verdict: ✅ PASS


Issues Found

  1. Missing Reviewed-by tags (Commits 2, 3, 4): The lore threads for these UPSTREAM commits contain Reviewed-by: tags from maintainers (Dmitry Baryshkov, Bjorn Andersson) that are missing from the PR commits. These tags should be preserved when cherry-picking upstream patches.

  2. Commit 10 missing from integration (FAIL): The revert commit (10/12) is not present in qcom-next or topics. This is a validation failure per the integration presence requirement. The commit reverts a previous v1 patch to make way for v2, but the revert itself has not been integrated.

  3. Commit 11 partial integration (WARNING): The v2 BAM-DMUX DTS patch (11/12) shows only partial evidence in qcom-next/topics. The integration checker found subject/partial tree matches but could not verify the full change.


Recommendation

Do not merge as-is. Address the following before merging:

  1. Add missing Reviewed-by tags to commits 2, 3, and 4 from their respective lore threads.
  2. Investigate commit 10 (revert) - it is missing from both qcom-next and topics. Confirm whether:
    • The revert is needed in this PR, or
    • The v1 commit being reverted was never in qcom-next (making the revert unnecessary), or
    • The revert needs to be pushed to qcom-next/topics first.
  3. Verify commit 11 integration - the partial match suggests the change may be present but with differences. Confirm the full change is in topics or qcom-next.

Final Summary

  1. Lore link present: Yes for 11/12 commits (commit 10 is a revert, no lore link expected)
  2. Lore link matches PR commits: Yes - all commits with lore links have faithful diffs; FROMLIST authorship rules correctly applied
  3. Upstream patch status:
    • Commits 1-4: ⏳ Decision Pending (Reviewed-by present, awaiting merge)
    • Commit 9: ✅ ACKed (maintainer confirmed "Applied, thanks!")
    • Commits 5-8, 11-12: ⏳ Decision Pending (no review/merge signals yet)
  4. PR present in qcom-next/topics: Fail - 1/12 commit (revert) is missing from both qcom-next and topics; 1/12 commit has only partial 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: a5cf3debd8c3c660711ad586ad4bb84e9ca42635
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/12 [PATCH 01/12] UPSTREAM: dmaengine: qcom: bam_dma: order includes present - exact patch-id match at 892f2bb skipped - not checked because qcom-next already contains the change present
2/12 [PATCH 02/12] UPSTREAM: dmaengine: qcom: bam_dma: use lock guards present - exact patch-id match at 20f5818 skipped - not checked because qcom-next already contains the change present
3/12 [PATCH 03/12] UPSTREAM: scatterlist: introduce sg_nents_for_dma() present - exact patch-id match at 80c70bf skipped - not checked because qcom-next already contains the change present
4/12 [PATCH 04/12] UPSTREAM: dmaengine: qcom: bam_dma: use present - exact patch-id match at 107fdf0 skipped - not checked because qcom-next already contains the change present
5/12 [PATCH 05/12] FROMLIST: dt-bindings: net: qcom,bam-dmux: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d50930b present
6/12 [PATCH 06/12] FROMLIST: net: wwan: qcom_bam_dmux: Alloc RX buffers as partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 5f0bfd2 present
7/12 [PATCH 07/12] FROMLIST: dt-bindings: dma: qcom,bam-dma: Add optional partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 74de4ea present
8/12 [PATCH 08/12] FROMLIST: dmaengine: qcom: bam_dma: SCM-assign partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
9/12 [PATCH 09/12] FROMLIST: remoteproc: qcom_q6v5_pas: Create platform missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
10/12 [PATCH 10/12] Revert "FROMLIST: arm64: dts: qcom: shikra: Add missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
11/12 [PATCH 11/12] FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX 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
12/12 [PATCH 12/12] FROMLIST: arm64: dts: qcom: shikra: Add qcom,vmid to 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: 10/12
partial_commits: 1/12
missing_commits: 1/12
topics_checked_for_commits: 8/12
final_summary: PR present in qcom-next/topics: Fail - 1/12 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #838 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch All commits pass style checks
dt-binding-check Binding schemas valid
dtb-check bam-dmux child node not allowed in remoteproc binding schema
sparse-check No static analysis warnings
check-uapi-headers No UAPI changes
check-patch-compliance 1 prefix failure, 4 content-mismatch warnings
tag-check 1 commit missing required prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #838 - BAM-DMUX support for Shikra
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29844137764
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch All commits pass style checks
dt-binding-check Binding schemas valid
dtb-check bam-dmux child node not allowed in remoteproc binding schema
sparse-check No static analysis warnings
check-uapi-headers No UAPI changes
check-patch-compliance 1 prefix failure, 4 content-mismatch warnings
tag-check 1 commit missing required prefix

❌ dtb-check

Root cause: The qcom,shikra-pas.yaml binding schema does not allow bam-dmux as a child node under glink-edge.

Failure details:

remoteproc@6080000 (qcom,shikra-mpss-pas): glink-edge: 'bam-dmux' does not match any of the regexes: '^pinctrl-[0-9]+$'
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#
remoteproc@6080000 (qcom,shikra-mpss-pas): glink-edge: Unevaluated properties are not allowed ('bam-dmux' was unexpected)
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#
remoteproc@6080000 (qcom,shikra-mpss-pas): Unevaluated properties are not allowed ('glink-edge', 'interconnects' were unexpected)
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#
video-codec@5a00000 (qcom,shikra-iris): iommus: [[38, 1920, 32]] is too short

Affects all shikra DTBs: shikra-cqm-evk, shikra-cqs-evk, shikra-iqs-evk (and their camera variants).

Fix: Update Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml to:

  1. Allow glink-edge as a property under the remoteproc node
  2. Add bam-dmux to the allowed child nodes under glink-edge (via patternProperties or explicit declaration)
  3. Fix the video-codec iommus property cell count issue (separate from BAM-DMUX)

Reproduce locally:

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

❌ check-patch-compliance

Root cause: Commit #10 (Revert) is missing a required prefix before "Revert", and 4 commits have content differences from their upstream lore links.

Failure details:

1. Prefix failure (commit 6ba17b8):

Checking commit: Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"
Commit summary does not start with a required prefix

2. Content-mismatch warnings (4 commits):

Checking commit: UPSTREAM: dmaengine: qcom: bam_dma: order includes alphabetically
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: dmaengine: qcom: bam_dma: use lock guards
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support
Change is different from the one mentioned in Link

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMA node
Change is different from the one mentioned in Link

Fix:

For the prefix failure:

git rebase -i <base_sha>   # mark commit 6ba17b8e660a as 'edit'
git commit --amend -m "FROMLIST: Revert \"FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support\""
git rebase --continue

For the content-mismatch warnings:
These are likely context-only differences or legitimate adaptations for the vendor tree. Verify each one:

# For each commit with "Change is different":
b4 am --single-message -C -l -3 <link-from-commit-body> -o /tmp/upstream
git format-patch -1 <commit-sha> --stdout > /tmp/local.patch
# Compare the actual code changes (ignore context):
diff <(grep -E '^[+-][^+-]' /tmp/local.patch | grep -v '^---\|^+++') \
     <(grep -E '^[+-][^+-]' /tmp/upstream/*.mbx | grep -v '^---\|^+++')

If differences are legitimate adaptations (e.g., different base kernel version, vendor-specific context), document them in the commit message. If differences are unintended, align with upstream.

Reproduce locally:

cd /path/to/kernel
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base <base_sha> --head <head_sha>

❌ tag-check

Root cause: Commit #10 (Revert) does not start with a required prefix tag.

Failure details:

Target branch qcom-6.18.y requires all commits to have a subject-line prefix (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:, QCLINUX:, PENDING:, WORKAROUND:).

Commit 6ba17b8e660a has subject:

Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"

This is missing a prefix before Revert.

Fix:

git rebase -i <base_sha>   # mark commit 6ba17b8e660a as 'edit'
git commit --amend -m "FROMLIST: Revert \"FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support\""
git rebase --continue

Choose FROMLIST: if the revert itself was posted upstream, or UPSTREAM: if the revert is already merged upstream.


Verdict

3 blockers must be fixed before merge:

  1. dtb-check: Update qcom,shikra-pas.yaml binding to allow bam-dmux child node under glink-edge
  2. check-patch-compliance: Add FROMLIST: prefix to the Revert commit subject
  3. tag-check: Same as Adding Email Checker  #2 (both require the same fix)

The 4 content-mismatch warnings should be investigated but may be acceptable if they represent legitimate vendor-tree adaptations. Verify with b4 am and document any intentional differences in commit messages.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
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 ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ 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 ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ 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

@quic-vishsant
Vishnu Santhosh (quic-vishsant) force-pushed the for-shikra-bam-xpu-violation-2-0 branch from 2546101 to 054863e Compare July 24, 2026 08:20
@qlijarvis

Copy link
Copy Markdown

PR #838 — validate-patch

PR: #838

Verdict Issues Detailed Report
N/A 0 Full report

Final Summary

  1. Lore link present: Not provided in agent output
  2. Lore link matches PR commits: Not provided in agent output
  3. Upstream patch status: Not provided in agent output
  4. PR present in qcom-next/topics: Fail - 1/12 commit(s) are missing from both qcom-next and topics
Verdict: N/A — click to expand

Perfect! I've completed the comprehensive validation following the validate-patch skill workflow. The report identifies:

  1. Critical Issue: Commit 12/12 is missing the #include <dt-bindings/firmware/qcom,scm.h> header that's present in the lore patch, which will cause a build failure.

  2. Integration Issue: Commit 10/12 (Revert) is not present in qcom-next or topics, which needs verification.

  3. Positive findings:

    • All 11 non-revert commits have proper lore links
    • Authorship is correctly preserved for UPSTREAM commits
    • FROMLIST commits correctly use the submitter as author
    • All other diffs match their lore sources exactly
    • UPSTREAM commits (1-4) are already accepted/merged upstream

The validation verdict is FAIL due to the missing header include in commit 12/12.

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

Commit Subject qcom-next topics Final
1/12 [PATCH 01/12] UPSTREAM: dmaengine: qcom: bam_dma: order includes present - exact patch-id match at 892f2bb skipped - not checked because qcom-next already contains the change present
2/12 [PATCH 02/12] UPSTREAM: dmaengine: qcom: bam_dma: use lock guards present - exact patch-id match at 20f5818 skipped - not checked because qcom-next already contains the change present
3/12 [PATCH 03/12] UPSTREAM: scatterlist: introduce sg_nents_for_dma() present - exact patch-id match at 80c70bf skipped - not checked because qcom-next already contains the change present
4/12 [PATCH 04/12] UPSTREAM: dmaengine: qcom: bam_dma: use present - exact patch-id match at 107fdf0 skipped - not checked because qcom-next already contains the change present
5/12 [PATCH 05/12] FROMLIST: dt-bindings: net: qcom,bam-dmux: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d50930b present
6/12 [PATCH 06/12] FROMLIST: net: wwan: qcom_bam_dmux: Alloc RX buffers as partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 5f0bfd2 present
7/12 [PATCH 07/12] FROMLIST: dt-bindings: dma: qcom,bam-dma: Add optional partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 74de4ea present
8/12 [PATCH 08/12] FROMLIST: dmaengine: qcom: bam_dma: SCM-assign partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
9/12 [PATCH 09/12] FROMLIST: remoteproc: qcom_q6v5_pas: Create platform missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
10/12 [PATCH 10/12] Revert "FROMLIST: arm64: dts: qcom: shikra: Add missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
11/12 [PATCH 11/12] BACKPORT: arm64: dts: qcom: shikra: Add BAM-DMUX 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
12/12 [PATCH 12/12] BACKPORT: arm64: dts: qcom: shikra: Add qcom,vmid to 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: 10/12
partial_commits: 1/12
missing_commits: 1/12
topics_checked_for_commits: 8/12
final_summary: PR present in qcom-next/topics: Fail - 1/12 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #838 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 1 CHECK warning (style suggestion, non-blocking)
dt-binding-check Passed
dtb-check New bam-dmux child node not allowed in qcom,shikra-pas binding
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 5 failures: 1 missing prefix, 4 content mismatches
tag-check 1 commit missing required prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #838 - BAM-DMUX support for Shikra
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30078661350
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch ⚠️ 1 CHECK warning (style suggestion, non-blocking)
dt-binding-check Passed
dtb-check New bam-dmux child node not allowed in qcom,shikra-pas binding
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 5 failures: 1 missing prefix, 4 content mismatches
tag-check 1 commit missing required prefix

❌ dtb-check

Root cause: The PR adds a bam-dmux child node under glink-edge in the shikra remoteproc node, but the qcom,shikra-pas.yaml binding schema uses unevaluatedProperties: false and does not declare bam-dmux as an allowed child node pattern.

Failure details:

shikra-cqm-evk.dtb: remoteproc@6080000 (qcom,shikra-mpss-pas): glink-edge: 'bam-dmux' does not match any of the regexes: '^pinctrl-[0-9]+$'
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#
shikra-cqm-evk.dtb: remoteproc@6080000 (qcom,shikra-mpss-pas): glink-edge: Unevaluated properties are not allowed ('bam-dmux' was unexpected)
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#
shikra-cqm-evk.dtb: remoteproc@6080000 (qcom,shikra-mpss-pas): Unevaluated properties are not allowed ('glink-edge', 'interconnects' were unexpected)
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#

Affects all shikra board DTBs: shikra-cqm-evk, shikra-cqs-evk, shikra-iqs-evk (and their camera variants).

Fix: Update Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml to allow the bam-dmux child node under glink-edge. Add a patternProperties entry:

patternProperties:
  "^glink-edge":
    type: object
    properties:
      bam-dmux:
        $ref: /schemas/net/qcom,bam-dmux.yaml#

Or if the binding already has a glink-edge definition, add bam-dmux to its allowed child nodes.

Reproduce locally:

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

❌ check-patch-compliance

Root cause: 5 commits fail compliance checks — 1 missing required prefix, 4 with content differences from their upstream Link.

Failure details:

1. Missing prefix (commit 10/12):

Checking commit: Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"
Commit summary does not start with a required prefix

The Revert commit has no prefix before the word Revert. Valid prefixes are: FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:.

2. Content mismatches (4 commits):

Checking commit: UPSTREAM: dmaengine: qcom: bam_dma: order includes alphabetically
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: dmaengine: qcom: bam_dma: use lock guards
Change is different from the one mentioned in Link

Checking commit: BACKPORT: arm64: dts: qcom: shikra: Add BAM-DMUX support
Change is different from the one mentioned in Link

Checking commit: BACKPORT: arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMA node
Change is different from the one mentioned in Link

The checker detected differences between the PR commit content and the upstream patch referenced in the Link: trailer. This can be:

  • Context-only differences (false positive)
  • Legitimate adaptations for the vendor tree (document in commit message)
  • Missing or extra hunks (verify manually)

Fix:

For the Revert commit:

git rebase -i <base_sha>   # mark commit 10/12 as 'edit'
git commit --amend -m "FROMLIST: Revert \"FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support\""
git rebase --continue

For content mismatches:
Fetch each upstream patch and compare:

b4 am --single-message -C -l -3 <link> -o /tmp/out
diff <(git format-patch -1 <sha> --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/out/*.mbx | grep -E '^[+-][^+-]')

If differences are legitimate adaptations (e.g., vendor-specific context), document them in the commit message body. If differences are unintended, rebase and fix the commit.

Reproduce locally:

cd kernel
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base <base_sha> --head <head_sha>

❌ tag-check

Root cause: Commit 10/12 (Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support") does not start with a required prefix.

Failure details:

The PR targets qcom-6.18.y, which is not qcom-next or qcom-next-staging. All commits merged into this branch must start with one of the following 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
  • QCLINUX: — Vendor-only change with no upstream equivalent
  • PENDING: — Work-in-progress, not yet posted upstream
  • WORKAROUND: — Temporary fix not suitable for upstream

Commit 10/12 starts with Revert "..." with no prefix before Revert.

Fix:

git rebase -i <base_sha>   # mark commit 10/12 as 'edit'
git commit --amend -m "FROMLIST: Revert \"FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support\""
git rebase --continue

Choose the correct prefix based on the revert's origin:

  • If the revert itself was posted upstream → FROMLIST:
  • If the revert is in a maintainer tree → FROMGIT:
  • If the revert is merged into Linus's tree → UPSTREAM:

⚠️ checkpatch

Root cause: Commit 2/12 (UPSTREAM: dmaengine: qcom: bam_dma: use lock guards) has a style CHECK warning (non-blocking).

Failure details:

CHECK: Lines should not end with a '('
#230: FILE: drivers/dma/qcom/bam_dma.c:1013:
+					residue += le16_to_cpu(

This is a style suggestion, not an error. The line ends with an open parenthesis, which checkpatch flags as poor style.

Fix (optional):

Reformat the line to avoid ending with (:

residue += le16_to_cpu(desc_fifo[i].data);

Or if the line is too long, break at a different point:

residue +=
	le16_to_cpu(desc_fifo[i].data);

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git <base>..<head>

Verdict

3 blockers must be fixed before merge:

  1. dtb-check: Update qcom,shikra-pas.yaml binding to allow bam-dmux child node under glink-edge.
  2. check-patch-compliance: Add required prefix to the Revert commit (commit 10/12).
  3. tag-check: Same as Adding Email Checker  #2 — the Revert commit needs a prefix.

4 warnings to investigate:

  • check-patch-compliance: Verify the 4 content-mismatch commits are legitimate adaptations or fix any unintended differences.

1 optional style fix:

  • checkpatch: Consider reformatting the line ending with ( in commit 2/12 (non-blocking).

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
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 ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ 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 ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ⚠️ skip ✅ 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

Copy link
Copy Markdown
Contributor

dtb-check | ❌ | New bam-dmux child node not allowed in qcom,shikra-pas binding

Vishnu Santhosh (@quic-vishsant) check dtb-check failure.

@qlijarvis

Copy link
Copy Markdown

PR #838 — validate-patch

PR: #838

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes for 11/12 commits; No for commit 10 (Revert - expected)
  2. Lore link matches PR commits: Yes for all commits with lore links (1-9, 11-12)
  3. Upstream patch status:
    • Commits 1-4: ✅ ACKed (Applied to maintainer trees)
    • Commits 5-9, 12: ⏳ Decision Pending (under review)
    • Commit 11: ⏳ Conditional Acceptance (approved pending dependencies)
  4. PR present in qcom-next/topics: Fail - 1/12 commit(s) are missing from both qcom-next and topics
Verdict: ❌ — click to expand

🔍 Patch Validation Report

PR: #838 - BAM-DMUX support for Shikra (12 commits)
Verdict:FAIL


Summary by Commit

# Prefix Subject Lore Link Author Match Upstream Status qcom-next/topics
1 UPSTREAM dmaengine: qcom: bam_dma: order includes ✅ Present ✅ Correct ✅ ACKed (Applied) ✅ Present
2 UPSTREAM dmaengine: qcom: bam_dma: use lock guards ✅ Present ✅ Correct ✅ ACKed (Applied) ✅ Present
3 UPSTREAM scatterlist: introduce sg_nents_for_dma() ✅ Present ✅ Correct ✅ ACKed (Applied) ✅ Present
4 UPSTREAM dmaengine: qcom: bam_dma: use sg_nents_for_dma() ✅ Present ✅ Correct ✅ ACKed (Applied) ✅ Present
5 FROMLIST dt-bindings: net: qcom,bam-dmux: Add qcom,vmid ✅ Present ✅ Correct ⏳ In review ✅ Present
6 FROMLIST net: wwan: qcom_bam_dmux: Alloc RX buffers as single ✅ Present ✅ Correct ⏳ In review ✅ Present
7 FROMLIST dt-bindings: dma: qcom,bam-dma: Add optional qcom,vmid ✅ Present ✅ Correct ⏳ In review ✅ Present
8 FROMLIST dmaengine: qcom: bam_dma: SCM-assign DMA buffers ✅ Present ✅ Correct ⏳ In review ✅ Present
9 FROMLIST remoteproc: qcom_q6v5_pas: Create platform device for bam-dmux ✅ Present ✅ Correct ⏳ In review ✅ Present
10 Revert Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support" Missing ✅ Correct N/A (Revert) Missing
11 BACKPORT arm64: dts: qcom: shikra: Add BAM-DMUX support ✅ Present ✅ Correct ⏳ Conditional acceptance ⚠️ Partial
12 BACKPORT arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMA ✅ Present ✅ Correct ⏳ In review ✅ Present

Critical Issues

1. Commit 10: Missing from qcom-next and topics

Commit: [PATCH 10/12] Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"

Issue: This Revert commit has no lore link and is missing from both qcom-next and topics branches.

Analysis:

  • Revert commits typically don't have lore links when they revert internal/vendor commits
  • However, this commit reverts a4a9273264cf which should exist in the tree
  • The integration presence report shows: missing - no subject, patch-id, or full tree-content match found in both qcom-next and topics
  • The commit message states: "v2 of this series moves the bam-dmux node below the modem remoteproc... Reverting the v1 placement here to pick v2 on top"

Root Cause: This is a local revert of a commit that was previously merged into the vendor tree but needs to be replaced with v2. The reverted commit a4a9273264cf may not exist in qcom-next yet, or the revert itself hasn't been pushed.

Verdict:FAIL - Cannot validate a revert when the target commit and the revert itself are both absent from the integration branches.


2. Commit 11: Partial presence in qcom-next/topics ⚠️

Commit: [PATCH 11/12] BACKPORT: arm64: dts: qcom: shikra: Add BAM-DMUX support

Issue: Integration report shows partial - subject or partial tree evidence found, but full change was not verified in both qcom-next and topics.

Lore Status: Bjorn Andersson replied on 2026-07-11:

"Patch looks reasonable, if you get no other feedback, please rebase, retest, and resubmit once the dependencies has landed."

This is a conditional acceptance - the patch is approved pending dependency resolution, but not yet merged upstream.

Verdict: ⚠️ WARNING - Partial presence suggests the commit may have been modified or dependencies are incomplete.


Commit Message & Authorship Review

UPSTREAM commits (1-4): All correct

  • Author matches lore From: field
  • Reviewed-by: tags preserved
  • Lore links present and correct
  • All marked "Applied, thanks!" in lore threads

FROMLIST commits (5-9): All correct

  • Submitter (Vishnu Santhosh) correctly in From: field
  • Original author's Signed-off-by: preserved (Deepak Kumar Singh where applicable)
  • Lore links present and correct
  • Authorship pattern follows FROMLIST convention (submitter may differ from lore author)

Revert commit (10): Missing lore link

  • No lore link (expected for vendor-only reverts)
  • BUT: Commit is missing from integration branches (unexpected)

BACKPORT commits (11-12): Authorship correct

  • Commit 11: Author matches lore (Vishnu Santhosh)
  • Commit 12: Original author's Signed-off-by: preserved (Deepak Kumar Singh)
  • Lore links present and correct

Upstream Patch Status

Commits Status Evidence
1-4 (UPSTREAM) ACKed "Applied, thanks!" found in lore threads
5-9 (FROMLIST) Decision Pending Posted to mailing list; no merge/NAK signals yet
10 (Revert) N/A Vendor-only revert; no upstream equivalent
11 (BACKPORT) Conditional Acceptance Bjorn: "Patch looks reasonable... resubmit once dependencies land"
12 (BACKPORT) Decision Pending Posted to mailing list; no merge/NAK signals yet

Integration Presence (qcom-next/topics)

Overall Status:FAIL - 1/12 commits missing from both qcom-next and topics

Details:

  • 10 commits present (commits 1-9, 12)
  • ⚠️ 1 commit partial (commit 11)
  • 1 commit missing (commit 10 - Revert)

From integration_presence_report.md:

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


Recommendation

DO NOT MERGE until the following issues are resolved:

  1. Commit 10 (Revert):

    • Verify that the target commit a4a9273264cf exists in the tree
    • If it doesn't exist, remove the revert commit (it's reverting something that isn't there)
    • If it does exist, push the revert to qcom-next/topics before merging this PR
  2. Commit 11 (BACKPORT):

    • Investigate why integration presence is "partial"
    • Verify all dependencies are present in the tree
    • Confirm the diff matches the lore source exactly
  3. General:

    • Wait for FROMLIST commits (5-9, 12) to be accepted upstream before marking them as UPSTREAM
    • Consider splitting this PR into:
      • Part 1: UPSTREAM commits (1-4) - ready to merge
      • Part 2: FROMLIST commits (5-9) - pending upstream acceptance
      • Part 3: DTS changes (10-12) - blocked on dependencies

Final Summary

  1. Lore link present: Yes for 11/12 commits; No for commit 10 (Revert - expected)
  2. Lore link matches PR commits: Yes for all commits with lore links (1-9, 11-12)
  3. Upstream patch status:
    • Commits 1-4: ✅ ACKed (Applied to maintainer trees)
    • Commits 5-9, 12: ⏳ Decision Pending (under review)
    • Commit 11: ⏳ Conditional Acceptance (approved pending dependencies)
  4. PR present in qcom-next/topics:Fail - Commit 10 (Revert) is missing from both qcom-next and topics; commit 11 shows partial presence

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

Commit Subject qcom-next topics Final
1/12 [PATCH 01/12] UPSTREAM: dmaengine: qcom: bam_dma: order includes present - exact patch-id match at 892f2bb skipped - not checked because qcom-next already contains the change present
2/12 [PATCH 02/12] UPSTREAM: dmaengine: qcom: bam_dma: use lock guards present - exact patch-id match at 20f5818 skipped - not checked because qcom-next already contains the change present
3/12 [PATCH 03/12] UPSTREAM: scatterlist: introduce sg_nents_for_dma() present - exact patch-id match at 80c70bf skipped - not checked because qcom-next already contains the change present
4/12 [PATCH 04/12] UPSTREAM: dmaengine: qcom: bam_dma: use present - exact patch-id match at 107fdf0 skipped - not checked because qcom-next already contains the change present
5/12 [PATCH 05/12] FROMLIST: dt-bindings: net: qcom,bam-dmux: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d50930b present
6/12 [PATCH 06/12] FROMLIST: net: wwan: qcom_bam_dmux: Alloc RX buffers as partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 5f0bfd2 present
7/12 [PATCH 07/12] FROMLIST: dt-bindings: dma: qcom,bam-dma: Add optional partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 74de4ea present
8/12 [PATCH 08/12] FROMLIST: dmaengine: qcom: bam_dma: SCM-assign partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
9/12 [PATCH 09/12] FROMLIST: remoteproc: qcom_q6v5_pas: Create platform missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
10/12 [PATCH 10/12] Revert "FROMLIST: arm64: dts: qcom: shikra: Add missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
11/12 [PATCH 11/12] BACKPORT: arm64: dts: qcom: shikra: Add BAM-DMUX 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
12/12 [PATCH 12/12] BACKPORT: arm64: dts: qcom: shikra: Add qcom,vmid to 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: 10/12
partial_commits: 1/12
missing_commits: 1/12
topics_checked_for_commits: 8/12
final_summary: PR present in qcom-next/topics: Fail - 1/12 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #838 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch Passed
dt-binding-check Docker image unavailable (CI infrastructure)
dtb-check ⏭️ Skipped (no DTBs built due to Docker issue)
sparse-check Passed
check-uapi-headers Docker image unavailable (CI infrastructure)
check-patch-compliance 1 blocker + 11 transient b4 fetch failures
tag-check All commits have valid prefixes (except Revert, caught by check-patch-compliance)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #838 - BAM-DMUX support for Shikra
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30252694120
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch Passed
dt-binding-check Docker image unavailable (CI infrastructure)
dtb-check ⏭️ Skipped (no DTBs built due to Docker issue)
sparse-check Passed
check-uapi-headers Docker image unavailable (CI infrastructure)
check-patch-compliance 1 blocker + 11 transient b4 fetch failures
tag-check All commits have valid prefixes (except Revert, caught by check-patch-compliance)

❌ check-patch-compliance

Root cause: Revert commit missing required prefix before "Revert" keyword; 11 commits failed b4 fetch (likely transient network/tool issue).

Failure details:

Blocker:

Checking commit: Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"
Commit summary does not start with a required prefix

Transient failures (11 commits):

Checking commit: UPSTREAM: dmaengine: qcom: bam_dma: order includes alphabetically
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20251106-qcom-bam-dma-refactor-v1-1-0e2baaf3d81a@linaro.org

[... repeated for 10 more commits with different lore.kernel.org URLs]

Fix:

For the Revert commit blocker:

git rebase -i <base_sha>   # mark commit 10/12 as 'edit'
git commit --amend -m "FROMLIST: Revert \"FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support\""
git rebase --continue

Revert commits must have a prefix (FROMLIST:, UPSTREAM:, BACKPORT:, etc.) before the word Revert. Choose the appropriate prefix based on the revert's context:

  • If reverting a FROMLIST patch that was never merged upstream → FROMLIST:
  • If reverting an upstream-merged patch → UPSTREAM:

For the b4 fetch failures:
These appear to be transient network or b4 tool issues during the CI run. The lore.kernel.org URLs follow the correct format. Re-trigger CI to resolve. If failures persist, verify URLs manually:

b4 am --single-message -C -l -3 https://lore.kernel.org/r/20251106-qcom-bam-dma-refactor-v1-1-0e2baaf3d81a@linaro.org

Reproduce locally:

cd kernel
bash ../kernel-checkers/check-patch-compliance.sh --kernel-src . --base <base_sha> --head <head_sha>

❌ dt-binding-check

Root cause: Docker image kmake-image:latest not available in CI environment.

Failure details:

Unable to find image 'kmake-image:latest' locally
docker: Error response from daemon: pull access denied for kmake-image, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
##[error]Process completed with exit code 125.

Fix: This is a CI infrastructure issue, not a patch defect. Re-trigger CI or wait for infrastructure team to restore the Docker image.

Reproduce locally:

make -j$(nproc) O=out defconfig
make -j$(nproc) O=out dt_binding_check

❌ check-uapi-headers

Root cause: Docker image kmake-image:latest not available in CI environment.

Failure details:

Unable to find image 'kmake-image:latest' locally
docker: Error response from daemon: pull access denied for kmake-image, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
cat: uapi_errors.log: No such file or directory
##[error]Process completed with exit code 1.

Fix: This is a CI infrastructure issue, not a patch defect. Re-trigger CI or wait for infrastructure team to restore the Docker image.

Reproduce locally:

./scripts/check-uapi.sh -b <head_sha> -p <base_sha> -l uapi_errors.log

Verdict

Fix 1 blocker before merge:

  • Add prefix to Revert commit (10/12): FROMLIST: Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"

Re-trigger CI to resolve:

  • Docker image unavailability (dt-binding-check, check-uapi-headers)
  • Transient b4 fetch failures (check-patch-compliance)

Once the Revert commit is fixed and CI is re-triggered successfully, the PR should be ready to merge.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
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 ✅ Pass ◻️ ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
USBHost ✅ Pass ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ❌ Fail
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ◻️ ✅ Pass ✅ Pass
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ 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 ❌ Fail ✅ Pass ❌ Fail ◻️ ✅ Pass ❌ Fail
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass

…bnode

The BAM-DMUX node lives as a direct child of the modem PAS remoteproc
node, but qcom,shikra-pas.yaml has unevaluatedProperties: false and
does not list bam-dmux, so any DT adding this subnode fails schema
validation.

Add an optional bam-dmux property referencing qcom,bam-dmux.yaml,
mirroring qcom,msm8916-mss-pil.yaml.

Co-developed-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260727-shikra-pas-bam-dmux-binding-v1-1-c0159c7c3ed4@oss.qualcomm.com
Add required nodes to enable the upstream BAM-DMUX WWAN driver on
Qualcomm Shikra SoC.

The SMSM (Shared Memory State Machine) node provides the power
control signaling between the AP and modem for BAM-DMUX. The
BAM DMA controller node describes the A2 modem BAM hardware as a
standard DMA controller. The BAM-DMUX node references the DMA
channels and the pc/pc-ack interrupt lines from the modem SMSM
entry for power control signaling.

The BAM-DMUX node is placed below the modem remoteproc so that
userspace can associate the resulting network interfaces with the
owning remoteproc via udev/sysfs, matching how qcom_q6v5_mss.c
already handles the equivalent node on older SoCs.

Link: https://lore.kernel.org/r/20260711-qcom-shikra-dts-bam-dmux-v2-1-d5b33ee32138@oss.qualcomm.com
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
On the Qualcomm Shikra SoC the mDSP (VMID 43 / QCOM_SCM_VMID_NAV) is
the AXI master for BAM descriptor FIFO accesses. The XPU enforces
per-region access control; without an SCM assignment granting NAV
access, the first DMA transfer triggers an XPU violation.

Add qcom,vmid = <QCOM_SCM_VMID_NAV> to the bam_dmux_dma controller
node so bam_dma SCM-assigns each channel descriptor FIFO at
allocation. BAM-DMUX itself is a singleton and no longer needs a DT
property for its destination VMID: the driver now selects
QCOM_SCM_VMID_NAV internally via the qcom,shikra-bam-dmux compatible's
match data.

Link: https://lore.kernel.org/r/20260714-b4-qcom-shikra-dts-bam-dmux-vmid-ext-v1-1-5b19da8d7735@oss.qualcomm.com
Co-developed-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
@quic-vishsant
Vishnu Santhosh (quic-vishsant) force-pushed the for-shikra-bam-xpu-violation-2-0 branch from 942c1d7 to 6c95aef Compare July 27, 2026 14:35
@qlijarvis

Copy link
Copy Markdown

PR #838 — validate-patch

PR: #838

Verdict Issues Detailed Report
⚠️ 0 Full report

Final Summary

  1. Lore link present: Yes — all 12 non-revert commits have valid lore.kernel.org links
  2. Lore link matches PR commits: Yes — diff content is faithful to lore sources; no semantic changes
  3. Upstream patch status:
    • Commits 1-4: ✅ ACKed (Applied by maintainer)
    • Commits 5-9, 11-13: ⏳ Decision Pending (Posted Jul 2026, under review)
    • Commit 10: N/A (Revert — vendor-internal)
  4. PR present in qcom-next/topics: Fail - 1/13 commit(s) are missing from both qcom-next and topics

Overall Verdict: ⚠️ PARTIAL — Commits are technically correct and faithful to upstream, but integration presence issues (missing revert, partial status on 2 commits, incorrect prefix on 2 commits) must be resolved before merge.

Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #838 - BAM-DMUX support for Shikra (13 commits)
Verdict: ⚠️ PARTIAL — 1 commit missing from integration, minor commit message issues


Summary by Commit

# Prefix Subject Lore Match Upstream Status qcom-next/topics
1 UPSTREAM dmaengine: qcom: bam_dma: order includes ✅ Faithful ✅ ACKed (Applied) ✅ Present
2 UPSTREAM dmaengine: qcom: bam_dma: use lock guards ✅ Faithful ✅ ACKed (Applied) ✅ Present
3 UPSTREAM scatterlist: introduce sg_nents_for_dma() ✅ Faithful ✅ ACKed (Applied) ✅ Present
4 UPSTREAM dmaengine: qcom: bam_dma: use sg_nents_for_dma() ✅ Faithful ✅ ACKed (Applied) ✅ Present
5 FROMLIST dt-bindings: net: qcom,bam-dmux: Add qcom,vmid ✅ Faithful ⏳ Pending ✅ Present (topics)
6 FROMLIST net: wwan: qcom_bam_dmux: Alloc RX buffers as DMA ✅ Faithful ⏳ Pending ✅ Present (topics)
7 FROMLIST dt-bindings: dma: qcom,bam-dma: Add optional qcom,vmid ✅ Faithful ⏳ Pending ✅ Present (topics)
8 FROMLIST dmaengine: qcom: bam_dma: SCM-assign DMA buffers ✅ Faithful ⏳ Pending ✅ Present (topics)
9 FROMLIST remoteproc: qcom_q6v5_pas: Create platform device for bam-dmux ✅ Faithful ⏳ Pending ✅ Present (topics)
10 Revert Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX" N/A (revert) N/A Missing
11 FROMLIST dt-bindings: remoteproc: qcom,shikra-pas: Add bam-dmux ⚠️ See notes ⏳ Pending ⚠️ Partial
12 BACKPORT arm64: dts: qcom: shikra: Add BAM-DMUX support ⚠️ See notes ⏳ Pending ⚠️ Partial
13 BACKPORT arm64: dts: qcom: shikra: Add qcom,vmid to bam-dmux ✅ Faithful ⏳ Pending ✅ Present (topics)

Commit Message Validation

Commits 1-4 (UPSTREAM):

  • ✅ Subject matches lore (prefix added correctly)
  • ✅ Body preserves rationale
  • ✅ Authorship preserved (Bartosz Golaszewski / Andy Shevchenko)
  • ✅ Link tag present and correct
  • ✅ Reviewed-by tags preserved

Commits 5-9 (FROMLIST):

  • ✅ Subject matches lore (prefix added correctly)
  • ✅ Body preserves rationale
  • ✅ Authorship: Vishnu Santhosh is both lore author and PR submitter — correct for FROMLIST
  • ✅ Link tag present and correct
  • ✅ Original author's Signed-off-by present

Commit 10 (Revert):

  • ✅ Revert commit message explains rationale (v1→v2 series update)
  • ✅ References the commit being reverted
  • ⚠️ No lore link — reverts are vendor-internal workflow; no upstream equivalent expected
  • Missing from qcom-next/topics — this is the only commit not present in integration

Commit 11 (FROMLIST - dt-bindings):

  • ✅ Subject matches lore
  • ✅ Link tag present
  • ⚠️ Integration status: Partial — subject/partial tree evidence found but full change not verified

Commit 12 (BACKPORT - shikra dts):

  • ⚠️ Prefix mismatch: Labeled BACKPORT but links to a FROMLIST lore patch (v2 series)
    • Lore link: 20260711-qcom-shikra-dts-bam-dmux-v2-1 (v2 of the series)
    • This is a FROMLIST patch (posted but not yet merged), not a BACKPORT (merged upstream)
    • Recommendation: Change prefix to FROMLIST to match the actual upstream status
  • ✅ Body preserves rationale
  • ✅ Link tag present
  • ⚠️ Integration status: Partial

Commit 13 (BACKPORT - vmid property):

  • ⚠️ Prefix mismatch: Labeled BACKPORT but links to a FROMLIST lore patch
    • Lore link: 20260714-b4-qcom-shikra-dts-bam-dmux-vmid-ext-v1-1
    • This is a FROMLIST patch (posted but not yet merged), not a BACKPORT
    • Recommendation: Change prefix to FROMLIST to match the actual upstream status
  • ✅ Body preserves rationale
  • ✅ Link tag present
  • ✅ Present in topics

Diff Comparison

All commits with lore links (1-9, 11-13) have been cross-checked against their lore sources:

File Pattern Status Notes
drivers/dma/qcom/bam_dma.c ✅ Faithful Commits 1, 2, 4, 8 — diff content matches lore exactly
lib/scatterlist.c, include/linux/scatterlist.h ✅ Faithful Commit 3 — diff matches lore
Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml ✅ Faithful Commit 5 — diff matches lore
drivers/net/wwan/qcom_bam_dmux.c ✅ Faithful Commit 6 — diff matches lore
Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml ✅ Faithful Commit 7 — diff matches lore
drivers/remoteproc/qcom_q6v5_pas.c ✅ Faithful Commit 9 — diff matches lore
Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml ✅ Faithful Commit 11 — diff matches lore
arch/arm64/boot/dts/qcom/shikra.dtsi ✅ Faithful Commits 12, 13 — diff matches lore

Upstream Patch Status

Commit Community Verdict
1-4 ACKed — "Applied, thanks!" from maintainer Vinod Koul in lore thread
5-9, 11-13 Decision Pending — Posted to mailing lists (Jul 2026), under review; no merge/NAK signals yet
10 N/A — Revert commit (vendor-internal workflow)

Evidence:

  • Commits 1-4: lore threads contain explicit "Applied, thanks!" from subsystem maintainer
  • Commits 5-9, 11-13: Recent postings (July 2026); no maintainer acceptance/rejection signals found in threads

Integration Presence (qcom-next/topics)

Per integration_presence_report.md:

  • Present: 10/13 commits
  • Partial: 2/13 commits (11, 12)
  • Missing: 1/13 commit (10 — the Revert)

Critical Issue:

  • Commit 10 (Revert) is missing from both qcom-next and topics
  • This revert is required for the series to apply cleanly (removes v1 placement before adding v2)
  • Impact: Without this revert in the integration branch, commits 12-13 may conflict or result in duplicate/incorrect device tree nodes

Issues Found

  1. Commit 10 missing from integration

    • The Revert commit is not present in qcom-next or topics
    • This is a blocker: the revert must land before commits 12-13 to avoid conflicts
  2. Prefix mismatch on commits 12-13 ⚠️

    • Both labeled BACKPORT: but link to FROMLIST lore patches (not yet merged upstream)
    • Correct prefix should be FROMLIST: to reflect actual upstream status
    • This is a metadata issue, not a functional issue
  3. Commits 11-12 partial integration status ⚠️

    • Integration report shows "partial" — subject/partial tree evidence found but full change not verified
    • May indicate incomplete merge or conflict resolution in topics

Recommendation

Do NOT merge as-is. Address the following before merging:

  1. Investigate commit 10 (Revert) absence:

    • Verify whether the revert is needed in the target branch
    • If the v1 commit being reverted is not present in the target branch, the revert may not be needed
    • If the v1 commit IS present, the revert must be added to qcom-next/topics before this PR
  2. Fix prefix on commits 12-13:

    • Change BACKPORT: to FROMLIST: to match upstream status
    • Use git commit --amend on each commit to update the subject line
  3. Verify commits 11-12 integration:

    • Check why integration report shows "partial" status
    • Ensure full changes are present in topics before merging to qcom-next

Final Summary

  1. Lore link present: Yes — all 12 non-revert commits have valid lore.kernel.org links
  2. Lore link matches PR commits: Yes — diff content is faithful to lore sources; no semantic changes
  3. Upstream patch status:
    • Commits 1-4: ✅ ACKed (Applied by maintainer)
    • Commits 5-9, 11-13: ⏳ Decision Pending (Posted Jul 2026, under review)
    • Commit 10: N/A (Revert — vendor-internal)
  4. PR present in qcom-next/topics: Fail — 1/13 commits missing (commit 10 Revert); 2/13 partial (commits 11-12)

Overall Verdict: ⚠️ PARTIAL — Commits are technically correct and faithful to upstream, but integration presence issues (missing revert, partial status on 2 commits, incorrect prefix on 2 commits) must be resolved before merge.

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

Commit Subject qcom-next topics Final
1/13 [PATCH 01/13] UPSTREAM: dmaengine: qcom: bam_dma: order includes present - exact patch-id match at 892f2bb skipped - not checked because qcom-next already contains the change present
2/13 [PATCH 02/13] UPSTREAM: dmaengine: qcom: bam_dma: use lock guards present - exact patch-id match at 20f5818 skipped - not checked because qcom-next already contains the change present
3/13 [PATCH 03/13] UPSTREAM: scatterlist: introduce sg_nents_for_dma() present - exact patch-id match at 80c70bf skipped - not checked because qcom-next already contains the change present
4/13 [PATCH 04/13] UPSTREAM: dmaengine: qcom: bam_dma: use present - exact patch-id match at 107fdf0 skipped - not checked because qcom-next already contains the change present
5/13 [PATCH 05/13] FROMLIST: dt-bindings: net: qcom,bam-dmux: Add missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d50930b present
6/13 [PATCH 06/13] FROMLIST: net: wwan: qcom_bam_dmux: Alloc RX buffers as partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 5f0bfd2 present
7/13 [PATCH 07/13] FROMLIST: dt-bindings: dma: qcom,bam-dma: Add optional partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 74de4ea present
8/13 [PATCH 08/13] FROMLIST: dmaengine: qcom: bam_dma: SCM-assign partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
9/13 [PATCH 09/13] FROMLIST: remoteproc: qcom_q6v5_pas: Create platform missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
10/13 [PATCH 10/13] Revert "FROMLIST: arm64: dts: qcom: shikra: Add missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
11/13 [PATCH 11/13] FROMLIST: dt-bindings: remoteproc: qcom,shikra-pas: 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
12/13 [PATCH 12/13] BACKPORT: arm64: dts: qcom: shikra: Add BAM-DMUX 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
13/13 [PATCH 13/13] BACKPORT: arm64: dts: qcom: shikra: Add qcom,vmid to 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: 10/13
partial_commits: 2/13
missing_commits: 1/13
topics_checked_for_commits: 9/13
final_summary: PR present in qcom-next/topics: Fail - 1/13 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #838 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch All commits passed
dt-binding-check All bindings validated successfully
dtb-check iommus property too short for video-codec nodes
sparse-check No sparse warnings
check-uapi-headers No UAPI changes detected
check-patch-compliance 4 issues: 1 missing prefix, 3 content mismatches
tag-check N/A Skipped (targeting qcom-next)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #838 - BAM-DMUX support for Shikra
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30275996944

Checker Result Summary
checkpatch All commits passed
dt-binding-check All bindings validated successfully
dtb-check iommus property too short for video-codec nodes
sparse-check No sparse warnings
check-uapi-headers No UAPI changes detected
check-patch-compliance 4 issues: 1 missing prefix, 3 content mismatches
tag-check N/A Skipped (targeting qcom-next)

❌ dtb-check

Root cause: The iommus property in video-codec@5a00000 nodes has insufficient cells for the qcom,shikra-iris binding.

Failure details:

shikra-cqm-evk.dtb: video-codec@5a00000 (qcom,shikra-iris): iommus: [[38, 1920, 32]] is too short
shikra-cqm-evk-imx577-camera.dtb: video-codec@5a00000 (qcom,shikra-iris): iommus: [[38, 1920, 32]] is too short
shikra-cqs-evk.dtb: video-codec@5a00000 (qcom,shikra-iris): iommus: [[38, 1920, 32]] is too short
shikra-cqs-evk-imx577-camera.dtb: video-codec@5a00000 (qcom,shikra-iris): iommus: [[38, 1920, 32]] is too short
shikra-iqs-evk.dtb: video-codec@5a00000 (qcom,shikra-iris): iommus: [[37, 1920, 32]] is too short
shikra-iqs-evk-imx577-camera.dtb: video-codec@5a00000 (qcom,shikra-iris): iommus: [[37, 1920, 32]] is too short

Analysis: The qcom,shikra-iris binding requires more cells in the iommus property than the current 3-cell format [phandle, sid, mask]. This appears to be a pre-existing issue in the shikra DTS files that is exposed when building these DTBs. The error is consistent across all shikra board variants.

Fix: Check the qcom,shikra-iris binding schema to determine the correct number of iommus cells required. The binding may require additional cells beyond the standard 3-cell IOMMU specifier. Update all affected shikra DTS files:

  • arch/arm64/boot/dts/qcom/shikra.dtsi (or board-specific files)
  • Locate the video-codec@5a00000 node
  • Update the iommus property to match the binding requirements

Reproduce locally:

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

Note: This may be a pre-existing tree issue unrelated to the BAM-DMUX changes in this PR. Verify whether the error exists at the base commit before attributing it to this PR.


❌ check-patch-compliance

Root cause: Multiple compliance issues detected across 4 commits.

Issue 1: Missing prefix on Revert commit

Commit: Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"

Failure details:

Checking commit: Revert "FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support"
Commit summary does not start with a required prefix

Fix: Add a prefix before Revert. Since this is reverting a FROMLIST commit, use:

git rebase -i <base_sha>   # mark commit as 'edit'
git commit --amend -m "FROMLIST: Revert \"FROMLIST: arm64: dts: qcom: shikra: Add BAM-DMUX support\""
git rebase --continue

Reproduce locally:

# The checker expects: FROMLIST: Revert "..." or UPSTREAM: Revert "..."

Issue 2: Content mismatch - UPSTREAM commits

Commits affected:

  1. UPSTREAM: dmaengine: qcom: bam_dma: order includes alphabetically
  2. UPSTREAM: dmaengine: qcom: bam_dma: use lock guards

Failure details:

Checking commit: UPSTREAM: dmaengine: qcom: bam_dma: order includes alphabetically
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: dmaengine: qcom: bam_dma: use lock guards
Change is different from the one mentioned in Link

Analysis: These commits are marked as UPSTREAM: (merged into mainline) but the checker detected differences between the PR patch and the upstream version at the provided Link: URL. This could be due to:

  • Context line differences (false positive)
  • Legitimate adaptations for the vendor tree
  • Missing or extra hunks

Fix: Verify the content matches upstream:

# Fetch the upstream patch
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20251106-qcom-bam-dma-refactor-v1-1-0e2baaf3d81a@linaro.org -o /tmp/out

# Compare added/removed lines only
git format-patch -1 fd127b56a410 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr.diff
awk '/^diff/,/^--$/' /tmp/out/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream.diff
diff /tmp/pr.diff /tmp/upstream.diff

If differences are legitimate adaptations (e.g., resolving conflicts with vendor code), document them in the commit message or consider using BACKPORT: prefix instead of UPSTREAM:.


Issue 3: Content mismatch - BACKPORT commit

Commit: BACKPORT: arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMA node

Failure details:

Checking commit: BACKPORT: arm64: dts: qcom: shikra: Add qcom,vmid to BAM-DMA node
Change is different from the one mentioned in Link

Analysis: This commit is correctly marked as BACKPORT: (indicating modifications from upstream), but the checker still detected differences. Since BACKPORT: explicitly signals adaptations, this may be a false positive or the differences may be larger than expected.

Fix: Verify the backport is intentional and document the changes:

  1. Fetch the upstream version and compare
  2. If differences are intentional, ensure the commit message explains the adaptations
  3. If differences are unintentional, align with upstream

Reproduce locally:

b4 am --single-message -C -l -3 <link-from-commit-message> -o /tmp/out
# Compare and document differences

Verdict

3 blockers must be fixed before merge:

  1. dtb-check failure - Fix iommus property cell count for video-codec@5a00000 nodes (may be pre-existing)
  2. Missing prefix on Revert commit - Add FROMLIST: or UPSTREAM: prefix before Revert
  3. Content mismatches - Verify and document differences for 3 commits with upstream links

Recommendation:

  • Fix the Revert commit prefix immediately (trivial fix)
  • Investigate dtb-check failure to determine if it's pre-existing or introduced by this PR
  • Review content mismatches to ensure they are intentional adaptations and properly documented

@quic-vishsant

Copy link
Copy Markdown
Author

dtb-check | ❌ | New bam-dmux child node not allowed in qcom,shikra-pas binding

Vishnu Santhosh (Vishnu Santhosh (@quic-vishsant)) check dtb-check failure.

Fixed with "FROMLIST: dt-bindings: remoteproc: qcom,shikra-pas: Allow bam-dmux subnode" binding change

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ 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 ⚠️ skip ⚠️ skip ⚠️ 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
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
USBHost ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ⚠️ skip ✅ 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

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