Changes since v3:
        - Change api name to dma_get_slave_sg_limits() to avoid
          confusion with h/w caps which are static.

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_limits(), which
may be used by a client driver to get slave SG transfer limits 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_limits() in the EDMA DMA Engine driver and converts the
davinci_mmc driver to use dma_get_slave_sg_limits() to replace hardcoded
limits.

This is tested on the AM1808-EVM.

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

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

-- 
1.7.9.5

_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to