linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/53] dmaengine: Implement generic slave capabilities retrieval
@ 2014-10-16 10:16 Maxime Ripard
  2014-10-16 10:17 ` [PATCH v2 01/53] dmaengine: Make the destination abbreviation coherent Maxime Ripard
                   ` (52 more replies)
  0 siblings, 53 replies; 73+ messages in thread
From: Maxime Ripard @ 2014-10-16 10:16 UTC (permalink / raw)
  To: dmaengine, Vinod Koul
  Cc: linux-arm-kernel, linux-kernel, Laurent Pinchart,
	Antoine Ténart, lars, Russell King, Maxime Ripard

Hi,

As we discussed a couple of weeks ago, this is a first 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 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

Maxime Ripard (53):
  dmaengine: Make the destination abbreviation coherent
  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: Create a generic dma_slave_caps callback
  dmaengine: Move slave caps to dma_device
  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: 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: Mark device_control and device_slave_caps as deprecated

 drivers/dma/amba-pl08x.c              | 156 +++++++++++++++------------
 drivers/dma/at_hdmac.c                | 121 ++++++++++++---------
 drivers/dma/bcm2835-dma.c             |  47 +++-----
 drivers/dma/coh901318.c               | 137 +++++++++++------------
 drivers/dma/cppi41.c                  |  30 +-----
 drivers/dma/dma-jz4740.c              |  20 +---
 drivers/dma/dmaengine.c               |  10 +-
 drivers/dma/dw/core.c                 |  92 ++++++++--------
 drivers/dma/edma.c                    |  71 ++++--------
 drivers/dma/ep93xx_dma.c              |  41 ++-----
 drivers/dma/fsl-edma.c                | 124 ++++++++++-----------
 drivers/dma/fsldma.c                  | 100 ++++++++---------
 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                |  71 ++++++------
 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                |  70 ++++--------
 drivers/dma/pch_dma.c                 |   8 +-
 drivers/dma/pl330.c                   | 125 ++++++++++-----------
 drivers/dma/qcom_bam_dma.c            |  83 +++++++-------
 drivers/dma/s3c24xx-dma.c             |  75 +++++++------
 drivers/dma/sa11x0-dma.c              | 158 ++++++++++++++-------------
 drivers/dma/sh/shdma-base.c           |  72 ++++++-------
 drivers/dma/sirf-dma.c                |  60 +++--------
 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      |  27 +----
 include/linux/dmaengine.h             |  90 +++++++++++++---
 sound/soc/soc-generic-dmaengine-pcm.c |   2 +-
 40 files changed, 1389 insertions(+), 1569 deletions(-)

-- 
2.1.1


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

end of thread, other threads:[~2014-10-28 14:41 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-16 10:16 [PATCH v2 00/53] dmaengine: Implement generic slave capabilities retrieval Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 01/53] dmaengine: Make the destination abbreviation coherent Maxime Ripard
2014-10-16 10:25   ` Mark Brown
2014-10-16 10:32   ` Laurent Pinchart
2014-10-16 15:26   ` Stephen Warren
2014-10-16 10:17 ` [PATCH v2 02/53] dmaengine: Make channel allocation callbacks optional Maxime Ripard
2014-10-16 10:35   ` Laurent Pinchart
2014-10-16 10:17 ` [PATCH v2 03/53] dmaengine: Introduce a device_config callback Maxime Ripard
2014-10-16 10:44   ` Laurent Pinchart
2014-10-16 10:17 ` [PATCH v2 04/53] dmaengine: split out pause/resume operations from device_control Maxime Ripard
2014-10-16 10:45   ` Laurent Pinchart
2014-10-16 10:17 ` [PATCH v2 05/53] dmaengine: Add device_terminate_all callback Maxime Ripard
2014-10-16 10:46   ` Laurent Pinchart
2014-10-16 10:17 ` [PATCH v2 06/53] dmaengine: Create a generic dma_slave_caps callback Maxime Ripard
2014-10-16 16:15   ` Laurent Pinchart
2014-10-16 16:24     ` Maxime Ripard
2014-10-22 20:16       ` Laurent Pinchart
2014-10-23  8:08         ` Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 07/53] dmaengine: Move slave caps to dma_device Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 08/53] dmaengine: pl08x: Split device_control Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 09/53] dmaengine: hdmac: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 10/53] dmaengine: bcm2835: " Maxime Ripard
2014-10-16 15:27   ` Stephen Warren
2014-10-16 10:17 ` [PATCH v2 11/53] dmaengine: coh901318: " Maxime Ripard
2014-10-28 14:40   ` Linus Walleij
2014-10-16 10:17 ` [PATCH v2 12/53] dmaengine: cppi41: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 13/53] dmaengine: jz4740: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 14/53] dmaengine: dw: " Maxime Ripard
2014-10-16 11:17   ` Andy Shevchenko
2014-10-16 14:05     ` Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 15/53] dmaengine: edma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 16/53] dmaengine: ep93xx: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 17/53] dmaengine: fsl-edma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 18/53] dmaengine: imx: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 19/53] dmaengine: imx-sdma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 20/53] dmaengine: intel-mid-dma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 21/53] dmaengine: ipu-idmac: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 22/53] dmaengine: k3: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 23/53] dmaengine: mmp-pdma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 24/53] dmaengine: mmp-tdma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 25/53] dmaengine: moxart: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 26/53] dmaengine: fsl-dma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 27/53] dmaengine: mpc512x: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 28/53] dmaengine: mxs: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 29/53] dmaengine: nbpfaxi: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 30/53] dmaengine: omap: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 31/53] dmaengine: pl330: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 32/53] dmaengine: bam-dma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 33/53] dmaengine: s3c24xx: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 34/53] dmaengine: sa11x0: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 35/53] dmaengine: sh: " Maxime Ripard
2014-10-16 16:17   ` Laurent Pinchart
2014-10-16 10:17 ` [PATCH v2 36/53] dmaengine: sirf: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 37/53] dmaengine: sun6i: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 38/53] dmaengine: d40: " Maxime Ripard
2014-10-28 14:41   ` Linus Walleij
2014-10-16 10:17 ` [PATCH v2 39/53] dmaengine: tegra20: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 40/53] dmaengine: xilinx: " Maxime Ripard
2014-10-16 16:20   ` Laurent Pinchart
2014-10-16 10:17 ` [PATCH v2 41/53] dmaengine: mv_xor: Remove device_control Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 42/53] dmaengine: pch-dma: Rename device_control Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 43/53] dmaengine: td: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 44/53] dmaengine: txx9: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 45/53] dmaengine: bcm2835: Declare slave capabilities for the generic code Maxime Ripard
2014-10-16 15:27   ` Stephen Warren
2014-10-16 10:17 ` [PATCH v2 46/53] dmaengine: fsl-edma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 47/53] dmaengine: edma: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 48/53] dmaengine: nbpfaxi: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 49/53] dmaengine: omap: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 50/53] dmaengine: pl330: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 51/53] dmaengine: sirf: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 52/53] dmaengine: sun6i: " Maxime Ripard
2014-10-16 10:17 ` [PATCH v2 53/53] dmaengine: Mark device_control and device_slave_caps as deprecated Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).