dmaengine: hdmac: Implement interleaved transfers
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Wed, 27 May 2015 14:01:53 +0000 (16:01 +0200)
committerVinod Koul <vinod.koul@intel.com>
Fri, 12 Jun 2015 12:43:36 +0000 (18:13 +0530)
commit5abecfa5e969722ab85a173168cae9e0f4cedbfc
tree66f0c7e81c30a9cc80193541cecabab15345c435
parent87d001ef5366c4a24f7a1340246c4ce68190581c
dmaengine: hdmac: Implement interleaved transfers

The AT91 HDMAC controller supports interleaved transfers through what's
called the Picture-in-Picture mode, which allows to transfer a squared
portion of a framebuffer.

This means that this interleaved transfer only supports interleaved
transfers which have a transfer size and ICGs that are fixed across all the
chunks.

While this is a quite drastic restriction of the interleaved transfers
compared to what the dmaengine API allows, this is still useful, and our
driver will only reject transfers that do not conform to this.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/at_hdmac.c
drivers/dma/at_hdmac_regs.h