Merge tag 'dmaengine-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 29 May 2022 18:38:27 +0000 (11:38 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 29 May 2022 18:38:27 +0000 (11:38 -0700)
Pull dmaengine updates from Vinod Koul:
 "Nothing special, this includes a couple of new device support and new
  driver support and bunch of driver updates.

  New support:

   - Tegra gpcdma driver support

   - Qualcomm SM8350, Sm8450 and SC7280 device support

   - Renesas RZN1 dma and platform support

  Updates:

   - stm32 device pause/resume support and updates

   - DMA memset ops Documentation and usage clarification

   - deprecate '#dma-channels' & '#dma-requests' bindings

   - driver updates for stm32, ptdma idsx etc"

* tag 'dmaengine-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (87 commits)
  dmaengine: idxd: make idxd_wq_enable() return 0 if wq is already enabled
  dmaengine: sun6i: Add support for the D1 variant
  dmaengine: sun6i: Add support for 34-bit physical addresses
  dmaengine: sun6i: Do not use virt_to_phys
  dt-bindings: dma: sun50i-a64: Add compatible for D1
  dmaengine: tegra: Remove unused switch case
  dmaengine: tegra: Fix uninitialized variable usage
  dmaengine: stm32-dma: add device_pause/device_resume support
  dmaengine: stm32-dma: rename pm ops before dma pause/resume introduction
  dmaengine: stm32-dma: pass DMA_SxSCR value to stm32_dma_handle_chan_done()
  dmaengine: stm32-dma: introduce stm32_dma_sg_inc to manage chan->next_sg
  dmaengine: stm32-dmamux: avoid reset of dmamux if used by coprocessor
  dmaengine: qcom: gpi: Add support for sc7280
  dt-bindings: dma: pl330: Add power-domains
  dmaengine: stm32-mdma: use dev_dbg on non-busy channel spurious it
  dmaengine: stm32-mdma: fix chan initialization in stm32_mdma_irq_handler()
  dmaengine: stm32-mdma: remove GISR1 register
  dmaengine: ti: deprecate '#dma-channels'
  dmaengine: mmp: deprecate '#dma-channels'
  dmaengine: pxa: deprecate '#dma-channels' and '#dma-requests'
  ...

1  2 
Documentation/devicetree/bindings/dma/qcom,gpi.yaml
MAINTAINERS
drivers/clk/renesas/r9a06g032-clocks.c
drivers/dma/at_xdmac.c
drivers/dma/idxd/device.c
drivers/dma/idxd/sysfs.c

diff --cc MAINTAINERS
Simple merge
Simple merge
index f652da6ab47df1b29147136fd17c390d353c9a79,dd6a05eccb189600cb2eb479114dab1a555fc264..ff0ea60051f0c90e50463de27df0abf5b53f9e27
@@@ -697,23 -715,24 +715,27 @@@ static void idxd_device_wqs_clear_state
        for (i = 0; i < idxd->max_wqs; i++) {
                struct idxd_wq *wq = idxd->wqs[i];
  
++              mutex_lock(&wq->wq_lock);
                if (wq->state == IDXD_WQ_ENABLED) {
 -                      mutex_lock(&wq->wq_lock);
                        idxd_wq_disable_cleanup(wq);
 -                      idxd_wq_device_reset_cleanup(wq);
                        wq->state = IDXD_WQ_DISABLED;
 -                      mutex_unlock(&wq->wq_lock);
                }
 +              idxd_wq_device_reset_cleanup(wq);
++              mutex_unlock(&wq->wq_lock);
        }
  }
  
  void idxd_device_clear_state(struct idxd_device *idxd)
  {
 +      if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags))
 +              return;
 +
+       idxd_device_wqs_clear_state(idxd);
+       spin_lock(&idxd->dev_lock);
        idxd_groups_clear_state(idxd);
        idxd_engines_clear_state(idxd);
-       idxd_device_wqs_clear_state(idxd);
+       idxd->state = IDXD_DEV_DISABLED;
+       spin_unlock(&idxd->dev_lock);
  }
  
  static void idxd_group_config_write(struct idxd_group *group)
Simple merge