Thread (16 messages) 16 messages, 5 authors, 11d ago

Re: [PATCH net-next v2 0/2] net: wwan: qcom_bam_dmux: Add restricted DMA pool support

flat view

From: Stephan Gerhold <hidden>
Date: 2026-09-29 08:14:24
Also in: linux-arm-msm, linux-devicetree, lkml

On Mon, Sep 28, 2026 at 04:02:47PM +0530, Vishnu Santhosh wrote:
On 20-09-2026 08:32 am, Vishnu Santhosh wrote:
quoted
Some Qualcomm SoCs, such as Shikra, run the modem in a separate security
domain with restricted access to system memory. BAM-DMUX DMA mappings
and BAM descriptor FIFOs must therefore be constrained to a designated
memory region that can be shared with the modem. Accesses outside that
region can trigger an XPU violation.

Add memory-region and qcom,vmid properties to the BAM-DMUX binding.
When qcom,vmid is present, the driver SCM-assigns the entire restricted
DMA pool to the local and remote execution environments before requesting
the DMA channels.

The restricted pool then contains the BAM-DMUX mappings. When the BAM DMA
controller references the same pool, its descriptor FIFOs are covered by
the assignment as well.

A related binding change allows the BAM DMA controller to use the same
restricted pool for descriptor FIFO allocations:

https://lore.kernel.org/all/20260920-qcom-bam-dma-vmid-ext-v2-1-4dbbff0e57c8@oss.qualcomm.com/ (local)
("dt-bindings: dma: qcom,bam-dma: Allow memory-region property")

Signed-off-by: Vishnu Santhosh <redacted>
---
Changes in v2:
- Replace the Shikra-specific compatible and coherent RX allocation with
   memory-region and qcom,vmid properties.
- Use a restricted DMA pool for BAM-DMUX mappings and BAM descriptor FIFOs.
- SCM-assign the complete pool before requesting the DMA channels.
- Validate the remote VMID and restricted DMA pool configuration.
- Link to v1: https://lore.kernel.org/r/20260714-qcom-bam-dmux-vmid-ext-v1-0-3f29da7cca76@oss.qualcomm.com (local)

---
Vishnu Santhosh (2):
       dt-bindings: net: qcom,bam-dmux: Add memory-region and qcom,vmid properties
       net: wwan: qcom_bam_dmux: Assign restricted DMA pool to remote processor

  .../devicetree/bindings/net/qcom,bam-dmux.yaml     | 38 +++++++++
  drivers/net/wwan/Kconfig                           |  1 +
  drivers/net/wwan/qcom_bam_dmux.c                   | 95 ++++++++++++++++++++++
  3 files changed, 134 insertions(+)
---
base-commit: 8830e65ed46de41f849eefb8ba227d4852c460f6
change-id: 20260714-qcom-bam-dmux-vmid-ext-d9289db310c1

Best regards,
Hi Stephan,

I followed your suggestion and updated v2 to use the restricted DMA pool.

Please let me know if this approach and the implementation look reasonable and
meets your expectations.
Thanks, the approach looks good to me. You received some comments from
others and Sashiko already, so I will make a more thorough review from
my side once you have addressed (or at least considered) them for v3.

Thanks,
Stephan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help