All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/61] dmaengine: Implement generic slave capabilities retrieval
@ 2014-11-17 13:41 ` Maxime Ripard
  0 siblings, 0 replies; 164+ messages in thread
From: Maxime Ripard @ 2014-11-17 13:41 UTC (permalink / raw)
  To: Vinod Koul, dmaengine
  Cc: linux-kernel, linux-arm-kernel, Laurent Pinchart,
	Antoine Ténart, Russell King, lars, Maxime Ripard

Hi,

As we discussed a couple of weeks ago, this is the third attempt at
creating a generic behaviour for slave capabilities retrieval so that
generic layers using dmaengine can actually rely on that.

That has been done mostly through two steps: by moving out the
sub-commands of the device_control callback, so that the dmaengine
core can then infer from that wether a sub-command is implemented, and
then by moving the slave properties, such as the supported buswidth,
to the structure dma_device itself.

Comments are as usual appreciated!

Thanks,
Maxime

Changes from v4:
  - Rebased on top of current dma/next
  - Converted AT91 XDMAC driver to the new API
  - Updated the documentation to reflect our changes

Changes from v3:
  - Removed the generic_slave_caps flag
  - Merged the patch introducing a generic slave caps functions with
    the one introducing the dma_device capabilities

Changes from v2:
  - Reworked dma_chan_get/dma_chan_put in order to optionally use
    device_alloc_chan_resources/device_free_chan_resources
  - Modified a few client drivers that were still calling
    device_control directly to use the dmaengine API instead
  - Totally remove device_control and device_slave_config
  - Move device_control BUG_ON removal earlier in the patch set to
    avoid breaking the bisectability
  - Converted rapidio tsi721 driver too.
  - Minor cosmetics changes and fixes suggested by Laurent Pinchart
    and Andy Shevchenko
  - Fixed a few build warnings
  - Collected the various Acked-by
  - Rebased on top of 3.18-rc1

Changes from v1:
  - Add a flag to trigger the generic slave caps mechanism
  - Add a warning whenever this flag is not set, or when a
    device_control callback is still defined
  - Migrate all existing users to use the new callbacks, and the
    generic slave capabilities

Ludovic Desroches (2):
  dmaengine: at_xdmac: split device_control
  dmaengine: at_xdmac: Declare slave capabilities for the generic code

Maxime Ripard (59):
  serial: at91: Use dmaengine_slave_config API
  crypto: ux500: Use dmaengine_terminate_all API
  dmaengine: Make the destination abbreviation coherent
  dmaengine: Rework dma_chan_get
  dmaengine: Make channel allocation callbacks optional
  dmaengine: Introduce a device_config callback
  dmaengine: split out pause/resume operations from device_control
  dmaengine: Add device_terminate_all callback
  dmaengine: Remove the need to declare device_control
  dmaengine: Create a generic dma_slave_caps callback
  dmaengine: pl08x: Split device_control
  dmaengine: hdmac: Split device_control
  dmaengine: bcm2835: Split device_control
  dmaengine: coh901318: Split device_control
  dmaengine: cppi41: Split device_control
  dmaengine: jz4740: Split device_control
  dmaengine: dw: Split device_control
  dmaengine: edma: Split device_control
  dmaengine: ep93xx: Split device_control
  dmaengine: fsl-edma: Split device_control
  dmaengine: imx: Split device_control
  dmaengine: imx-sdma: Split device_control
  dmaengine: intel-mid-dma: Split device_control
  dmaengine: ipu-idmac: Split device_control
  dmaengine: k3: Split device_control
  dmaengine: mmp-pdma: Split device_control
  dmaengine: mmp-tdma: Split device_control
  dmaengine: moxart: Split device_control
  dmaengine: fsl-dma: Split device_control
  dmaengine: mpc512x: Split device_control
  dmaengine: mxs: Split device_control
  dmaengine: nbpfaxi: Split device_control
  dmaengine: omap: Split device_control
  dmaengine: pl330: Split device_control
  dmaengine: bam-dma: Split device_control
  dmaengine: s3c24xx: Split device_control
  dmaengine: sa11x0: Split device_control
  dmaengine: sh: Split device_control
  dmaengine: sirf: Split device_control
  dmaengine: sun6i: Split device_control
  dmaengine: d40: Split device_control
  dmaengine: tegra20: Split device_control
  dmaengine: xilinx: Split device_control
  dmaengine: mv_xor: Remove device_control
  dmaengine: pch-dma: Rename device_control
  dmaengine: td: Rename device_control
  dmaengine: txx9: Rename device_control
  dmaengine: rapidio: tsi721: Rename device_control
  dmaengine: bcm2835: Declare slave capabilities for the generic code
  dmaengine: fsl-edma: Declare slave capabilities for the generic code
  dmaengine: edma: Declare slave capabilities for the generic code
  dmaengine: nbpfaxi: Declare slave capabilities for the generic code
  dmaengine: omap: Declare slave capabilities for the generic code
  dmaengine: pl330: Declare slave capabilities for the generic code
  dmaengine: sirf: Declare slave capabilities for the generic code
  dmaengine: sun6i: Declare slave capabilities for the generic code
  dmaengine: Add a warning for drivers not using the generic slave caps
    retrieval
  dmaengine: Remove device_control and device_slave_caps
  Documentation: dmaengine: Update the documentation

 Documentation/dmaengine/provider.txt  |  93 ++++++++--------
 drivers/crypto/ux500/cryp/cryp_core.c |   4 +-
 drivers/crypto/ux500/hash/hash_core.c |   2 +-
 drivers/dma/amba-pl08x.c              | 156 +++++++++++++++------------
 drivers/dma/at_hdmac.c                | 121 ++++++++++++---------
 drivers/dma/at_xdmac.c                | 127 ++++++++++++----------
 drivers/dma/bcm2835-dma.c             |  46 ++------
 drivers/dma/coh901318.c               | 137 +++++++++++------------
 drivers/dma/cppi41.c                  |  30 +-----
 drivers/dma/dma-jz4740.c              |  20 +---
 drivers/dma/dmaengine.c               |  51 +++++----
 drivers/dma/dw/core.c                 |  82 +++++++-------
 drivers/dma/edma.c                    |  70 ++++--------
 drivers/dma/ep93xx_dma.c              |  41 ++-----
 drivers/dma/fsl-edma.c                | 123 ++++++++++-----------
 drivers/dma/fsldma.c                  |  91 ++++++----------
 drivers/dma/imx-dma.c                 | 103 +++++++++---------
 drivers/dma/imx-sdma.c                |  66 ++++++------
 drivers/dma/intel_mid_dma.c           |  25 ++---
 drivers/dma/ipu/ipu_idmac.c           |  96 +++++++++--------
 drivers/dma/k3dma.c                   | 197 ++++++++++++++++++----------------
 drivers/dma/mmp_pdma.c                | 109 ++++++++++---------
 drivers/dma/mmp_tdma.c                |  82 +++++++-------
 drivers/dma/moxart-dma.c              |  25 +----
 drivers/dma/mpc512x_dma.c             | 111 +++++++++----------
 drivers/dma/mv_xor.c                  |   9 --
 drivers/dma/mxs-dma.c                 |  59 ++++------
 drivers/dma/nbpfaxi.c                 | 110 +++++++++----------
 drivers/dma/omap-dma.c                |  69 ++++--------
 drivers/dma/pch_dma.c                 |   8 +-
 drivers/dma/pl330.c                   | 126 ++++++++++------------
 drivers/dma/qcom_bam_dma.c            |  85 +++++++--------
 drivers/dma/s3c24xx-dma.c             |  75 +++++++------
 drivers/dma/sa11x0-dma.c              | 158 ++++++++++++++-------------
 drivers/dma/sh/shdma-base.c           |  72 ++++++-------
 drivers/dma/sirf-dma.c                |  59 +++-------
 drivers/dma/ste_dma40.c               |  60 +++++------
 drivers/dma/sun6i-dma.c               | 159 ++++++++++++++-------------
 drivers/dma/tegra20-apb-dma.c         |  22 +---
 drivers/dma/timb_dma.c                |   8 +-
 drivers/dma/txx9dmac.c                |   9 +-
 drivers/dma/xilinx/xilinx_vdma.c      |  29 ++---
 drivers/rapidio/devices/tsi721_dma.c  |   8 +-
 drivers/tty/serial/atmel_serial.c     |  10 +-
 include/linux/dmaengine.h             | 121 ++++++++++++---------
 sound/soc/soc-generic-dmaengine-pcm.c |   2 +-
 46 files changed, 1520 insertions(+), 1746 deletions(-)

-- 
2.1.1


^ permalink raw reply	[flat|nested] 164+ messages in thread

end of thread, other threads:[~2015-02-20  6:27 UTC | newest]

Thread overview: 164+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-17 13:41 [PATCH v5 00/61] dmaengine: Implement generic slave capabilities retrieval Maxime Ripard
2014-11-17 13:41 ` Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 01/61] serial: at91: Use dmaengine_slave_config API Maxime Ripard
2014-11-17 13:41   ` Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 02/61] crypto: ux500: Use dmaengine_terminate_all API Maxime Ripard
2014-11-17 13:41   ` Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 03/61] dmaengine: Make the destination abbreviation coherent Maxime Ripard
2014-11-17 13:41   ` Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 04/61] dmaengine: Rework dma_chan_get Maxime Ripard
2014-11-17 13:41   ` Maxime Ripard
2014-11-17 13:41 ` [PATCH v5 05/61] dmaengine: Make channel allocation callbacks optional Maxime Ripard
2014-11-17 13:41   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 06/61] dmaengine: Introduce a device_config callback Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 07/61] dmaengine: split out pause/resume operations from device_control Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 08/61] dmaengine: Add device_terminate_all callback Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 09/61] dmaengine: Remove the need to declare device_control Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 10/61] dmaengine: Create a generic dma_slave_caps callback Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 11/61] dmaengine: pl08x: Split device_control Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 12/61] dmaengine: hdmac: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 13/61] dmaengine: at_xdmac: split device_control Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 14/61] dmaengine: bcm2835: Split device_control Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 15/61] dmaengine: coh901318: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 16/61] dmaengine: cppi41: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 17/61] dmaengine: jz4740: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 18/61] dmaengine: dw: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 19/61] dmaengine: edma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 20/61] dmaengine: ep93xx: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 21/61] dmaengine: fsl-edma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 22/61] dmaengine: imx: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 23/61] dmaengine: imx-sdma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 24/61] dmaengine: intel-mid-dma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 25/61] dmaengine: ipu-idmac: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 26/61] dmaengine: k3: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 27/61] dmaengine: mmp-pdma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 28/61] dmaengine: mmp-tdma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 29/61] dmaengine: moxart: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 30/61] dmaengine: fsl-dma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 31/61] dmaengine: mpc512x: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 32/61] dmaengine: mxs: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-12-05 14:29   ` Vinod Koul
2014-12-05 14:29     ` Vinod Koul
2014-11-17 13:42 ` [PATCH v5 33/61] dmaengine: nbpfaxi: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 34/61] dmaengine: omap: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-12-05 14:27   ` Vinod Koul
2014-12-05 14:27     ` Vinod Koul
2014-12-05 14:33     ` Maxime Ripard
2014-12-05 14:33       ` Maxime Ripard
2014-12-05 14:56       ` Vinod Koul
2014-12-05 14:56         ` Vinod Koul
2014-12-05 17:07         ` Maxime Ripard
2014-12-05 17:07           ` Maxime Ripard
2014-12-05 17:39           ` Vinod Koul
2014-12-05 17:39             ` Vinod Koul
2014-11-17 13:42 ` [PATCH v5 35/61] dmaengine: pl330: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 36/61] dmaengine: bam-dma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 37/61] dmaengine: s3c24xx: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 38/61] dmaengine: sa11x0: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 39/61] dmaengine: sh: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 40/61] dmaengine: sirf: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 41/61] dmaengine: sun6i: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 42/61] dmaengine: d40: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 43/61] dmaengine: tegra20: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 44/61] dmaengine: xilinx: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 45/61] dmaengine: mv_xor: Remove device_control Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 46/61] dmaengine: pch-dma: Rename device_control Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 47/61] dmaengine: td: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 48/61] dmaengine: txx9: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 49/61] dmaengine: rapidio: tsi721: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 50/61] dmaengine: at_xdmac: Declare slave capabilities for the generic code Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 51/61] dmaengine: bcm2835: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 52/61] dmaengine: fsl-edma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 53/61] dmaengine: edma: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 54/61] dmaengine: nbpfaxi: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 55/61] dmaengine: omap: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 56/61] dmaengine: pl330: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 57/61] dmaengine: sirf: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 58/61] dmaengine: sun6i: " Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 59/61] dmaengine: Add a warning for drivers not using the generic slave caps retrieval Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2015-02-19  7:57   ` Viresh Kumar
2015-02-19  7:57     ` Viresh Kumar
2015-02-19  8:09     ` Jean Delvare
2015-02-19  8:09       ` Jean Delvare
2015-02-19  8:53       ` Viresh Kumar
2015-02-19  8:53         ` Viresh Kumar
2015-02-20  6:24         ` Vinod Koul
2015-02-20  6:24           ` Vinod Koul
2014-11-17 13:42 ` [PATCH v5 60/61] dmaengine: Remove device_control and device_slave_caps Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-11-17 13:42 ` [PATCH v5 61/61] Documentation: dmaengine: Update the documentation Maxime Ripard
2014-11-17 13:42   ` Maxime Ripard
2014-12-08  6:17 ` [PATCH v5 00/61] dmaengine: Implement generic slave capabilities retrieval Vinod Koul
2014-12-08  6:17   ` Vinod Koul
2014-12-08  9:32   ` Ludovic Desroches
2014-12-08  9:32     ` Ludovic Desroches
2014-12-08 13:30     ` Vinod Koul
2014-12-08 13:30       ` Vinod Koul
2014-12-08 14:31       ` Maxime Ripard
2014-12-08 14:31         ` Maxime Ripard
2014-12-08 14:18   ` Maxime Ripard
2014-12-08 14:18     ` Maxime Ripard
2014-12-08 16:28     ` Vinod Koul
2014-12-08 16:28       ` Vinod Koul
2014-12-08 18:38       ` Maxime Ripard
2014-12-08 18:38         ` Maxime Ripard
2014-12-08 21:49         ` Lars-Peter Clausen
2014-12-08 21:49           ` Lars-Peter Clausen
2014-12-11 17:03           ` Maxime Ripard
2014-12-11 17:03             ` Maxime Ripard
2014-12-09  4:43         ` Vinod Koul
2014-12-09  4:43           ` Vinod Koul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.