[PATCH 0/2 V2] dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic

From: Alexandre Bounine
Date: Thu Mar 08 2012 - 15:40:09 EST


As we agreed during our discussion about adding DMA Engine support for RapidIO
subsystem [1], RapidIO and similar clients may benefit from adding an extra
context parameter to device_prep_slave_sg() and device_prep_dma_cyclic() interfaces.

Adding the context parameter will allow to pass client/target specific
information associated with an individual data transfer request.

In the case of RapidIO support this additional information consists of target
destination ID and its buffer address (which is not mapped into the local CPU
memory space). Because a single RapidIO-capable DMA channel may queue data
transfer requests to different target devices, the per-request configuration
is required.

This set of patches presents changes to DMA_SLAVE and DMA_CYCLIC interfaces [2]
and corresponding changes to all affected current drivers/clients.

V.2 of the patches is reworked to implement wrappers and use staged approach
as proposed by Russell King [3].

DMA Engine support for RapidIO and device-specific driver for Tsi721 PCIe-to-SRIO
bridge will follow as a separate set of patches.

[1] https://lkml.org/lkml/2011/10/24/275
[2] https://lkml.org/lkml/2012/1/30/624
[3] https://lkml.org/lkml/2012/2/3/269

Alexandre Bounine (2):
dmaengine/dma_slave: introduce inline wrappers
dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic

arch/arm/plat-nomadik/include/plat/ste_dma40.h | 3 +-
arch/arm/plat-samsung/dma-ops.c | 4 +-
drivers/dma/amba-pl08x.c | 2 +-
drivers/dma/at_hdmac.c | 7 ++++-
drivers/dma/coh901318.c | 2 +-
drivers/dma/dw_dmac.c | 2 +-
drivers/dma/ep93xx_dma.c | 6 +++-
drivers/dma/fsldma.c | 4 ++-
drivers/dma/imx-dma.c | 5 ++-
drivers/dma/imx-sdma.c | 5 ++-
drivers/dma/intel_mid_dma.c | 3 +-
drivers/dma/ipu/ipu_idmac.c | 3 +-
drivers/dma/mxs-dma.c | 5 ++-
drivers/dma/pch_dma.c | 3 +-
drivers/dma/pl330.c | 5 ++-
drivers/dma/shdma.c | 3 +-
drivers/dma/sirf-dma.c | 2 +-
drivers/dma/ste_dma40.c | 5 ++-
drivers/dma/timb_dma.c | 3 +-
drivers/dma/txx9dmac.c | 2 +-
drivers/media/video/mx3_camera.c | 2 +-
drivers/media/video/timblogiw.c | 2 +-
drivers/mmc/host/atmel-mci.c | 2 +-
drivers/mmc/host/mmci.c | 2 +-
drivers/mmc/host/mxcmmc.c | 2 +-
drivers/mmc/host/mxs-mmc.c | 2 +-
drivers/mmc/host/sh_mmcif.c | 4 +-
drivers/mmc/host/tmio_mmc_dma.c | 4 +-
drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 25 ++++++++++-------------
drivers/net/ethernet/micrel/ks8842.c | 4 +-
drivers/spi/spi-dw-mid.c | 4 +-
drivers/spi/spi-ep93xx.c | 4 +-
drivers/spi/spi-pl022.c | 4 +-
drivers/spi/spi-topcliff-pch.c | 4 +-
drivers/tty/serial/amba-pl011.c | 6 +---
drivers/tty/serial/pch_uart.c | 4 +-
drivers/tty/serial/sh-sci.c | 4 +-
drivers/usb/musb/ux500_dma.c | 3 +-
drivers/usb/renesas_usbhs/fifo.c | 5 +--
drivers/video/mx3fb.c | 4 +-
include/linux/dmaengine.h | 24 ++++++++++++++++++++--
sound/soc/ep93xx/ep93xx-pcm.c | 3 +-
sound/soc/imx/imx-pcm-dma-mx2.c | 2 +-
sound/soc/mxs/mxs-pcm.c | 2 +-
sound/soc/sh/siu_pcm.c | 4 +-
sound/soc/txx9/txx9aclc.c | 2 +-
46 files changed, 114 insertions(+), 88 deletions(-)

--
1.7.8.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/