mbox series

[GIT,PULL] : dmaengine updates for v5.7-rc1

Message ID 20200402112500.GJ72691@vkoul-mobl (mailing list archive)
State Mainlined
Headers show
Series [GIT,PULL] : dmaengine updates for v5.7-rc1 | expand

Pull-request

git://git.infradead.org/users/vkoul/slave-dma.git tags/dmaengine-5.7-rc1

Message

Vinod Koul April 2, 2020, 11:25 a.m. UTC
Hello Linus,

Here are the changes for this cycle. SFR has told me that you might see
a merge conflict, but I am sure you would be okay with it :)

The following changes since commit bb6d3fb354c5ee8d6bde2d576eb7220ea09862b9:

  Linux 5.6-rc1 (2020-02-09 16:08:48 -0800)

are available in the Git repository at:

  git://git.infradead.org/users/vkoul/slave-dma.git tags/dmaengine-5.7-rc1

for you to fetch changes up to cea582b5ee5645839650b6667335cfb40ec71c19:

  dt-bindings: dma: renesas,usb-dmac: add r8a77961 support (2020-03-26 12:23:31 +0530)

----------------------------------------------------------------
dmaengine updates for v5.7-rc1

  - Core:
    - Some code cleanup and optimization in core by Andy
    - Debugfs support for displaying dmaengine channels by Peter

  - Drivers:
    - New driver for uniphier-xdmac controller
    - Updates to stm32 dma, mdma and dmamux drivers and PM support
    - More updates to idxd drivers
    - Bunch of changes in tegra-apb driver and cleaning up of pm functions
    - Bunch of spelling fixes and Replace zero-length array patches
    - Shutdown hook for fsl-dpaa2-qdma driver
    - Support for interleaved transfers for ti-edma and virtualization
      support for k3-dma driver
    - Support for reset and updates in xilinx_dma driver
    - Improvements and locking updates in at_hdma driver

----------------------------------------------------------------
Amelie Delaunay (6):
      dmaengine: stm32-mdma: driver defers probe for clock and reset
      dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all
      dmaengine: stm32-dma: use dma_set_max_seg_size to set the sg limit
      dmaengine: stm32-dma: add copy_align constraint
      dmaengine: stm32-dma: fix sleeping function called from invalid context
      dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all

Andy Shevchenko (4):
      dmaengine: Refactor dmaengine_check_align() to be bit operations only
      dmaengine: Use negative condition for better readability
      dmaengine: Drop redundant 'else' keyword
      dmaengine: consistently return string literal from switch-case

Colin Ian King (2):
      dmaengine: ti: edma: fix null dereference because of a typo in pointer name
      dmaengine: fix spelling mistake "exceds" -> "exceeds"

Dave Jiang (4):
      dmaengine: idxd: check return result from check_vma() in cdev
      dmaengine: idxd: expose general capabilities register in sysfs
      dmaengine: idxd: reflect shadow copy of traffic class programming
      dmaengine: idxd: remove global token limit check

Dmitry Osipenko (19):
      dmaengine: tegra-apb: Implement synchronization hook
      dmaengine: tegra-apb: Prevent race conditions on channel's freeing
      dmaengine: tegra-apb: Clean up tasklet releasing
      dmaengine: tegra-apb: Use devm_platform_ioremap_resource
      dmaengine: tegra-apb: Use devm_request_irq
      dmaengine: tegra-apb: Fix coding style problems
      dmaengine: tegra-apb: Remove unneeded initialization of tdc->config_init
      dmaengine: tegra-apb: Remove assumptions about unavailable runtime PM
      dmaengine: tegra-apb: Remove duplicated pending_sg_req checks
      dmaengine: tegra-apb: Keep clock enabled only during of DMA transfer
      dmaengine: tegra-apb: Clean up suspend-resume
      dmaengine: tegra-apb: Add missing of_dma_controller_free
      dmaengine: tegra-apb: Allow to compile as a loadable kernel module
      dmaengine: tegra-apb: Remove MODULE_ALIAS
      dmaengine: tegra-apb: Support COMPILE_TEST
      dmaengine: tegra-apb: Remove unused function argument
      dmaengine: tegra-apb: Improve error message about DMA underflow
      dmaengine: tegra-apb: Don't save/restore IRQ flags in interrupt handler
      dmaengine: tegra-apb: Improve DMA synchronization

