From: Vinod Koul <vkoul@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL]: Dmaengine subsytem updates for v7.4
Date: Wed, 28 Oct 2026 20:49:32 +0530 [thread overview]
Message-ID: <auIShJbyRMki5-bY@parshuram> (raw)
[-- Attachment #1: Type: text/plain, Size: 19687 bytes --]
Hey Linus,
Please consider pull to receive the updates for this cycle. This
consists of start of work for hiding dmaengine internals and adding new
APIs for dmaengine calls. Also couple of drivers and device and lot of
updates esp AI-assisted improvements to drivers.
The following changes since commit cee9395acd8043be0644b25c34bfa86623f2b935:
Linux 7.3-rc1 (2026-08-30 13:34:40 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git tags/dmaengine-7.4-rc1
for you to fetch changes up to aff5e6a77fc69a7c490246465940d18422d7c631:
dmaengine: amlogic: Fix regmap error check issue (2026-10-17 10:46:26 +0100)
----------------------------------------------------------------
dmaengine updates for v7.4
Core:
- Better document descriptor flags and clarify ordering rules around
cookie completion
- New APIs to start hiding dmaengine guts so that we can start making
them internal
New Support:
- Nord and Maili GPI DMAengine support
- DW axi dma updates and support for UltraRISC DP1000 controller
- Apple M3 generation ADMACs support
- Amlogic A9 SoC DMA controller driver
- Sun6i refactoring and support for Allwinner A733 DMA controller
Updates:
- Freescale device_prep_peripheral_dma_vec support and dynamic
scatter/gather chaining
- TI crossbar and cppi DT schema conversion
- zynqmp driver updates for error patch handling
- Link list handling improvements for DW edma driver
- ST dma40 improvements and corner case handling
----------------------------------------------------------------
Aniket Randive (1):
dmaengine: qcom: gpi: Fix resource leaks as part of channel clean up
Bartosz Golaszewski (2):
dt-bindings: dma: qcom,gpi: Document the Nord GPI DMA engine
dmaengine: qcom: bam_dma: free interrupt before the clock in error path
Benoît Monin (2):
dmaengine: fsl-edma: Implement device_prep_peripheral_dma_vec
dmaengine: fsl-edma: Support dynamic scatter/gather chaining
Bhargav Joshi (2):
dt-bindings: dma: ti,dma-crossbar: Convert to DT schema
dt-bindings: dma: ti,cppi41: Convert to DT schema
Binbin Zhou (1):
dmaengine: loongson: loongson2-apb-cmc: Fix signedness bug in irq handling
Bogdan Mahomet (1):
docs: dmaengine: document ownership of the descriptor flags field
Chaithanya Lagisetty (2):
dmaengine: dw-axi-dmac: convert clock handling to clk_bulk API
dmaengine: sprd: use clk_bulk API to fix clock imbalance
Devendra K Verma (2):
dmaengine: dw-edma: Enable Chan Separation via VSEC
dmaengine: dw-edma: Add changes to support Channel Separation
Diego Fernando Mancera Gomez (1):
dmaengine: loongson2-apb-cmc: fix descriptor leak in prep_slave_sg()
Frank Li (15):
dmaengine: dw-edma: Add dw_edma_core_ll_cur_idx() to get current LL entry index
dmaengine: dw-edma: Make DMA link list work as a circular buffer
dmaengine: dw-edma: Move callback result helper before LL helpers
dmaengine: vchan: add vchan_chan_name() to get channel device name
dmaengine: use dma_chan_name() helper to get per-channel device name
dmaengine: add (dmaengine|vchan)_chan_dev() helper
dmaengine: add union chan_dev for dma_chan::dev for clarity
dmaengine: add dmaengine_prep_dma_(pq|pq_val|interrupt|xor)() API
dmaengine: add dmaengine_is_*_aligned() helpers for DMA consumers
dmaengine: add dmaengine_get_copy_align() and related alignment getter helpers
dmaengine: add dmaengine_get_cap_mask() and dmaengine_has_cap() helpers
dmaengine: add dmaengine_get_max_xor() helper
dmaengine: add dmaengine_get_provider_device() API
dmaengine: add dmaengine_desc_set_callback() helper
dmaengine: move driver-private helpers out of include/linux/dmaengine.h
Golla Nagendra (8):
dmaengine: zynqmp_dma: Fix PM rollback on sw_desc_pool alloc failure
dmaengine: zynqmp_dma: Free sw_desc_pool on desc_pool_v alloc failure
dmaengine: zynqmp_dma: Fix chan probe/remove error handling
dmaengine: zynqmp_dma: Fix stale kerneldoc comments
dmaengine: zynqmp_dma: Fix minor whitespace
dmaengine: zynqmp_dma: Use of_dma_is_coherent for dma-coherent
dmaengine: zynqmp_dma: Reject zero-length memcpy transfers
dmaengine: zynqmp_dma: Remove unused define and duplicate IRQ bit
Hemanth Selam (1):
dmaengine: ppc4xx: fix typo "contoller" in comment
Hongling Zeng (3):
dmaengine: sun6i-dma: Fix use-after-free in error handling paths
dmaengine: at_hdmac: Fix use-after-free by proper tasklet cleanup
dmaengine: at_hdmac: Use stored IRQ in error path
Jia Wang (5):
dt-bindings: dma: snps,dw-axi-dmac: Add UltraRISC DP1000 compatible
dmaengine: dw-axi-dmac: Fix AXI burst length encoding
dmaengine: dw-axi-dmac: Fix LLI dump out-of-bounds access
dmaengine: dw-axi-dmac: Fix CH_CFG2 channel priority position
dmaengine: dw-axi-dmac: Use bitfield helpers for registers
Jyothi Kumar Seerapu (1):
dt-bindings: dma: qcom,gpi: Document GPI DMA engine for Maili
Koichiro Den (10):
dmaengine: dw-edma: Add dw_edma_core_ll_clear() to clear LL control-word
dmaengine: dw-edma: Factor out linked-list transfer start
dmaengine: dw-edma: Dispatch DONE interrupts by channel request
dmaengine: dw-edma: Centralize LL doorbell decisions
dmaengine: dw-edma: Prepare LL progress event handling
dmaengine: dw-edma: Prepare deferred IRQ reporting for LL events
dmaengine: dw-edma: Prepare LL kicks for event serialization
dmaengine: Allow drivers to assign static channel IDs
dmaengine: dw-edma: Configure remote interrupt routing
dmaengine: dw-edma: Account for the MSI vector offset
Linus Walleij (26):
dmaengine: ste_dma40: Fix physical cyclic capability
dmaengine: ste_dma40: Fix cyclic transfer residue
dmaengine: ste_dma40: Recover coalesced cyclic callbacks
dmaengine: ste_dma40: Fix failed start cleanup
dmaengine: ste_dma40: Fix probe runtime PM disable
dmaengine: ste_dma40: Check runtime PM in IRQ
dmaengine: ste_dma40: Handle runtime PM resume errors
dmaengine: ste_dma40: Return IRQ_NONE when no interrupt is pending
dmaengine: ste_dma40: Init hardware before registration
dmaengine: ste_dma40: Fix probe IRQ leak
dmaengine: ste_dma40: Fix DMA registration unwind
dmaengine: ste_dma40: Fix LCLA allocation order
dmaengine: ste_dma40: Fix probe LCLA free
dmaengine: ste_dma40: Put the LCPA SRAM node
dmaengine: ste_dma40: Fix memcpy channel parsing
dmaengine: ste_dma40: Validate disabled channel indexes
dmaengine: ste_dma40: Validate DMA specifier length
dmaengine: ste_dma40: Reject direction changes after allocation
dmaengine: ste_dma40: Fix logical channel bounds check
dmaengine: ste_dma40: Fix event group bounds
dmaengine: ste_dma40: Fix V4B event group mapping
dmaengine: ste_dma40: Validate fixed physical channel indexes
dmaengine: ste_dma40: Validate memcpy configuration
dt-bindings: dma: dma40: Restore disabled-channels
dmaengine: ste_dma40: Search all blocks for fixed logical channels
dmaengine: ste_dma40: Preserve the LCPA I/O address space
Logan Gunthorpe (10):
dmaengine: switchtec-dma: fix double-free in switchtec_dma_free_desc()
dmaengine: switchtec-dma: fix resource leak in alloc_chan_resources
dmaengine: switchtec-dma: fix channel leak on registration failure
dmaengine: switchtec-dma: make switchtec_dma_chans_release() void
dmaengine: switchtec-dma: fix chan_status_irq cleanup on create() error
dmaengine: switchtec-dma: disable channels before freeing on registration failure
dmaengine: switchtec-dma: fix use-after-free of swdma_dev in remove()
dmaengine: ioat: disable relaxed ordering before registering the device
dmaengine: ioat: use sysfs_emit() in per-channel sysfs show()
dmaengine: plx_dma: fix NULL pointer deref in plx_dma_isr()
Manuel Ebner (1):
docs: dmaengine: Fix bracket
Myeonghun Pak (1):
dmaengine: mediatek: hsdma: fix runtime PM leak on init failure
Pawel Zalewski (4):
dmaengine: dw: use designated initializers for acpi_device_id
dmaengine: loongson: use named initializers for acpi_device_id
dmaengine: qcom: use named initializers for acpi_device_id
dmaengine: xgene-dma: use named initializers for acpi_device_id
Rob Herring (Arm) (1):
dt-bindings: dma: Convert hisilicon,k3-dma-1.0 to DT schema
Roman Vivchar (1):
dt-bindings: dma: mediatek,uart-dma: add mt6572
Rosen Penev (20):
dmaengine: txx9dmac: use devm_platform_ioremap_resource()
dmaengine: fsl_raid: don't invoke client callback under desc_lock
dmaengine: fsl_raid: avoid free_q underflow in free_chan_resources
dmaengine: at_hdmac: fix sparse '__iomem' cast warning in memset helpers
dmaengine: bestcomm: set bcom_eng to NULL on probe failure
dmaengine: bestcomm: gen_bd: split struct bcom_psc_params from array definition
dmaengine: fsl_raid: zero CF descriptor pool allocations
dmaengine: at_hdmac: use devm_clk_get_enabled()
dmaengine: bestcomm: ata: drop unused local variable 'inc'
dmaengine: mv_xor: return descriptor to free pool on io_win failure
dmaengine: mv_xor: kill tasklet on channel add error path
dmaengine: fsl_raid: byte-swap cdb32 when programming CDBs
dmaengine: fsldma: fix kernel-doc param names to match function signatures
dmaengine: fsldma: kill tasklet before removing channel
dmaengine: fsldma: convert to platform_get_irq_optional()
dmaengine: bestcomm: make gen_bd init helpers static
dmaengine: bestcomm: gen_bd: fix out-of-bounds access in PSC parameter lookup
dmaengine: bestcomm: use devm_platform_get_and_ioremap_resource() to simplify code
dmaengine: ppc4xx: change to %zu format specifiers for size_t arguments
dmaengine: bestcomm: Enable compile testing
Runyu Xiao (1):
dmaengine: altera-msgdma: initialize state before requesting IRQ
Ruoyu Wang (1):
dmaengine: img-mdc: Fix runtime PM usage counter leak
Sasha Finkelstein (2):
dt-bindings: dma: apple,admac: Add M3 generation ADMACs
dmaengine: apple-admac: Add M3 generation ADMACs
Slavin Liu (1):
dmaengine: fsl-edma: check channel acquisition before use
Srinivas Neeli (2):
dmaengine: xilinx_dma: Fix MCDMA descriptor fields based on DMA direction
dmaengine: xilinx_dma: Move descriptors to done list based on completion bit
Suraj Gupta (1):
dmaengine: xilinx_dma: Extend metadata handling for AXI DMA and MCDMA
Tommaso Merciai (1):
dmaengine: sh: rz-dmac: Fix off-by-one in residue lmdesc lookup
Vinod Koul (2):
dmaengine: zynqmp_dma: drop redundant label
docs: dmaengine: clarify ordering rules around cookie completion
Vishnu Santhosh (1):
dmaengine: qcom: bam_dma: Defer IRQ trigger type to device tree
Vladimir Zapolskiy (3):
dmaengine: pl08x: Create debugfs stats file under device folder
dmaengine: pl330: Move device specific debugfs file to its directory
dmaengine: imx-sdma: Remove unused imx_dma_is_ipu() inline function
Wolfram Sang (4):
dmaengine: sh: rcar-dmac: fix style in struct initialization
dmaengine: sh: rcar-dmac: SMMU doesn't need IPMMU workaround
dt-bindings: renesas,rcar-dmac: Add support for R-Car X5H SoC
dmaengine: sh: rcar-dmac: Add support for R-Car Gen5 SoCs
Xianwei Zhao (4):
dt-bindings: dma: Add Amlogic A9 SoC DMA
dmaengine: amlogic: Add general DMA driver for A9
MAINTAINERS: Add an entry for Amlogic DMA driver
dmaengine: amlogic: Fix regmap error check issue
Yuanshen Cao (5):
dmaengine: sun6i-dma: Refactor to support A733 interrupt and register handling
dmaengine: sun6i-dma: Support variable address widths using masks
dmaengine: sun6i-dma: Add num_channels_per_reg for flexible interrupt mapping
dt-bindings: dmaengine: sun50i-a64-dma: Add allwinner,sun60i-a733-dma compatible string
dmaengine: sun6i-dma: Implement support for Allwinner A733 DMA controller
.../bindings/dma/allwinner,sun50i-a64-dma.yaml | 2 +
.../devicetree/bindings/dma/amlogic,a9-dma.yaml | 68 ++
.../devicetree/bindings/dma/apple,admac.yaml | 10 +-
.../bindings/dma/hisilicon,k3-dma-1.0.yaml | 87 +++
Documentation/devicetree/bindings/dma/k3dma.txt | 47 --
.../devicetree/bindings/dma/mediatek,uart-dma.yaml | 1 +
.../devicetree/bindings/dma/qcom,gpi.yaml | 2 +
.../devicetree/bindings/dma/renesas,rcar-dmac.yaml | 6 +
.../devicetree/bindings/dma/snps,dw-axi-dmac.yaml | 22 +
.../devicetree/bindings/dma/stericsson,dma40.yaml | 14 +
.../bindings/dma/ti,dra7-dma-crossbar.yaml | 94 +++
.../devicetree/bindings/dma/ti-dma-crossbar.txt | 68 --
.../devicetree/bindings/dma/ti/ti,cppi41.yaml | 109 +++
.../devicetree/bindings/usb/am33xx-usb.txt | 14 -
.../devicetree/bindings/usb/da8xx-usb.txt | 12 -
Documentation/driver-api/dmaengine/provider.rst | 15 +-
MAINTAINERS | 9 +-
drivers/dma/Kconfig | 10 +
drivers/dma/Makefile | 1 +
drivers/dma/altera-msgdma.c | 10 +-
drivers/dma/amba-pl08x.c | 4 +-
drivers/dma/amlogic-dma.c | 737 +++++++++++++++++++++
drivers/dma/apple-admac.c | 24 +
drivers/dma/arm-dma350.c | 2 +-
drivers/dma/at_hdmac.c | 139 ++--
drivers/dma/at_xdmac.c | 159 +++--
drivers/dma/bestcomm/Kconfig | 2 +-
drivers/dma/bestcomm/ata.c | 2 -
drivers/dma/bestcomm/bestcomm.c | 46 +-
drivers/dma/bestcomm/gen_bd.c | 23 +-
drivers/dma/dma-jz4780.c | 10 +-
drivers/dma/dmaengine.c | 47 +-
drivers/dma/dmaengine.h | 32 +
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 151 ++---
drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 57 +-
drivers/dma/dw-edma/dw-edma-core.c | 512 +++++++++-----
drivers/dma/dw-edma/dw-edma-core.h | 67 +-
drivers/dma/dw-edma/dw-edma-pcie.c | 18 +
drivers/dma/dw-edma/dw-edma-v0-core.c | 59 +-
drivers/dma/dw-edma/dw-hdma-v0-core.c | 82 ++-
drivers/dma/dw-edma/dw-hdma-v0-debugfs.c | 17 +-
drivers/dma/dw-edma/dw-hdma-v0-regs.h | 10 -
drivers/dma/dw/core.c | 47 +-
drivers/dma/dw/dw.c | 1 +
drivers/dma/dw/platform.c | 12 +-
drivers/dma/ep93xx_dma.c | 37 +-
drivers/dma/fsl-edma-common.c | 255 ++++++-
drivers/dma/fsl-edma-common.h | 15 +-
drivers/dma/fsl-edma-main.c | 7 +-
drivers/dma/fsl-edma-trace.h | 5 +
drivers/dma/fsl_raid.c | 38 +-
drivers/dma/fsldma.c | 22 +-
drivers/dma/idma64.c | 10 +-
drivers/dma/img-mdc-dma.c | 2 +-
drivers/dma/ioat/init.c | 18 +-
drivers/dma/ioat/sysfs.c | 22 +-
drivers/dma/loongson/loongson1-apb-dma.c | 23 +-
drivers/dma/loongson/loongson2-apb-cmc-dma.c | 27 +-
drivers/dma/loongson/loongson2-apb-dma.c | 9 +-
drivers/dma/mediatek/mtk-hsdma.c | 26 +-
drivers/dma/mmp_pdma.c | 3 +-
drivers/dma/moxart-dma.c | 23 +-
drivers/dma/mv_xor.c | 8 +-
drivers/dma/nbpfaxi.c | 2 +-
drivers/dma/owl-dma.c | 21 +-
drivers/dma/pch_dma.c | 41 +-
drivers/dma/pl330.c | 4 +-
drivers/dma/plx_dma.c | 10 +-
drivers/dma/ppc4xx/adma.c | 12 +-
drivers/dma/ppc4xx/xor.h | 2 +-
drivers/dma/pxa_dma.c | 52 +-
drivers/dma/qcom/bam_dma.c | 10 +-
drivers/dma/qcom/gpi.c | 9 +-
drivers/dma/qcom/hidma.c | 8 +-
drivers/dma/sh/rcar-dmac.c | 26 +-
drivers/dma/sh/rz-dmac.c | 6 +-
drivers/dma/sprd-dma.c | 45 +-
drivers/dma/st_fdma.c | 2 +-
drivers/dma/ste_dma40.c | 607 +++++++++++++----
drivers/dma/ste_dma40_ll.c | 8 +-
drivers/dma/ste_dma40_ll.h | 4 +-
drivers/dma/stm32/stm32-dma.c | 69 +-
drivers/dma/stm32/stm32-dma3.c | 99 ++-
drivers/dma/stm32/stm32-mdma.c | 96 ++-
drivers/dma/sun4i-dma.c | 17 +-
drivers/dma/sun6i-dma.c | 215 ++++--
drivers/dma/switchtec_dma.c | 94 ++-
drivers/dma/tegra186-gpc-dma.c | 4 +-
drivers/dma/tegra20-apb-dma.c | 2 +-
drivers/dma/ti/k3-udma.c | 6 +-
drivers/dma/timb_dma.c | 63 +-
drivers/dma/txx9dmac.c | 89 ++-
drivers/dma/virt-dma.h | 16 +
drivers/dma/xgene-dma.c | 4 +-
drivers/dma/xilinx/xilinx_dma.c | 85 ++-
drivers/dma/xilinx/zynqmp_dma.c | 74 ++-
drivers/pci/controller/dwc/pcie-designware.c | 1 +
include/dt-bindings/dma/amlogic,a9-dma.h | 8 +
include/linux/dma/edma.h | 24 +-
include/linux/dma/imx-dma.h | 11 +-
include/linux/dmaengine.h | 402 ++++++++++-
include/linux/fsl/bestcomm/gen_bd.h | 8 -
include/trace/events/tegra_apb_dma.h | 6 +-
103 files changed, 4067 insertions(+), 1606 deletions(-)
create mode 100644 Documentation/devicetree/bindings/dma/amlogic,a9-dma.yaml
create mode 100644 Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml
delete mode 100644 Documentation/devicetree/bindings/dma/k3dma.txt
create mode 100644 Documentation/devicetree/bindings/dma/ti,dra7-dma-crossbar.yaml
delete mode 100644 Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt
create mode 100644 Documentation/devicetree/bindings/dma/ti/ti,cppi41.yaml
create mode 100644 drivers/dma/amlogic-dma.c
create mode 100644 include/dt-bindings/dma/amlogic,a9-dma.h
--
~Vinod
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next reply other threads:[~2026-10-28 15:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-28 15:19 Vinod Koul [this message]
2026-10-28 18:10 ` pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=auIShJbyRMki5-bY@parshuram \
--to=vkoul@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®