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