Etienne Carriere (7):
      dmaengine: stm32-mdma: use reset controller only at probe time
      dmaengine: stm32-mdma: disable clock in case of error during probe
      dmaengine: stm32-dmamux: fix clock handling in probe sequence
      dmaengine: stm32-dmamux: use reset controller only at probe time
      dmaengine: stm32-dmamux: driver defers probe for clock and reset
      dmaengine: stm32-dma: use reset controller only at probe time
      dmaengine: stm32-dma: driver defers probe for reset

Gustavo A. R. Silva (7):
      dmaengine: bcm-sba-raid: Replace zero-length array with flexible-array member
      dmaengine: uniphier-mdmac: replace zero-length array with flexible-array member
      dmaengine: ti: omap-dma: Replace zero-length array with flexible-array member
      dmaengine: sa11x0: Replace zero-length array with flexible-array member
      dmaengine: sprd: Replace zero-length array with flexible-array member
      dmaengine: tegra210-adma: Replace zero-length array with flexible-array member
      dmanegine: ioat/dca: Replace zero-length array with flexible-array member

Johan Hovold (1):
      dt-bindings: dma: ti-edma: fix example compatible property

Kunihiko Hayashi (2):
      dt-bindings: dmaengine: Add UniPhier external DMA controller bindings
      dmaengine: uniphier-xdmac: Add UniPhier external DMA controller driver

Peng Ma (1):
      dmaengine: fsl-dpaa2-qdma: Adding shutdown hook

Peter Ujfalusi (6):
      dmaengine: ti: edma: Support for interleaved mem to mem transfer
      dt-bindings: dma: ti: k3-udma: Update for atype support (virtualization)
      dmaengine: ti: k3-udma: Implement support for atype (for virtualization)
      dmaengine: Add basic debugfs support
      dmaengine: ti: k3-udma: Implement custom dbg_summary_show for debugfs
      dmaengine: Create debug directories for DMA devices

Pierre-Yves MORDRET (5):
      dmaengine: stm32-mdma: add suspend/resume power management support
      dmaengine: stm32-mdma: enable descriptor_reuse
      dmaengine: stm32-dmamux: add suspend/resume power management support
      dmaengine: stm32-dma: add suspend/resume power management support
      dmaengine: stm32-dma: enable descriptor_reuse

Radhey Shyam Pandey (3):
      dmaengine: xilinx_dma: Reset DMA channel in dma_terminate_all
      dmaengine: xilinx_dma: Extend dma_config structure to store max channel count
      dmaengine: xilinx_dma: In dma channel probe fix node order dependency

Takashi Iwai (1):
      dmaengine: ppc4xx: Use scnprintf() for avoiding potential buffer overflow

Tony Luck (1):
      dmaengine: idxd: Merge definition of dsa_batch_desc into dsa_hw_desc

Tudor Ambarus (10):
      dmaengine: at_hdmac: Substitute kzalloc with kmalloc
      dmaengine: at_hdmac: Drop locking in at_hdmac_alloc_chan_resources()
      dmaengine: at_hdmac: Return err in case the chan is not free at alloc res time
      dmaengine: at_hdmac: Drop description for a not defined parameter
      dmaengine: at_hdmac: Switch atomic allocations to GFP_NOWAIT
      dmaengine: at_hdmac: Fix deadlocks
      dmaengine: at_xdmac: Drop always true check
      dmaengine: at_xdmac: Drop locking in at_xdmac_alloc_chan_resources()
      dmaengine: at_xdmac: GFP_KERNEL for user that can sleep
      dmaengine: at_xdmac: Fix locking in tasklet

Vinod Koul (2):
      dmaengine: sun4i: set the linear_mode properly
      dmaengine: uniphier-xdmac: Remove redandant error log for platform_get_irq

Yoshihiro Shimoda (1):
      dt-bindings: dma: renesas,usb-dmac: add r8a77961 support

YueHaibing (5):
      dmaengine: idxd: remove set but not used variable 'group'
      dmaengine: idxd: remove set but not used variable 'idxd_cdev'
      dmaengine: sun4i: use 'linear_mode' in sun4i_dma_prep_dma_cyclic
      dmaengine: fsl-dpaa2-qdma: remove set but not used variable 'dpaa2_qdma'
      dmaengine: tegra-apb: mark PM functions as __maybe_unused

Zhenfang Wang (1):
      dmaengine: sprd: Set request pending flag when DMA controller is active

