28 Sep, 2011

1 commit

  • Currently the shdma dmaengine driver uses runtime PM to save power, when
    no channel on the specific controller is requested by a user. This patch
    switches the driver to count individual DMA transfers. That way the
    controller can be powered down between transfers, even if some of its
    channels are in use.

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

    Guennadi Liakhovetski
     

21 Jun, 2011

2 commits


16 Jun, 2011

1 commit


25 May, 2011

1 commit


23 May, 2011

1 commit


17 Dec, 2010

1 commit

  • Presently DMA transfers are interrupted and aborted by the NMI. This
    implements some basic logic for more gracefully handling and clearing
    each controller's NMIF flag via the NMI die chain, needed to resume
    transfers post-NMI.

    Reported-by: Michael Szafranek
    Signed-off-by: Paul Mundt

    Paul Mundt
     

23 Mar, 2010

2 commits

  • Create a common platform data header file for the
    shdma dmaengine driver. This is done by moving
    common structures from sh asm/dmaengine.h to
    linux/sh_dma.h. DMA registers are also copied from
    sh asm/dma-register.h to make the code architecture
    independent.

    The sh header file asm/dmaengine.h is still kept
    with the slave id enum. This allows us to keep the
    old processor specific code as is and slowly move
    over to slave id enums in per-processor headers.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Move SHDMA_SLAVE_NUMBER from asm/dmaengine.h to
    shdma.h. Set it to 256 to support a wide range
    of processors. The amount of memory consumed by
    this change is limited to 256 bits.

    While at it, rename to SH_DMA_SLAVE_NUMBER to
    match with the rest of the file.

    Signed-off-by: Magnus Damm
    Acked-by: Guennadi Liakhovetski
    Signed-off-by: Paul Mundt

    Magnus Damm
     

02 Mar, 2010

3 commits


08 Feb, 2010

1 commit


18 Dec, 2009

1 commit

  • The SH DMA driver wrongly assigns negative cookies to transfer descriptors,
    also, its chaining of partial descriptors is broken. The latter problem is
    usually invisible, because maximum transfer size per chunk is 16M, but if you
    artificially set this limit lower, the driver fails. Since cookies are also
    used in chunk management, both these problems are fixed in one patch. As side
    effects a possible memory leak, when descriptors are prepared, but not
    submitted, and multiple races have also been fixed.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Paul Mundt
    Acked-by: Nobuhiro Iwamatsu
    Signed-off-by: Dan Williams

    Guennadi Liakhovetski
     

11 Dec, 2009

1 commit


09 Sep, 2009

1 commit