diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2015-05-27 16:01:53 +0200 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2015-06-12 14:43:36 +0200 |
commit | 5abecfa5e969722ab85a173168cae9e0f4cedbfc (patch) | |
tree | 66f0c7e81c30a9cc80193541cecabab15345c435 /drivers/dma/at_hdmac_regs.h | |
parent | dmaengine: Move icg helpers to global header (diff) | |
download | linux-5abecfa5e969722ab85a173168cae9e0f4cedbfc.tar.xz linux-5abecfa5e969722ab85a173168cae9e0f4cedbfc.zip |
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>
Diffstat (limited to 'drivers/dma/at_hdmac_regs.h')
-rw-r--r-- | drivers/dma/at_hdmac_regs.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h index 2727ca560572..bc8d5ebedd19 100644 --- a/drivers/dma/at_hdmac_regs.h +++ b/drivers/dma/at_hdmac_regs.h @@ -196,6 +196,11 @@ struct at_desc { size_t len; u32 tx_width; size_t total_len; + + /* Interleaved data */ + size_t boundary; + size_t dst_hole; + size_t src_hole; }; static inline struct at_desc * |