chenqiwu (1):
      dmaengine: ti: dma-crossbar: convert to devm_platform_ioremap_resource()

 .../devicetree/bindings/dma/renesas,usb-dmac.txt   |   1 +
 .../bindings/dma/socionext,uniphier-xdmac.yaml     |  63 +++
 Documentation/devicetree/bindings/dma/ti-edma.txt  |   2 +-
 .../devicetree/bindings/dma/ti/k3-udma.yaml        |  19 +-
 drivers/dma/Kconfig                                |  15 +-
 drivers/dma/Makefile                               |   1 +
 drivers/dma/at_hdmac.c                             | 121 ++--
 drivers/dma/at_hdmac_regs.h                        |   2 -
 drivers/dma/at_xdmac.c                             |  44 +-
 drivers/dma/bcm-sba-raid.c                         |   2 +-
 drivers/dma/dmaengine.c                            | 102 +++-
 drivers/dma/dmaengine.h                            |  16 +
 drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.c            |  15 +
 drivers/dma/fsl-dpaa2-qdma/dpdmai.c                |  21 +
 drivers/dma/fsl-dpaa2-qdma/dpdmai.h                |   2 +
 drivers/dma/idxd/cdev.c                            |   4 +-
 drivers/dma/idxd/device.c                          |   4 +-
 drivers/dma/idxd/sysfs.c                           |  19 +-
 drivers/dma/ioat/dca.c                             |   2 +-
 drivers/dma/ppc4xx/adma.c                          |   2 +-
 drivers/dma/sa11x0-dma.c                           |   2 +-
 drivers/dma/sh/rcar-dmac.c                         |   2 +-
 drivers/dma/sh/shdma-base.c                        |   2 +-
 drivers/dma/sprd-dma.c                             |  26 +-
 drivers/dma/stm32-dma.c                            |  96 +++-
 drivers/dma/stm32-dmamux.c                         |  93 +++-
 drivers/dma/stm32-mdma.c                           |  78 ++-
 drivers/dma/sun4i-dma.c                            |   4 +-
 drivers/dma/tegra20-apb-dma.c                      | 546 +++++++++---------
 drivers/dma/tegra210-adma.c                        |   2 +-
 drivers/dma/ti/dma-crossbar.c                      |   8 +-
 drivers/dma/ti/edma.c                              |  79 +++
 drivers/dma/ti/k3-udma-glue.c                      |  18 +-
 drivers/dma/ti/k3-udma.c                           | 113 +++-
 drivers/dma/ti/omap-dma.c                          |   2 +-
 drivers/dma/uniphier-mdmac.c                       |   2 +-
 drivers/dma/uniphier-xdmac.c                       | 609 +++++++++++++++++++++
 drivers/dma/xilinx/xilinx_dma.c                    |  65 +--
 include/linux/dmaengine.h                          |  68 +--
 include/uapi/linux/idxd.h                          |  21 +-
 40 files changed, 1749 insertions(+), 544 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/socionext,uniphier-xdmac.yaml
 create mode 100644 drivers/dma/uniphier-xdmac.c

Comments

Linus Torvalds April 2, 2020, 11:28 p.m. UTC | #1
On Thu, Apr 2, 2020 at 4:25 AM Vinod Koul <vkoul@kernel.org> wrote:
>
> Here are the changes for this cycle. SFR has told me that you might see
> a merge conflict, but I am sure you would be okay with it :)

It looked trivial enough. That said, it's in the TI_K3_UDMA driver,
which I can't build. The driver is marked as COMPILE_TEST, but it also
has

        depends on TI_SCI_PROTOCOL
        depends on TI_SCI_INTA_IRQCHIP

which means that it depends on TI_MESSAGE_MANAGER, which in turn has a

        depends on ARCH_KEYSTONE || ARCH_K3

so it may be *marked* for build testing, but it doesn't actually get
any outside of those builds.

So I did the resolution that looked trivial, but mistakes happen, and
I can't even build-test that driver..

Just a heads-up. It does look like it was _meant_ to be build-tested,
but that intent didn't work out.

Adding a COMPILE_TEST option to TI_MESSAGE_MANAGER gets things a bit
further, but even then it doesn't actually build that driver because
that TI_SCI_INTA_IRQCHIP dependency needs to be enabled too.

And that one doesn't even have a question, it's just a plain bool, and
expects to be selected. Which the arm64 platform does.

