Commit ae3690eb2a99 for kernel

commit ae3690eb2a994dd74a43639d6bf800b51f18b48c
Merge: e191b05f321b aff5e6a77fc6
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Oct 28 07:27:09 2026 -1000

    Merge tag 'dmaengine-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine

    Pull dmaengine updates from Vinod Koul:
     "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.

      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"

    * tag 'dmaengine-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (149 commits)
      dmaengine: amlogic: Fix regmap error check issue
      dmaengine: ste_dma40: Preserve the LCPA I/O address space
      docs: dmaengine: clarify ordering rules around cookie completion
      dmaengine: move driver-private helpers out of include/linux/dmaengine.h
      dmaengine: add dmaengine_desc_set_callback() helper
      dmaengine: add dmaengine_get_provider_device() API
      dmaengine: add dmaengine_get_max_xor() helper
      dmaengine: add dmaengine_get_cap_mask() and dmaengine_has_cap() helpers
      dmaengine: add dmaengine_get_copy_align() and related alignment getter helpers
      dmaengine: add dmaengine_is_*_aligned() helpers for DMA consumers
      dmaengine: add dmaengine_prep_dma_(pq|pq_val|interrupt|xor)() API
      dmaengine: sh: rcar-dmac: Add support for R-Car Gen5 SoCs
      dt-bindings: renesas,rcar-dmac: Add support for R-Car X5H SoC
      dmaengine: sh: rcar-dmac: SMMU doesn't need IPMMU workaround
      dmaengine: sh: rcar-dmac: fix style in struct initialization
      dmaengine: qcom: bam_dma: free interrupt before the clock in error path
      dmaengine: ppc4xx: fix typo "contoller" in comment
      dmaengine: ste_dma40: Search all blocks for fixed logical channels
      dt-bindings: dma: dma40: Restore disabled-channels
      dmaengine: ste_dma40: Validate memcpy configuration
      ...

diff --cc drivers/dma/pxa_dma.c
index fc43124fefa8,b552b34f2a67..4f0d1d531f01
--- a/drivers/dma/pxa_dma.c
+++ b/drivers/dma/pxa_dma.c
@@@ -750,10 -749,9 +750,10 @@@ pxad_alloc_desc(struct pxad_chan *chan
  	for (i = 0; i < nb_hw_desc; i++) {
  		desc = dma_pool_alloc(sw_desc->desc_pool, GFP_NOWAIT, &dma);
  		if (!desc) {
- 			dev_err(&chan->vc.chan.dev->device,
+ 			dev_err(vchan_chan_dev(&chan->vc),
  				"%s(): Couldn't allocate the %dth hw_desc from dma_pool %p\n",
  				__func__, i, sw_desc->desc_pool);
 +			sw_desc->nb_desc = i;
  			goto err;
  		}