23 Jul, 2013

1 commit

  • On platforms with no support for the shdma dmaengine driver build is
    currently failing with

    drivers/built-in.o: In function `sh_mobile_sdhi_probe':
    drivers/mmc/host/sh_mobile_sdhi.c:170: undefined reference to`shdma_chan_filter'

    Fix the breakage by defining shdma_chan_filter to NULL in such
    configurations.

    Signed-off-by: Guennadi Liakhovetski
    [horms+renesas@verge.net.au: Apply change to shdma-base.h instead of sh_dma.h]
    Signed-off-by: Simon Horman
    Signed-off-by: Olof Johansson

    Guennadi Liakhovetski
     

05 Jul, 2013

2 commits

  • This patch adds Device Tree support to the shdma driver. No special DT
    properties are used, only standard DMA DT bindings are implemented. Since
    shdma controllers reside on SoCs, their configuration is SoC-specific and
    shall be passed to the driver from the SoC platform data, using the
    auxdata procedure.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Arnd Bergmann
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski
     
  • shdma_chan_filter() is a function, provided by the shdma-base.c module,
    move its declaration to the appropriate header.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski
     

01 Aug, 2012

1 commit


20 Jul, 2012

3 commits

  • This patch extends the sh dmaengine driver to support the preferred channel
    selection and configuration method, instead of using the "private" field
    from struct dma_chan. We add a standard filter function to be used by
    slave drivers instead of implementing their own ones, and add support for
    the DMA_SLAVE_CONFIG control operation, which must accompany the new
    channel selection method. We still support the legacy .private channel
    allocation method to cater for a smooth driver migration.

    Signed-off-by: Guennadi Liakhovetski
    [applied a trvial checkpath fix]
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski
     
  • Initially struct shdma_slave has been introduced with the only member - an
    unsigned slave ID - to describe common properties of DMA slaves in an
    extensible way. However, experience shows, that a slave ID is indeed the
    only parameter, needed to identify DMA slaves. This is also, what is used
    by the core dmaengine API in struct dma_slave_config. We switch to using
    the slave_id directly, instead of passing a pointer to struct shdma_slave
    to improve compatibility with the core. We also make the slave_id signed
    for easier error checking.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski
     
  • Using struct dma_chan::private is deprecated. To update the shdma driver to
    stop using it we first have to eliminate internal runtime uses of it. After
    that we will also be able to stop using it for channel configuration.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski
     

13 Jul, 2012

1 commit

  • This patch extracts code from shdma.c, that does not directly deal with
    hardware implementation details and can be re-used with diverse DMA
    controller variants, found on SH-based SoCs.

    Signed-off-by: Guennadi Liakhovetski
    Cc: Sascha Hauer
    Signed-off-by: Vinod Koul

    Guennadi Liakhovetski