Skip to content

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

Open
Vishnu Santhosh (quic-vishsant) wants to merge 9 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 9 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

Bartosz Golaszewski and others added 9 commits July 17, 2026 09:59
For easier maintenance and better readability order all includes
alphabetically.

Link: https://patch.msgid.link/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>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
Simplify locking across the driver with lock guards from cleanup.h.

Link: https://patch.msgid.link/20251106-qcom-bam-dma-refactor-v1-2-0e2baaf3d81a@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
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://patch.msgid.link/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>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.com>
Instead of open coded variant let's use recently introduced helper.

Link: https://patch.msgid.link/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>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Vishnu Santhosh <vishnu.santhosh@oss.qualcomm.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>
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>
@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 d50930bced20fc075b02c87c0fee7481cbf502b3 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 5f0bfd25ce72edc317204f66f7ed79cab9263e4e 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 74de4eaa43b92d6f7a459c098b14a2bc9a3acaa9 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.

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.

3 participants