[PATCH v3 0/3] dmaengine: add slave sg transfer capabilities api

Matt Porter
2013-02-04T19:46:26Z

Changes since v2:
- Change to a separate slave sg specific api. Drop the
generic per-channel capabilities api that is not used.

Changes since v1:
- Use the existing dma_transaction_type enums instead of
adding the mostly duplicated dmaengine_apis enums

This series adds a new dmaengine api, dma_get_slave_sg_caps(), which
may be used by a client driver to get slave SG transfer capabilities
for a particular channel. At this time, these include the max number
of segments and max length of a segment that a channel can handle for
a SG transfer.

Along with the API implementation, this series implements the backend
device_slave_sg_caps() in the EDMA DMA Engine driver and converts the
davinci_mmc driver to use dma_get_slave_sg_caps() to replace hardcoded
limits.

This is tested on the AM1808-EVM.

Matt Porter (3):
dmaengine: add dma_get_slave_sg_caps()
dma: edma: add device_slave_sg_caps() support
mmc: davinci: get SG segment limits with dma_get_slave_sg_caps()

drivers/dma/edma.c | 17 ++++++++++++
drivers/mmc/host/davinci_mmc.c | 37 ++++++++------------------
include/linux/dmaengine.h | 40 +++++++++++++++++++++++++++++
include/linux/platform_data/mmc-davinci.h | 3 ---
4 files changed, 67 insertions(+), 30 deletions(-)

--
1.7.9.5