Anyway, to make a long story short: "the COMPILE_TEST marker is a lie".

So somebody should actually test my merge.

                  Linus
pr-tracker-bot@kernel.org April 3, 2020, 12:40 a.m. UTC | #2
The pull request you sent on Thu, 2 Apr 2020 16:55:00 +0530:

> git://git.infradead.org/users/vkoul/slave-dma.git tags/dmaengine-5.7-rc1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/e964f1e04a1ce562f0d748b29326244d3cb35ba4

Thank you!
Vinod Koul April 3, 2020, 7:39 a.m. UTC | #3
On 02-04-20, 16:28, Linus Torvalds wrote:
> On Thu, Apr 2, 2020 at 4:25 AM Vinod Koul <vkoul@kernel.org> wrote:
> >
> > Here are the changes for this cycle. SFR has told me that you might see
> > a merge conflict, but I am sure you would be okay with it :)
> 
> It looked trivial enough. That said, it's in the TI_K3_UDMA driver,
> which I can't build. The driver is marked as COMPILE_TEST, but it also
> has
> 
>         depends on TI_SCI_PROTOCOL
>         depends on TI_SCI_INTA_IRQCHIP
> 
> which means that it depends on TI_MESSAGE_MANAGER, which in turn has a
> 
>         depends on ARCH_KEYSTONE || ARCH_K3
> 
> so it may be *marked* for build testing, but it doesn't actually get
> any outside of those builds.
> 
> So I did the resolution that looked trivial, but mistakes happen, and
> I can't even build-test that driver..
> 
> Just a heads-up. It does look like it was _meant_ to be build-tested,
> but that intent didn't work out.
> 
> Adding a COMPILE_TEST option to TI_MESSAGE_MANAGER gets things a bit
> further, but even then it doesn't actually build that driver because
> that TI_SCI_INTA_IRQCHIP dependency needs to be enabled too.
> 
> And that one doesn't even have a question, it's just a plain bool, and
> expects to be selected. Which the arm64 platform does.
> 
> Anyway, to make a long story short: "the COMPILE_TEST marker is a lie".

Well I do agree to your analysis and would request Peter to fix this.

> So somebody should actually test my merge.

Said that, I have aarch64 tool chain and was able to conclude that merge
looks just fine. I have compile tested the ti-udma driver as well whole
of the subsystem

Thanks
Peter Ujfalusi April 3, 2020, 2:09 p.m. UTC | #4
Hi Linus,

On 03/04/2020 2.28, Linus Torvalds wrote:
> On Thu, Apr 2, 2020 at 4:25 AM Vinod Koul <vkoul@kernel.org> wrote:
>>
>> Here are the changes for this cycle. SFR has told me that you might see
>> a merge conflict, but I am sure you would be okay with it :)
> 
> It looked trivial enough. That said, it's in the TI_K3_UDMA driver,
> which I can't build. The driver is marked as COMPILE_TEST, but it also
> has
> 
>         depends on TI_SCI_PROTOCOL
>         depends on TI_SCI_INTA_IRQCHIP

Right.

> which means that it depends on TI_MESSAGE_MANAGER, which in turn has a
> 
>         depends on ARCH_KEYSTONE || ARCH_K3

And the INTA_IRQCHIP needs INTA_MSI_DOMAIN.
and the UDMA driver actually needs the ringacc.
It goes pretty deep it looks like.

> so it may be *marked* for build testing, but it doesn't actually get
> any outside of those builds.

Yep, sadly this is true.

> So I did the resolution that looked trivial, but mistakes happen, and
> I can't even build-test that driver..
> 
> Just a heads-up. It does look like it was _meant_ to be build-tested,
> but that intent didn't work out.

The merge was correct, thank you!

> Adding a COMPILE_TEST option to TI_MESSAGE_MANAGER gets things a bit
> further, but even then it doesn't actually build that driver because
> that TI_SCI_INTA_IRQCHIP dependency needs to be enabled too.
> 
> And that one doesn't even have a question, it's just a plain bool, and
> expects to be selected. Which the arm64 platform does.

Yes, I'll sort this out. I prefer my drivers to be compile tested.

> Anyway, to make a long story short: "the COMPILE_TEST marker is a lie".

I'll remove the lie for now and fix things up so I will have legal
grounds to put it back.

> So somebody should actually test my merge.

Tested, thank you again!

> 
>                   Linus
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki